diff options
author | Serguei Katkov <serguei.katkov@azul.com> | 2018-02-09 07:59:07 +0000 |
---|---|---|
committer | Serguei Katkov <serguei.katkov@azul.com> | 2018-02-09 07:59:07 +0000 |
commit | 3cb4c34a4e8034aa9270ffc5a93aa31b2b8160d9 (patch) | |
tree | 5dc497a4ee55db837dfff1ff9f32d9f541bab019 /llvm/lib/IR/Instructions.cpp | |
parent | 3dc44a66afb6c857f75f8b1f83b2caf457c777c1 (diff) | |
download | bcm5719-llvm-3cb4c34a4e8034aa9270ffc5a93aa31b2b8160d9.tar.gz bcm5719-llvm-3cb4c34a4e8034aa9270ffc5a93aa31b2b8160d9.zip |
Rename and move utility function getLatchPredicateForGuard. NFC.
Rename getLatchPredicateForGuard to more common name
getFlippedStrictnessPredicate and move it to ICmpInst class.
llvm-svn: 324717
Diffstat (limited to 'llvm/lib/IR/Instructions.cpp')
-rw-r--r-- | llvm/lib/IR/Instructions.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/lib/IR/Instructions.cpp b/llvm/lib/IR/Instructions.cpp index 7fa4b06c566..8088dcac98a 100644 --- a/llvm/lib/IR/Instructions.cpp +++ b/llvm/lib/IR/Instructions.cpp @@ -3437,6 +3437,29 @@ ICmpInst::Predicate ICmpInst::getUnsignedPredicate(Predicate pred) { } } +CmpInst::Predicate CmpInst::getFlippedStrictnessPredicate(Predicate pred) { + switch (pred) { + default: llvm_unreachable("Unknown or unsupported cmp predicate!"); + case ICMP_SGT: return ICMP_SGE; + case ICMP_SLT: return ICMP_SLE; + case ICMP_SGE: return ICMP_SGT; + case ICMP_SLE: return ICMP_SLT; + case ICMP_UGT: return ICMP_UGE; + case ICMP_ULT: return ICMP_ULE; + case ICMP_UGE: return ICMP_UGT; + case ICMP_ULE: return ICMP_ULT; + + case FCMP_OGT: return FCMP_OGE; + case FCMP_OLT: return FCMP_OLE; + case FCMP_OGE: return FCMP_OGT; + case FCMP_OLE: return FCMP_OLT; + case FCMP_UGT: return FCMP_UGE; + case FCMP_ULT: return FCMP_ULE; + case FCMP_UGE: return FCMP_UGT; + case FCMP_ULE: return FCMP_ULT; + } +} + CmpInst::Predicate CmpInst::getSwappedPredicate(Predicate pred) { switch (pred) { default: llvm_unreachable("Unknown cmp predicate!"); |