aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorNemanja Ivanovic <nemanja.i.ibm@gmail.com>2021-02-09 06:33:48 -0600
committerNemanja Ivanovic <nemanja.i.ibm@gmail.com>2021-02-09 06:33:48 -0600
commita5222aa0858a42660629c410a5b669dee16a4359 (patch)
tree71662cb1ec53698b144480acbe6657127271e7ce /clang/lib/Frontend/CompilerInvocation.cpp
parentf6e4b9fc060a7d8324350ce55bcf1a9a59b06997 (diff)
downloadllvm-a5222aa0858a42660629c410a5b669dee16a4359.zip
llvm-a5222aa0858a42660629c410a5b669dee16a4359.tar.gz
llvm-a5222aa0858a42660629c410a5b669dee16a4359.tar.bz2
[DAGCombine] Do not remove masking argument to FP16_TO_FP for some targets
As of commit 284f2bffc9bc5, the DAG Combiner gets rid of the masking of the input to this node if the mask only keeps the bottom 16 bits. This is because the underlying library function does not use the high order bits. However, on PowerPC's ELFv2 ABI, it is the caller that is responsible for clearing the bits from the register. Therefore, the library implementation of __gnu_h2f_ieee will return an incorrect result if the bits aren't cleared. This combine is desired for ARM (and possibly other targets) so this patch adds a query to Target Lowering to check if this zeroing needs to be kept. Fixes: https://bugs.llvm.org/show_bug.cgi?id=49092 Differential revision: https://reviews.llvm.org/D96283
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions