diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-12-04 11:21:30 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-12-04 11:21:30 +0000 |
commit | 0add090e24b522e2d24bf196f47230126b2f9438 (patch) | |
tree | cbae8f6fee65ca2340dcebbb891011d669ea8326 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | eecf48785b03c5e5b5af606f0da0026553c37a62 (diff) | |
download | llvm-0add090e24b522e2d24bf196f47230126b2f9438.zip llvm-0add090e24b522e2d24bf196f47230126b2f9438.tar.gz llvm-0add090e24b522e2d24bf196f47230126b2f9438.tar.bz2 |
[TargetLowering] expandFP_TO_UINT - avoid FPE due to out of range conversion (PR17686)
PR17686 demonstrates that for some targets FP exceptions can fire in cases where the FP_TO_UINT is expanded using a FP_TO_SINT instruction.
The existing code converts both the inrange and outofrange cases using FP_TO_SINT and then selects the result, this patch changes this for 'strict' cases to pre-select the FP_TO_SINT input and the offset adjustment.
The X87 cases don't need the strict flag but generates much nicer code with it....
Differential Revision: https://reviews.llvm.org/D53794
llvm-svn: 348251
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions