summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/default-constructor
diff options
context:
space:
mode:
authorSjoerd Meijer <sjoerd.meijer@arm.com>2018-06-20 09:49:40 +0000
committerSjoerd Meijer <sjoerd.meijer@arm.com>2018-06-20 09:49:40 +0000
commit5c4c998a548d8e0eb9ea6d7bb611502548f3bc39 (patch)
tree3c24e358b8cc5d10f1fae517275c12f87d81f4ce /lldb/packages/Python/lldbsuite/test/python_api/default-constructor
parentb7ac03779763a272afe83a497e1a7255078d4a81 (diff)
downloadbcm5719-llvm-5c4c998a548d8e0eb9ea6d7bb611502548f3bc39.tar.gz
bcm5719-llvm-5c4c998a548d8e0eb9ea6d7bb611502548f3bc39.zip
[SPIR] Prevent SPIR targets from using half conversion intrinsics
The SPIR target currently allows for half precision floating point types to be emitted using the LLVM intrinsic functions which convert half types to floats and doubles. However, this is illegal in SPIR as the only intrinsic allowed by SPIR is memcpy, as per section 3 of the SPIR specification. Currently this is leading to an assert being hit in the Clang CodeGen when attempting to emit a constant or literal _Float16 type in a comparison operation on a SPIR or SPIR64 target. This assert stems from the CodeGen attempting to emit a constant half value as an integer because the backend has specified that it is using these half conversion intrinsics (which represents half as i16). This patch prevents SPIR targets from using these intrinsics by overloading the responsible target info method, marks SPIR targets as having a legal half type and provides additional regression testing for the _Float16 type on SPIR targets. Patch by: Stephen McGroarty Differential Revision: https://reviews.llvm.org/D48188 llvm-svn: 335111
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/default-constructor')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud