summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/StreamingMemoryObject.cpp
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed.bougacha@gmail.com>2015-03-23 17:54:16 +0000
committerAhmed Bougacha <ahmed.bougacha@gmail.com>2015-03-23 17:54:16 +0000
commitd1801afeac1b125656878d85d04686f9579da31f (patch)
treebd0d38455e4763b51821368794dfd4c7ccebfb27 /llvm/lib/Support/StreamingMemoryObject.cpp
parent4c276fb4cc63626bfcfde0af9d2cc97545f38af6 (diff)
downloadbcm5719-llvm-d1801afeac1b125656878d85d04686f9579da31f.tar.gz
bcm5719-llvm-d1801afeac1b125656878d85d04686f9579da31f.zip
[CodeGen] Properly support the half FP type with non-native operations.
On AArch64, the -fallow-half-args-and-returns option is the default. With it, the half type is considered legal (rather than the i16 used normally for __fp16), but no operation is, except conversions and load/stores and such. The previous behavior was tantamount to saying LangOpts.NativeHalfType was implied by LangOpts.HalfArgsAndReturns, which isn't true. Instead, teach the various parts of CodeGen that already know about half (using the intrinsics or not) about this weird in-between case, where the "half" type is legal, but operations on it aren't. This is a smaller intermediate step to the end-goal of removing the intrinsic, always using "half", and letting the backend legalize. Builds on r232968. rdar://20045970, rdar://17468714 Differential Revision: http://reviews.llvm.org/D8367 llvm-svn: 232971
Diffstat (limited to 'llvm/lib/Support/StreamingMemoryObject.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud