Refactor to expose RTLIB calls to targets.
authorTim Northover <Tim.Northover@arm.com>
Wed, 9 Jan 2013 13:18:15 +0000 (13:18 +0000)
committerTim Northover <Tim.Northover@arm.com>
Wed, 9 Jan 2013 13:18:15 +0000 (13:18 +0000)
commit2c8cf4b404e549482f593f62f9e27e0bab4a8b3f
tree775d22e96f6e961c3a7f91e80a3f0f1b0b1ede9b
parentb1349fa3c52f328896a4182a8e7b90bce75f1e1e
Refactor to expose RTLIB calls to targets.

fp128 is almost but not quite completely illegal as a type on AArch64. As a
result it needs to have a register class (for argument passing mainly), but all
operations need to be lowered to runtime calls. Currently there's no way for
targets to do this (without duplicating code), as the relevant functions are
hidden in SelectionDAG. This patch changes that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171971 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetLowering.h
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeTypes.h
lib/CodeGen/SelectionDAG/TargetLowering.cpp