diff options
| author | Dinesh Dwivedi <dinesh.d@samsung.com> | 2014-06-06 06:54:45 +0000 |
|---|---|---|
| committer | Dinesh Dwivedi <dinesh.d@samsung.com> | 2014-06-06 06:54:45 +0000 |
| commit | 3217b6c66195ba593c9caa428c1c911f85998f00 (patch) | |
| tree | b8d79e9e2c10cd82414cfe7dc2b5251b797c0c12 /llvm/lib/Transforms/InstCombine/InstCombine.h | |
| parent | 6ae079ee4ae0b33c393de1b2a16e70d2ae57a35a (diff) | |
| download | bcm5719-llvm-3217b6c66195ba593c9caa428c1c911f85998f00.tar.gz bcm5719-llvm-3217b6c66195ba593c9caa428c1c911f85998f00.zip | |
Added select flavour for ABS and NEG(ABS)
This patch can identify
ABS(X) ==> (X >s 0) ? X : -X and (X >s -1) ? X : -X
ABS(X) ==> (X <s 0) ? -X : X and (X <s 1) ? -X : X
NABS(X) ==> (X >s 0) ? -X : X and (X >s -1) ? -X : X
NABS(X) ==> (X <s 0) ? X : -X and (X <s 1) ? X : -X
and can transform
ABS(ABS(X)) -> ABS(X)
NABS(NABS(X)) -> NABS(X)
Differential Revision: http://reviews.llvm.org/D3658
llvm-svn: 210312
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombine.h')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombine.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombine.h b/llvm/lib/Transforms/InstCombine/InstCombine.h index e04b1be53df..ea1839c3bcf 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombine.h +++ b/llvm/lib/Transforms/InstCombine/InstCombine.h @@ -37,8 +37,9 @@ enum SelectPatternFlavor { SPF_SMIN, SPF_UMIN, SPF_SMAX, - SPF_UMAX - // SPF_ABS - TODO. + SPF_UMAX, + SPF_ABS, + SPF_NABS }; /// getComplexity: Assign a complexity or rank value to LLVM Values... |

