diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2015-10-08 17:09:31 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2015-10-08 17:09:31 +0000 |
| commit | f61a08fbf106139b6bea1a6e532d8c43e9e67b56 (patch) | |
| tree | 86be8c99a3f464263738e92ba1345c14e9726095 /clang/lib/Driver | |
| parent | 9115cf8c9dc23e3a9bd0e915f426b4fc694cd133 (diff) | |
| download | bcm5719-llvm-f61a08fbf106139b6bea1a6e532d8c43e9e67b56.tar.gz bcm5719-llvm-f61a08fbf106139b6bea1a6e532d8c43e9e67b56.zip | |
[InstCombine] transform masking off of an FP sign bit into a fabs() intrinsic call (PR24886)
This is a partial fix for PR24886:
https://llvm.org/bugs/show_bug.cgi?id=24886
Without this IR transform, the backend (x86 at least) was producing inefficient code.
This patch is making 2 assumptions:
1. The canonical form of a fabs() operation is, in fact, the LLVM fabs() intrinsic.
2. The high bit of an FP value is always the sign bit; as noted in the bug report, this isn't specified by the LangRef.
Differential Revision: http://reviews.llvm.org/D13076
llvm-svn: 249702
Diffstat (limited to 'clang/lib/Driver')
0 files changed, 0 insertions, 0 deletions

