|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
include/llvm/IR/Instructions.h 1152 class ICmpInst: public CmpInst {
1294 class FCmpInst: public CmpInst {
Declarations
include/llvm/Transforms/Scalar/JumpThreading.h 35 class CmpInst;
include/llvm/Transforms/Vectorize/SLPVectorizer.h 32 class CmpInst;
References
gen/lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc15870 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
15884 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
15898 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
15912 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
15926 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
15940 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15954 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
15968 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
15982 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15996 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
16016 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
16029 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
16042 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
16055 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
16075 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
16088 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
16101 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
16114 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
16138 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
16151 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
16164 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
16177 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
16190 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
16203 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
16223 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
16236 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
16249 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
16262 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
16275 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
16288 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
16320 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLT,
16339 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OEQ,
16358 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLE,
16377 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OGT,
16396 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ONE,
16415 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OGE,
16434 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
16453 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
16472 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULT,
16491 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UEQ,
16510 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULE,
16529 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UGT,
16548 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNE,
16567 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UGE,
16592 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLT,
16610 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OEQ,
16628 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLE,
16646 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OGT,
16664 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ONE,
16682 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OGE,
16700 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
16718 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
16736 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULT,
16754 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UEQ,
16772 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULE,
16790 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UGT,
16808 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNE,
16826 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UGE,
16851 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLT,
16869 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OEQ,
16887 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLE,
16905 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OGT,
16923 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ONE,
16941 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OGE,
16959 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
16977 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
16995 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULT,
17013 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UEQ,
17031 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULE,
17049 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UGT,
17067 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNE,
17085 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UGE,
gen/lib/Target/Mips/MipsGenGlobalISel.inc12786 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
12807 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
13598 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
13614 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
13637 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
13653 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
13680 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
13697 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
13725 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
13742 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
13759 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
13776 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
13799 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
13815 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
13842 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
13858 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
13874 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
13896 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
13918 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
13940 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
13962 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
13978 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
13994 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
14016 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
14045 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
14067 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
14089 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
14111 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
14133 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
14149 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
14165 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
14187 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
14217 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
14240 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
14268 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
14285 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
14313 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
14330 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
14358 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
14386 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
14403 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
14431 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
14448 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
14471 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
14494 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
14517 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
14540 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
14557 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
14574 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
14597 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
14634 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
14650 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OEQ,
14666 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UEQ,
14682 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLT,
14698 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULT,
14714 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLE,
14730 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULE,
14753 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
14769 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OEQ,
14785 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UEQ,
14801 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLT,
14817 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULT,
14833 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLE,
14849 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULE,
14876 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
14892 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OEQ,
14908 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UEQ,
14924 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLT,
14940 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULT,
14956 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLE,
14972 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULE,
14995 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
15011 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OEQ,
15027 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UEQ,
15043 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLT,
15059 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULT,
15075 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_OLE,
15091 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ULE,
15118 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ONE,
15138 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
15158 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNE,
15185 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ONE,
15205 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
15225 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNE,
15256 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ONE,
15276 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
15296 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNE,
15323 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ONE,
15343 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
15363 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNE,
15403 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15431 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15459 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15487 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15515 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15543 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15571 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15599 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15627 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15655 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15683 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15711 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15739 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15767 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15795 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
15823 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
15851 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
15885 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
15919 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
15953 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
15987 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
16021 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
16055 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
16089 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
16123 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
16157 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
16191 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
16225 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
16259 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
16293 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
16327 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
16361 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
16395 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
16429 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
16463 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
16497 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
16531 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
16565 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
16599 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
16633 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
16667 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
16696 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
16725 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
16754 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
16783 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
16812 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
16841 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
16870 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
16899 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
16933 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
16967 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
17001 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
17035 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
17069 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
17103 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
17137 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
17171 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
17205 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
17239 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
17273 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
17307 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
17341 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
17375 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
17409 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
17443 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
17477 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
17799 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
17827 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
17855 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
17883 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
17911 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
17939 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
17967 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
17995 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
18023 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
18051 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
18079 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
18107 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
18135 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
18169 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
18203 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
18237 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
18271 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
18305 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
18339 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
18373 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
18407 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
18441 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
18475 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
18509 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
18543 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
18577 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
18611 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
18645 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
18679 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
18713 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
18747 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
18781 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
18815 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
18849 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
18883 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
18917 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
18951 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
18985 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
19019 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
19053 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
19087 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
19121 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
19155 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
19189 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
19223 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
19257 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
19291 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
19325 GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
gen/lib/Target/RISCV/RISCVGenGlobalISel.inc10071 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10086 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10101 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10116 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10131 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
10151 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
10171 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
10191 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
10211 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10237 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10263 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10289 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10315 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
10330 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
10345 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
10360 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
10375 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10396 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10417 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10438 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10459 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
10474 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
10489 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
10510 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
10531 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
10552 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
10573 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
10588 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
10603 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
10624 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
10645 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
10666 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
10695 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10710 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10725 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
10745 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
10765 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10791 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10817 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLT,
10832 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULT,
10847 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_EQ,
10868 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_NE,
10889 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGT,
10904 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_UGE,
10925 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_ULE,
10946 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGT,
10961 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SGE,
10982 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::ICMP_SLE,
11017 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
11048 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
11079 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
11116 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
11153 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
11184 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
11215 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
11252 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
11291 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
11322 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
11359 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_ORD,
11390 GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/CmpInst::FCMP_UNO,
include/llvm/Analysis/CmpInstAnalysis.h 55 CmpInst::Predicate &Pred);
59 bool predicatesFoldable(CmpInst::Predicate P1, CmpInst::Predicate P2);
59 bool predicatesFoldable(CmpInst::Predicate P1, CmpInst::Predicate P2);
64 bool decomposeBitTestICmp(Value *LHS, Value *RHS, CmpInst::Predicate &Pred,
include/llvm/Analysis/LoopUnrollAnalyzer.h 90 bool visitCmpInst(CmpInst &I);
include/llvm/Analysis/TargetFolder.h 228 Constant *CreateICmp(CmpInst::Predicate P, Constant *LHS,
232 Constant *CreateFCmp(CmpInst::Predicate P, Constant *LHS,
include/llvm/Analysis/ValueLattice.h 293 Constant *getCompare(CmpInst::Predicate Pred, Type *Ty,
311 CmpInst::getInversePredicate(Pred), OtherCR)
include/llvm/Analysis/ValueTracking.h 637 CmpInst *CmpI, Value *TrueVal, Value *FalseVal, Value *&LHS, Value *&RHS,
642 CmpInst::Predicate getMinMaxPred(SelectPatternFlavor SPF,
651 CmpInst::Predicate getInverseMinMaxPred(SelectPatternFlavor SPF);
include/llvm/CodeGen/BasicTTIImpl.h 1318 Tys[0], CmpInst::makeCmpResultType(Tys[0]), /*IsPairwiseForm=*/false,
1323 Tys[0], CmpInst::makeCmpResultType(Tys[0]), /*IsPairwiseForm=*/false,
include/llvm/CodeGen/FastISel.h 507 CmpInst::Predicate optimizeCmpPredicate(const CmpInst *CI) const;
507 CmpInst::Predicate optimizeCmpPredicate(const CmpInst *CI) const;
include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h 124 CmpInst::Predicate Pred;
133 SrcOp(const CmpInst::Predicate P) : Pred(P), Ty(SrcType::Ty_Predicate) {}
185 CmpInst::Predicate getPredicate() const {
905 MachineInstrBuilder buildICmp(CmpInst::Predicate Pred, const DstOp &Res,
920 MachineInstrBuilder buildFCmp(CmpInst::Predicate Pred, const DstOp &Res,
include/llvm/CodeGen/MachineInstrBuilder.h 248 const MachineInstrBuilder &addPredicate(CmpInst::Predicate Pred) const {
include/llvm/CodeGen/SwitchLoweringUtils.h 106 CmpInst::Predicate Pred;
148 CaseBlock(CmpInst::Predicate pred, bool nocmp, const Value *cmplhs,
include/llvm/FuzzMutate/Operations.h 39 CmpInst::Predicate Pred);
include/llvm/IR/ConstantFolder.h 235 Constant *CreateICmp(CmpInst::Predicate P, Constant *LHS,
240 Constant *CreateFCmp(CmpInst::Predicate P, Constant *LHS,
include/llvm/IR/ConstantRange.h 103 static ConstantRange makeAllowedICmpRegion(CmpInst::Predicate Pred,
114 static ConstantRange makeSatisfyingICmpRegion(CmpInst::Predicate Pred,
124 static ConstantRange makeExactICmpRegion(CmpInst::Predicate Pred,
156 bool getEquivalentICmp(CmpInst::Predicate &Pred, APInt &RHS) const;
include/llvm/IR/IRBuilder.h 2229 Value *CreateICmp(CmpInst::Predicate P, Value *LHS, Value *RHS,
2237 Value *CreateFCmp(CmpInst::Predicate P, Value *LHS, Value *RHS,
include/llvm/IR/InstVisitor.h 270 RetTy visitCmpInst(CmpInst &I) { DELEGATE(Instruction);}
include/llvm/IR/InstrTypes.h 789 static CmpInst *Create(OtherOps Op,
798 static CmpInst *Create(OtherOps Op, Predicate predicate, Value *S1,
993 struct OperandTraits<CmpInst> : public FixedNumOperandTraits<CmpInst, 2> {
include/llvm/IR/Instructions.h 1152 class ICmpInst: public CmpInst {
1294 class FCmpInst: public CmpInst {
include/llvm/IR/NoFolder.h 299 Instruction *CreateICmp(CmpInst::Predicate P,
304 Instruction *CreateFCmp(CmpInst::Predicate P,
include/llvm/IR/OperandTraits.h 31 static Use *op_begin(SubClass* U) {
33 !std::is_polymorphic<SubClass>::value,
37 static Use *op_end(SubClass* U) {
include/llvm/IR/PatternMatch.h 47 template <typename Val, typename Pattern> bool match(Val *V, const Pattern &P) {
66 template <typename ITy> bool match(ITy *V) { return isa<Class>(V); }
78 inline class_match<CmpInst> m_Cmp() { return class_match<CmpInst>(); }
1132 template <typename OpTy> bool match(OpTy *V) {
1133 if (auto *I = dyn_cast<Class>(V))
1133 if (auto *I = dyn_cast<Class>(V))
1145 inline CmpClass_match<LHS, RHS, CmpInst, CmpInst::Predicate>
1145 inline CmpClass_match<LHS, RHS, CmpInst, CmpInst::Predicate>
1146 m_Cmp(CmpInst::Predicate &Pred, const LHS &L, const RHS &R) {
1147 return CmpClass_match<LHS, RHS, CmpInst, CmpInst::Predicate>(Pred, L, R);
1147 return CmpClass_match<LHS, RHS, CmpInst, CmpInst::Predicate>(Pred, L, R);
1470 return Pred == CmpInst::ICMP_SGT || Pred == CmpInst::ICMP_SGE;
1470 return Pred == CmpInst::ICMP_SGT || Pred == CmpInst::ICMP_SGE;
1477 return Pred == CmpInst::ICMP_SLT || Pred == CmpInst::ICMP_SLE;
1477 return Pred == CmpInst::ICMP_SLT || Pred == CmpInst::ICMP_SLE;
1484 return Pred == CmpInst::ICMP_UGT || Pred == CmpInst::ICMP_UGE;
1484 return Pred == CmpInst::ICMP_UGT || Pred == CmpInst::ICMP_UGE;
1491 return Pred == CmpInst::ICMP_ULT || Pred == CmpInst::ICMP_ULE;
1491 return Pred == CmpInst::ICMP_ULT || Pred == CmpInst::ICMP_ULE;
1498 return Pred == CmpInst::FCMP_OGT || Pred == CmpInst::FCMP_OGE;
1498 return Pred == CmpInst::FCMP_OGT || Pred == CmpInst::FCMP_OGE;
1505 return Pred == CmpInst::FCMP_OLT || Pred == CmpInst::FCMP_OLE;
1505 return Pred == CmpInst::FCMP_OLT || Pred == CmpInst::FCMP_OLE;
1512 return Pred == CmpInst::FCMP_UGT || Pred == CmpInst::FCMP_UGE;
1512 return Pred == CmpInst::FCMP_UGT || Pred == CmpInst::FCMP_UGE;
1519 return Pred == CmpInst::FCMP_ULT || Pred == CmpInst::FCMP_ULE;
1519 return Pred == CmpInst::FCMP_ULT || Pred == CmpInst::FCMP_ULE;
1620 template <typename OpTy> bool match(OpTy *V) {
include/llvm/IR/User.h 127 template <int Idx, typename U> static Use &OpFrom(const U *that) {
129 ? OperandTraits<U>::op_end(const_cast<U*>(that))[Idx]
130 : OperandTraits<U>::op_begin(const_cast<U*>(that))[Idx];
include/llvm/Support/Casting.h 34 using SimpleType = From; // The real type this represents...
37 static SimpleType &getSimplifiedValue(From &Val) { return Val; }
41 using NonConstSimpleType = typename simplify_type<From>::SimpleType;
47 static RetType getSimplifiedValue(const From& Val) {
57 static inline bool doit(const From &Val) {
58 return To::classof(&Val);
76 static inline bool doit(const From &Val) {
77 return isa_impl<To, From>::doit(Val);
77 return isa_impl<To, From>::doit(Val);
92 return isa_impl<To, From>::doit(*Val);
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
142 return isa_impl_wrap<X, const Y,
142 return isa_impl_wrap<X, const Y,
143 typename simplify_type<const Y>::SimpleType>::doit(Val);
165 using ret_type = To &; // Normal case, return Ty&
168 using ret_type = const To &; // Normal case, return Ty&
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
218 static typename cast_retty<To, From>::ret_type doit(From &Val) {
219 return cast_convert_val<To, SimpleFrom,
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
248 typename cast_retty<X, const Y>::ret_type>::type
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
258 return cast_convert_val<X, Y,
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
331 typename cast_retty<X, const Y>::ret_type>::type
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/type_traits.h 55 struct add_const_past_pointer { using type = const T; };
include/llvm/Transforms/Scalar/GVN.h 117 Expression createCmpExpr(unsigned Opcode, CmpInst::Predicate Predicate,
136 uint32_t lookupOrAddCmp(unsigned Opcode, CmpInst::Predicate Pred,
include/llvm/Transforms/Scalar/JumpThreading.h 144 bool TryToUnfoldSelect(CmpInst *CondCmp, BasicBlock *BB);
include/llvm/Transforms/Vectorize/SLPVectorizer.h 129 bool vectorizeCmpInst(CmpInst *CI, BasicBlock *BB, slpvectorizer::BoUpSLP &R);
lib/Analysis/AssumptionCache.cpp 81 CmpInst::Predicate Pred;
lib/Analysis/BranchProbabilityInfo.cpp 497 CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition());
497 CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition());
710 case CmpInst::ICMP_EQ:
713 case CmpInst::ICMP_NE:
721 case CmpInst::ICMP_EQ:
725 case CmpInst::ICMP_NE:
729 case CmpInst::ICMP_SLT:
733 case CmpInst::ICMP_SGT:
740 } else if (CV->isOne() && CI->getPredicate() == CmpInst::ICMP_SLT) {
746 case CmpInst::ICMP_EQ:
750 case CmpInst::ICMP_NE:
754 case CmpInst::ICMP_SGT:
lib/Analysis/CFLGraph.h 606 return !isa<CmpInst>(Inst) && !isa<FenceInst>(Inst) &&
lib/Analysis/CmpInstAnalysis.cpp 43 CmpInst::Predicate &Pred) {
47 return ConstantInt::get(CmpInst::makeCmpResultType(OpTy), 0);
55 return ConstantInt::get(CmpInst::makeCmpResultType(OpTy), 1);
61 return (CmpInst::isSigned(P1) == CmpInst::isSigned(P2)) ||
61 return (CmpInst::isSigned(P1) == CmpInst::isSigned(P2)) ||
62 (CmpInst::isSigned(P1) && ICmpInst::isEquality(P2)) ||
63 (CmpInst::isSigned(P2) && ICmpInst::isEquality(P1));
67 CmpInst::Predicate &Pred,
lib/Analysis/ConstantFolding.cpp 1166 if (const auto *CI = dyn_cast<CmpInst>(I))
1166 if (const auto *CI = dyn_cast<CmpInst>(I))
lib/Analysis/DependenceAnalysis.cpp 451 if (isKnownPredicate(CmpInst::ICMP_EQ, X->getD(), Y->getD()))
453 if (isKnownPredicate(CmpInst::ICMP_NE, X->getD(), Y->getD())) {
480 if (isKnownPredicate(CmpInst::ICMP_EQ, Prod1, Prod2)) {
485 if (isKnownPredicate(CmpInst::ICMP_EQ, Prod1, Prod2))
487 if (isKnownPredicate(CmpInst::ICMP_NE, Prod1, Prod2)) {
494 if (isKnownPredicate(CmpInst::ICMP_NE, Prod1, Prod2)) {
566 if (isKnownPredicate(CmpInst::ICMP_EQ, Sum, Y->getC()))
568 if (isKnownPredicate(CmpInst::ICMP_NE, Sum, Y->getC())) {
969 if (Pred == CmpInst::ICMP_EQ ||
970 Pred == CmpInst::ICMP_NE) {
994 case CmpInst::ICMP_EQ:
996 case CmpInst::ICMP_NE:
998 case CmpInst::ICMP_SGE:
1000 case CmpInst::ICMP_SLE:
1002 case CmpInst::ICMP_SGT:
1004 case CmpInst::ICMP_SLT:
1104 if (isKnownPredicate(CmpInst::ICMP_EQ, Src, Dst)) {
1108 if (isKnownPredicate(CmpInst::ICMP_NE, Src, Dst)) {
1174 if (isKnownPredicate(CmpInst::ICMP_SGT, AbsDelta, Product)) {
1350 if (isKnownPredicate(CmpInst::ICMP_SGT, Delta, ML)) {
1356 if (isKnownPredicate(CmpInst::ICMP_EQ, Delta, ML)) {
1723 if (isKnownPredicate(CmpInst::ICMP_EQ, SrcConst, DstConst)) {
1745 if (isKnownPredicate(CmpInst::ICMP_SGT, NewDelta, Product)) {
1750 if (isKnownPredicate(CmpInst::ICMP_EQ, NewDelta, Product)) {
1832 if (isKnownPredicate(CmpInst::ICMP_EQ, DstConst, SrcConst)) {
1854 if (isKnownPredicate(CmpInst::ICMP_SGT, NewDelta, Product)) {
1859 if (isKnownPredicate(CmpInst::ICMP_EQ, NewDelta, Product)) {
2064 if (isKnownPredicate(CmpInst::ICMP_SGT, C2_C1, A1N1)) {
2073 if (isKnownPredicate(CmpInst::ICMP_SLT, A2N2, C1_C2)) {
2087 if (isKnownPredicate(CmpInst::ICMP_SGT, C2_C1, A1N1_A2N2)) {
2108 if (isKnownPredicate(CmpInst::ICMP_SGT, A1N1_A2N2, C2_C1)) {
2125 if (isKnownPredicate(CmpInst::ICMP_SGT, A1N1, C2_C1)) {
2134 if (isKnownPredicate(CmpInst::ICMP_SLT, C1_C2, A2N2)) {
2721 if (isKnownPredicate(CmpInst::ICMP_SGT, LowerBound, Delta))
2724 if (isKnownPredicate(CmpInst::ICMP_SGT, Delta, UpperBound))
2759 if (isKnownPredicate(CmpInst::ICMP_EQ, A[K].NegPart, B[K].PosPart))
2762 if (isKnownPredicate(CmpInst::ICMP_EQ, A[K].PosPart, B[K].NegPart))
3157 else if (isKnownPredicate(CmpInst::ICMP_EQ, A, B)) {
3239 if (!isKnownPredicate(CmpInst::ICMP_NE,
3244 if (!isKnownPredicate(CmpInst::ICMP_SLE,
3249 if (!isKnownPredicate(CmpInst::ICMP_SGE,
lib/Analysis/IVDescriptors.cpp 525 CmpInst *CI = dyn_cast<CmpInst>(SI->getCondition());
525 CmpInst *CI = dyn_cast<CmpInst>(SI->getCondition());
lib/Analysis/InlineCost.cpp 273 bool visitCmpInst(CmpInst &I);
982 bool CallAnalyzer::visitCmpInst(CmpInst &I) {
1017 bool IsNotEqual = I.getPredicate() == CmpInst::ICMP_NE;
lib/Analysis/InstructionSimplify.cpp 80 CmpInst::Predicate ExpectedPred, Pred1, Pred2;
127 static bool isSameCompare(Value *V, CmpInst::Predicate Pred, Value *LHS,
129 CmpInst *Cmp = dyn_cast<CmpInst>(V);
129 CmpInst *Cmp = dyn_cast<CmpInst>(V);
132 CmpInst::Predicate CPred = Cmp->getPredicate();
136 return CPred == CmpInst::getSwappedPredicate(Pred) && CLHS == RHS &&
401 static Value *ThreadCmpOverSelect(CmpInst::Predicate Pred, Value *LHS,
411 Pred = CmpInst::getSwappedPredicate(Pred);
526 static Value *ThreadCmpOverPHI(CmpInst::Predicate Pred, Value *LHS, Value *RHS,
535 Pred = CmpInst::getSwappedPredicate(Pred);
979 if (isICmpTrue(CmpInst::ICMP_SLT, Y, NegDividendC, Q, MaxRecurse) ||
980 isICmpTrue(CmpInst::ICMP_SGT, Y, PosDividendC, Q, MaxRecurse))
988 return isICmpTrue(CmpInst::ICMP_NE, X, Y, Q, MaxRecurse);
995 if (isICmpTrue(CmpInst::ICMP_SGT, X, NegDivisorC, Q, MaxRecurse) &&
996 isICmpTrue(CmpInst::ICMP_SLT, X, PosDivisorC, Q, MaxRecurse))
2248 return CmpInst::makeCmpResultType(Op->getType());
2254 static Value *ExtractEquivalentCondition(Value *V, CmpInst::Predicate Pred,
2259 CmpInst *Cmp = dyn_cast<CmpInst>(SI->getCondition());
2259 CmpInst *Cmp = dyn_cast<CmpInst>(SI->getCondition());
2265 if (Pred == CmpInst::getSwappedPredicate(Cmp->getPredicate()) &&
2301 const DominatorTree *DT, CmpInst::Predicate Pred,
2312 (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_NE))
2312 (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_NE))
2314 !CmpInst::isTrueWhenEqual(Pred));
2322 case CmpInst::ICMP_EQ:
2323 case CmpInst::ICMP_NE:
2328 case CmpInst::ICMP_UGT:
2329 case CmpInst::ICMP_UGE:
2330 case CmpInst::ICMP_ULT:
2331 case CmpInst::ICMP_ULE:
2353 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_NE) {
2353 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_NE) {
2401 !CmpInst::isTrueWhenEqual(Pred));
2412 !CmpInst::isTrueWhenEqual(Pred));
2463 !CmpInst::isTrueWhenEqual(Pred));
2479 CmpInst::isFalseWhenEqual(Pred));
2487 static Value *simplifyICmpOfBools(CmpInst::Predicate Pred, Value *LHS,
2499 case CmpInst::ICMP_NE: // X != 0 -> X
2500 case CmpInst::ICMP_UGT: // X >u 0 -> X
2501 case CmpInst::ICMP_SLT: // X <s 0 -> X
2504 case CmpInst::ICMP_ULT: // X <u 0 -> false
2505 case CmpInst::ICMP_SGT: // X >s 0 -> false
2508 case CmpInst::ICMP_UGE: // X >=u 0 -> true
2509 case CmpInst::ICMP_SLE: // X <=s 0 -> true
2516 case CmpInst::ICMP_EQ: // X == 1 -> X
2517 case CmpInst::ICMP_UGE: // X >=u 1 -> X
2518 case CmpInst::ICMP_SLE: // X <=s -1 -> X
2521 case CmpInst::ICMP_UGT: // X >u 1 -> false
2522 case CmpInst::ICMP_SLT: // X <s -1 -> false
2525 case CmpInst::ICMP_ULE: // X <=u 1 -> true
2526 case CmpInst::ICMP_SGE: // X >=s -1 -> true
2561 static Value *simplifyICmpWithZero(CmpInst::Predicate Pred, Value *LHS,
2623 static Value *simplifyICmpWithConstant(CmpInst::Predicate Pred, Value *LHS,
2664 static Value *simplifyICmpWithBinOp(CmpInst::Predicate Pred, Value *LHS,
2681 (CmpInst::isUnsigned(Pred) &&
2683 (CmpInst::isSigned(Pred) &&
2691 (CmpInst::isUnsigned(Pred) &&
2693 (CmpInst::isSigned(Pred) &&
2791 if (!CmpInst::isUnsigned(Pred) && match(LHS, m_Neg(m_ZExt(m_Value())))) {
2978 static Value *simplifyICmpWithMinMax(CmpInst::Predicate Pred, Value *LHS,
2983 CmpInst::Predicate P = CmpInst::BAD_ICMP_PREDICATE;
2983 CmpInst::Predicate P = CmpInst::BAD_ICMP_PREDICATE;
2984 CmpInst::Predicate EqP; // Chosen so that "A == max/min(A,B)" iff "A EqP B".
2990 EqP = CmpInst::ICMP_SGE; // "A == smax(A, B)" iff "A sge B".
2997 EqP = CmpInst::ICMP_SGE; // "A == smax(A, B)" iff "A sge B".
2999 P = CmpInst::getSwappedPredicate(Pred);
3004 EqP = CmpInst::ICMP_SLE; // "A == smin(A, B)" iff "A sle B".
3007 P = CmpInst::getSwappedPredicate(Pred);
3012 EqP = CmpInst::ICMP_SLE; // "A == smin(A, B)" iff "A sle B".
3017 if (P != CmpInst::BAD_ICMP_PREDICATE) {
3022 case CmpInst::ICMP_EQ:
3023 case CmpInst::ICMP_SLE:
3035 case CmpInst::ICMP_NE:
3036 case CmpInst::ICMP_SGT: {
3037 CmpInst::Predicate InvEqP = CmpInst::getInversePredicate(EqP);
3037 CmpInst::Predicate InvEqP = CmpInst::getInversePredicate(EqP);
3050 case CmpInst::ICMP_SGE:
3053 case CmpInst::ICMP_SLT:
3060 P = CmpInst::BAD_ICMP_PREDICATE;
3064 EqP = CmpInst::ICMP_UGE; // "A == umax(A, B)" iff "A uge B".
3071 EqP = CmpInst::ICMP_UGE; // "A == umax(A, B)" iff "A uge B".
3073 P = CmpInst::getSwappedPredicate(Pred);
3078 EqP = CmpInst::ICMP_ULE; // "A == umin(A, B)" iff "A ule B".
3081 P = CmpInst::getSwappedPredicate(Pred);
3086 EqP = CmpInst::ICMP_ULE; // "A == umin(A, B)" iff "A ule B".
3091 if (P != CmpInst::BAD_ICMP_PREDICATE) {
3096 case CmpInst::ICMP_EQ:
3097 case CmpInst::ICMP_ULE:
3109 case CmpInst::ICMP_NE:
3110 case CmpInst::ICMP_UGT: {
3111 CmpInst::Predicate InvEqP = CmpInst::getInversePredicate(EqP);
3111 CmpInst::Predicate InvEqP = CmpInst::getInversePredicate(EqP);
3124 case CmpInst::ICMP_UGE:
3127 case CmpInst::ICMP_ULT:
3139 if (Pred == CmpInst::ICMP_SGE)
3142 if (Pred == CmpInst::ICMP_SLT)
3149 if (Pred == CmpInst::ICMP_SLE)
3152 if (Pred == CmpInst::ICMP_SGT)
3159 if (Pred == CmpInst::ICMP_UGE)
3162 if (Pred == CmpInst::ICMP_ULT)
3169 if (Pred == CmpInst::ICMP_ULE)
3172 if (Pred == CmpInst::ICMP_UGT)
3184 CmpInst::Predicate Pred = (CmpInst::Predicate)Predicate;
3193 Pred = CmpInst::getSwappedPredicate(Pred);
3208 return ConstantInt::get(ITy, CmpInst::isTrueWhenEqual(Pred));
3237 CmpInst::getInversePredicate(Pred), RHS_CR);
3479 CmpInst::Predicate Pred = (CmpInst::Predicate)Predicate;
3488 Pred = CmpInst::getSwappedPredicate(Pred);
3508 return ConstantInt::get(RetTy, CmpInst::isUnordered(Pred));
3515 return ConstantInt::get(RetTy, CmpInst::isUnordered(Pred));
3520 if (CmpInst::isTrueWhenEqual(Pred))
3522 if (CmpInst::isFalseWhenEqual(Pred))
3707 if (CmpInst *C = dyn_cast<CmpInst>(I)) {
3707 if (CmpInst *C = dyn_cast<CmpInst>(I)) {
3747 if (CmpInst *C = dyn_cast<CmpInst>(I))
3747 if (CmpInst *C = dyn_cast<CmpInst>(I))
4846 if (CmpInst::isIntPredicate((CmpInst::Predicate)Predicate))
lib/Analysis/LazyValueInfo.cpp 1194 CmpInst::Predicate Predicate = ICI->getPredicate();
1221 Predicate = CmpInst::getSwappedPredicate(Predicate);
1239 CmpInst::Predicate Pred =
1240 isTrueDest ? Predicate : CmpInst::getInversePredicate(Predicate);
lib/Analysis/LoopUnrollAnalyzer.cpp 166 bool UnrolledInstAnalyzer::visitCmpInst(CmpInst &I) {
lib/Analysis/MustExecute.cpp 129 auto *Cond = dyn_cast<CmpInst>(BI->getCondition());
129 auto *Cond = dyn_cast<CmpInst>(BI->getCondition());
lib/Analysis/ScalarEvolution.cpp 3636 llvm::CmpInst::Predicate GEPred =
3638 llvm::CmpInst::Predicate LEPred =
3640 llvm::CmpInst::Predicate FirstPred = IsMax ? GEPred : LEPred;
3641 llvm::CmpInst::Predicate SecondPred = IsMax ? LEPred : GEPred;
7712 if (isa<BinaryOperator>(I) || isa<CmpInst>(I) ||
7836 if (CmpInst *CI = dyn_cast<CmpInst>(I))
7836 if (CmpInst *CI = dyn_cast<CmpInst>(I))
8248 if (const CmpInst *CI = dyn_cast<CmpInst>(I))
8248 if (const CmpInst *CI = dyn_cast<CmpInst>(I))
8953 CmpInst::Predicate NewPred;
9338 if (Pred == CmpInst::ICMP_EQ)
9341 if (Pred == CmpInst::ICMP_NE)
9346 if (CmpInst::isSigned(Pred))
9427 isKnownPredicate(CmpInst::ICMP_SGE, LHS, getZero(LHS->getType())) &&
9428 isKnownPredicate(CmpInst::ICMP_SLT, LHS, RHS);
9720 if (CmpInst::isSigned(Pred)) {
9729 if (CmpInst::isSigned(FoundPred)) {
9742 return CmpInst::isTrueWhenEqual(Pred);
9745 return CmpInst::isFalseWhenEqual(FoundPred);
9774 if (CmpInst::isUnsigned(FoundPred) &&
9775 CmpInst::getSignedPredicate(FoundPred) == Pred &&
9930 if (Pred != CmpInst::ICMP_SLT && Pred != CmpInst::ICMP_ULT)
9930 if (Pred != CmpInst::ICMP_SLT && Pred != CmpInst::ICMP_ULT)
9991 if (Pred == CmpInst::ICMP_ULT) {
11568 if (isSCEVable(I.getType()) && !isa<CmpInst>(I)) {
lib/Analysis/TargetTransformInfo.cpp 905 auto *CI = cast<CmpInst>(SI->getCondition());
905 auto *CI = cast<CmpInst>(SI->getCondition());
910 auto *CI = cast<CmpInst>(SI->getCondition());
910 auto *CI = cast<CmpInst>(SI->getCondition());
1247 ReduxType, CmpInst::makeCmpResultType(ReduxType),
1251 ReduxType, CmpInst::makeCmpResultType(ReduxType),
1263 ReduxType, CmpInst::makeCmpResultType(ReduxType),
1267 ReduxType, CmpInst::makeCmpResultType(ReduxType),
lib/Analysis/ValueTracking.cpp 631 CmpInst::Predicate Pred;
1928 CmpInst::Predicate Pred;
4483 static SelectPatternResult matchFastFloatClamp(CmpInst::Predicate Pred,
4495 Pred = CmpInst::getInversePredicate(Pred);
4508 case CmpInst::FCMP_OLT:
4509 case CmpInst::FCMP_OLE:
4510 case CmpInst::FCMP_ULT:
4511 case CmpInst::FCMP_ULE:
4518 case CmpInst::FCMP_OGT:
4519 case CmpInst::FCMP_OGE:
4520 case CmpInst::FCMP_UGT:
4521 case CmpInst::FCMP_UGE:
4537 static SelectPatternResult matchClamp(CmpInst::Predicate Pred,
4550 C1->slt(*C2) && Pred == CmpInst::ICMP_SLT)
4555 C1->sgt(*C2) && Pred == CmpInst::ICMP_SGT)
4560 C1->ult(*C2) && Pred == CmpInst::ICMP_ULT)
4565 C1->ugt(*C2) && Pred == CmpInst::ICMP_UGT)
4573 static SelectPatternResult matchMinMaxOfMinMax(CmpInst::Predicate Pred,
4667 static SelectPatternResult matchMinMax(CmpInst::Predicate Pred,
4684 if (Pred != CmpInst::ICMP_SGT && Pred != CmpInst::ICMP_SLT)
4684 if (Pred != CmpInst::ICMP_SGT && Pred != CmpInst::ICMP_SLT)
4692 return {Pred == CmpInst::ICMP_SGT ? SPF_SMIN : SPF_SMAX, SPNB_NA, false};
4699 return {Pred == CmpInst::ICMP_SGT ? SPF_SMAX : SPF_SMIN, SPNB_NA, false};
4712 if (Pred == CmpInst::ICMP_SLT && C1->isNullValue() &&
4719 if (Pred == CmpInst::ICMP_SGT && C1->isAllOnesValue() &&
4729 return {Pred == CmpInst::ICMP_SGT ? SPF_SMIN : SPF_SMAX, SPNB_NA, false};
4735 return {Pred == CmpInst::ICMP_SGT ? SPF_SMAX : SPF_SMIN, SPNB_NA, false};
4761 static SelectPatternResult matchSelectPattern(CmpInst::Predicate Pred,
4767 if (CmpInst::isFPPredicate(Pred)) {
4799 case CmpInst::FCMP_OGE: case CmpInst::FCMP_OLE:
4799 case CmpInst::FCMP_OGE: case CmpInst::FCMP_OLE:
4800 case CmpInst::FCMP_UGE: case CmpInst::FCMP_ULE:
4800 case CmpInst::FCMP_UGE: case CmpInst::FCMP_ULE:
4814 if (CmpInst::isFPPredicate(Pred)) {
4821 } else if (CmpInst::isOrdered(Pred)) {
4850 Pred = CmpInst::getSwappedPredicate(Pred);
4930 if (CmpInst::isIntPredicate(Pred))
4958 static Value *lookThroughCast(CmpInst *CmpI, Value *V1, Value *V2,
5060 CmpInst *CmpI = dyn_cast<CmpInst>(SI->getCondition());
5060 CmpInst *CmpI = dyn_cast<CmpInst>(SI->getCondition());
5071 CmpInst *CmpI, Value *TrueVal, Value *FalseVal, Value *&LHS, Value *&RHS,
5073 CmpInst::Predicate Pred = CmpI->getPredicate();
5109 CmpInst::Predicate llvm::getMinMaxPred(SelectPatternFlavor SPF, bool Ordered) {
5129 CmpInst::Predicate llvm::getInverseMinMaxPred(SelectPatternFlavor SPF) {
5134 static bool isTruePredicate(CmpInst::Predicate Pred, const Value *LHS,
5145 case CmpInst::ICMP_SLE: {
5154 case CmpInst::ICMP_ULE: {
5195 isImpliedCondOperands(CmpInst::Predicate Pred, const Value *ALHS,
5202 case CmpInst::ICMP_SLT:
5203 case CmpInst::ICMP_SLE:
5204 if (isTruePredicate(CmpInst::ICMP_SLE, BLHS, ALHS, DL, Depth) &&
5205 isTruePredicate(CmpInst::ICMP_SLE, ARHS, BRHS, DL, Depth))
5209 case CmpInst::ICMP_ULT:
5210 case CmpInst::ICMP_ULE:
5211 if (isTruePredicate(CmpInst::ICMP_ULE, BLHS, ALHS, DL, Depth) &&
5212 isTruePredicate(CmpInst::ICMP_ULE, ARHS, BRHS, DL, Depth))
5232 static Optional<bool> isImpliedCondMatchingOperands(CmpInst::Predicate APred,
5233 CmpInst::Predicate BPred,
5239 if (CmpInst::isImpliedTrueByMatchingCmp(APred, BPred))
5241 if (CmpInst::isImpliedFalseByMatchingCmp(APred, BPred))
5251 isImpliedCondMatchingImmOperands(CmpInst::Predicate APred,
5253 CmpInst::Predicate BPred,
lib/AsmParser/LLParser.cpp 3398 CmpInst::Predicate Pred = (CmpInst::Predicate)PredVal;
5850 case lltok::kw_oeq: P = CmpInst::FCMP_OEQ; break;
5851 case lltok::kw_one: P = CmpInst::FCMP_ONE; break;
5852 case lltok::kw_olt: P = CmpInst::FCMP_OLT; break;
5853 case lltok::kw_ogt: P = CmpInst::FCMP_OGT; break;
5854 case lltok::kw_ole: P = CmpInst::FCMP_OLE; break;
5855 case lltok::kw_oge: P = CmpInst::FCMP_OGE; break;
5856 case lltok::kw_ord: P = CmpInst::FCMP_ORD; break;
5857 case lltok::kw_uno: P = CmpInst::FCMP_UNO; break;
5858 case lltok::kw_ueq: P = CmpInst::FCMP_UEQ; break;
5859 case lltok::kw_une: P = CmpInst::FCMP_UNE; break;
5860 case lltok::kw_ult: P = CmpInst::FCMP_ULT; break;
5861 case lltok::kw_ugt: P = CmpInst::FCMP_UGT; break;
5862 case lltok::kw_ule: P = CmpInst::FCMP_ULE; break;
5863 case lltok::kw_uge: P = CmpInst::FCMP_UGE; break;
5864 case lltok::kw_true: P = CmpInst::FCMP_TRUE; break;
5865 case lltok::kw_false: P = CmpInst::FCMP_FALSE; break;
5870 case lltok::kw_eq: P = CmpInst::ICMP_EQ; break;
5871 case lltok::kw_ne: P = CmpInst::ICMP_NE; break;
5872 case lltok::kw_slt: P = CmpInst::ICMP_SLT; break;
5873 case lltok::kw_sgt: P = CmpInst::ICMP_SGT; break;
5874 case lltok::kw_sle: P = CmpInst::ICMP_SLE; break;
5875 case lltok::kw_sge: P = CmpInst::ICMP_SGE; break;
5876 case lltok::kw_ult: P = CmpInst::ICMP_ULT; break;
5877 case lltok::kw_ugt: P = CmpInst::ICMP_UGT; break;
5878 case lltok::kw_ule: P = CmpInst::ICMP_ULE; break;
5879 case lltok::kw_uge: P = CmpInst::ICMP_UGE; break;
lib/Bitcode/Writer/BitcodeWriter.cpp 2700 Vals.push_back(cast<CmpInst>(I).getPredicate());
lib/CodeGen/CodeGenPrepare.cpp 391 bool replaceMathCmpWithIntrinsic(BinaryOperator *BO, CmpInst *Cmp,
393 bool optimizeCmp(CmpInst *Cmp, bool &ModifiedDT);
394 bool combineToUSubWithOverflow(CmpInst *Cmp, bool &ModifiedDT);
395 bool combineToUAddWithOverflow(CmpInst *Cmp, bool &ModifiedDT);
1180 CmpInst *Cmp,
1227 static bool matchUAddWithOverflowConstantEdgeCases(CmpInst *Cmp,
1258 bool CodeGenPrepare::combineToUAddWithOverflow(CmpInst *Cmp,
1284 bool CodeGenPrepare::combineToUSubWithOverflow(CmpInst *Cmp,
1351 static bool sinkCmpExpression(CmpInst *Cmp, const TargetLowering &TLI) {
1360 DenseMap<BasicBlock*, CmpInst*> InsertedCmps;
1383 CmpInst *&InsertedCmp = InsertedCmps[UserBB];
1389 CmpInst::Create(Cmp->getOpcode(), Cmp->getPredicate(),
1411 bool CodeGenPrepare::optimizeCmp(CmpInst *Cmp, bool &ModifiedDT) {
5861 CmpInst *Cmp = dyn_cast<CmpInst>(SI->getCondition());
5861 CmpInst *Cmp = dyn_cast<CmpInst>(SI->getCondition());
6971 if (auto *Cmp = dyn_cast<CmpInst>(I))
6971 if (auto *Cmp = dyn_cast<CmpInst>(I))
lib/CodeGen/GlobalISel/CombinerHelper.cpp 788 CmpInst::Predicate InversePred = CmpInst::getInversePredicate(
788 CmpInst::Predicate InversePred = CmpInst::getInversePredicate(
lib/CodeGen/GlobalISel/IRTranslator.cpp 338 auto *CI = dyn_cast<CmpInst>(&U);
342 CmpInst::Predicate Pred =
345 if (CmpInst::isIntPredicate(Pred))
347 else if (Pred == CmpInst::FCMP_FALSE)
350 else if (Pred == CmpInst::FCMP_TRUE)
556 auto Cmp = MIB.buildICmp(CmpInst::ICMP_UGT, LLT::scalar(1), Sub, Cst);
603 MIB.buildICmp(CmpInst::ICMP_SLE, i1Ty, CmpOpReg, CondRHS).getReg(0);
608 Cond = MIB.buildICmp(CmpInst::ICMP_ULE, i1Ty, Sub, Diff).getReg(0);
724 CmpInst::Predicate Pred;
727 Pred = CmpInst::ICMP_EQ;
733 Pred = CmpInst::ICMP_SLE;
1010 if (const CmpInst *Cmp = dyn_cast<CmpInst>(SI.getCondition()))
1010 if (const CmpInst *Cmp = dyn_cast<CmpInst>(SI.getCondition()))
lib/CodeGen/GlobalISel/LegalizerHelper.cpp 964 CmpInst::Predicate Pred =
968 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_NE) {
968 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_NE) {
977 MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_EQ, ResTy, LHSH, RHSH);
1440 MIRBuilder.buildICmp(CmpInst::ICMP_NE, MI.getOperand(1).getReg(), NewOp,
1741 unsigned ExtOpcode = CmpInst::isSigned(static_cast<CmpInst::Predicate>(
1968 MIRBuilder.buildICmp(CmpInst::ICMP_NE, Overflow, HiPart, Shifted);
1970 MIRBuilder.buildICmp(CmpInst::ICMP_NE, Overflow, HiPart, Zero);
2034 MIRBuilder.buildICmp(CmpInst::ICMP_EQ, SuccessRes, OldValRes, CmpVal);
2184 MIRBuilder.buildICmp(CmpInst::ICMP_ULT, CarryOut, Res, RHS);
2202 MIRBuilder.buildICmp(CmpInst::ICMP_ULT, CarryOut, Res, LHS);
2214 MIRBuilder.buildICmp(CmpInst::ICMP_ULT, BorrowOut, LHS, RHS);
2234 MIRBuilder.buildICmp(CmpInst::ICMP_EQ, LHS_EQ_RHS, LHS, RHS);
2235 MIRBuilder.buildICmp(CmpInst::ICMP_ULT, LHS_ULT_RHS, LHS, RHS);
2589 CmpInst::Predicate Pred
3701 auto MIBICmp = MIRBuilder.buildICmp(CmpInst::ICMP_EQ, LLT::scalar(1),
3752 auto MIBICmp = MIRBuilder.buildICmp(CmpInst::ICMP_EQ, LLT::scalar(1),
3817 auto NotZero = MIRBuilder.buildICmp(CmpInst::ICMP_NE, S1, Src, Zero64);
3833 auto RCmp = MIRBuilder.buildICmp(CmpInst::ICMP_UGT, S1, T, C);
3834 auto TCmp = MIRBuilder.buildICmp(CmpInst::ICMP_EQ, S1, T, C);
3895 auto SignNotZero = MIRBuilder.buildICmp(CmpInst::ICMP_NE, S1, S,
3939 MIRBuilder.buildFCmp(CmpInst::FCMP_ULT, DstTy, Src, Threshold);
3946 static CmpInst::Predicate minMaxToCompare(unsigned Opc) {
3949 return CmpInst::ICMP_SLT;
3951 return CmpInst::ICMP_SGT;
3953 return CmpInst::ICMP_ULT;
3955 return CmpInst::ICMP_UGT;
3967 const CmpInst::Predicate Pred = minMaxToCompare(MI.getOpcode());
4295 MIRBuilder.buildICmp(CmpInst::ICMP_SLT, BoolTy, Dst0, LHS);
4297 IsAdd ? CmpInst::ICMP_SLT : CmpInst::ICMP_SGT, BoolTy, RHS, Zero);
4297 IsAdd ? CmpInst::ICMP_SLT : CmpInst::ICMP_SGT, BoolTy, RHS, Zero);
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp 706 MachineInstrBuilder MachineIRBuilder::buildICmp(CmpInst::Predicate Pred,
713 MachineInstrBuilder MachineIRBuilder::buildFCmp(CmpInst::Predicate Pred,
lib/CodeGen/MIRParser/MIParser.cpp 2244 CmpInst::Predicate Pred;
2247 .Case("false", CmpInst::FCMP_FALSE)
2248 .Case("oeq", CmpInst::FCMP_OEQ)
2249 .Case("ogt", CmpInst::FCMP_OGT)
2250 .Case("oge", CmpInst::FCMP_OGE)
2251 .Case("olt", CmpInst::FCMP_OLT)
2252 .Case("ole", CmpInst::FCMP_OLE)
2253 .Case("one", CmpInst::FCMP_ONE)
2254 .Case("ord", CmpInst::FCMP_ORD)
2255 .Case("uno", CmpInst::FCMP_UNO)
2256 .Case("ueq", CmpInst::FCMP_UEQ)
2257 .Case("ugt", CmpInst::FCMP_UGT)
2258 .Case("uge", CmpInst::FCMP_UGE)
2259 .Case("ult", CmpInst::FCMP_ULT)
2260 .Case("ule", CmpInst::FCMP_ULE)
2261 .Case("une", CmpInst::FCMP_UNE)
2262 .Case("true", CmpInst::FCMP_TRUE)
2263 .Default(CmpInst::BAD_FCMP_PREDICATE);
2264 if (!CmpInst::isFPPredicate(Pred))
2268 .Case("eq", CmpInst::ICMP_EQ)
2269 .Case("ne", CmpInst::ICMP_NE)
2270 .Case("sgt", CmpInst::ICMP_SGT)
2271 .Case("sge", CmpInst::ICMP_SGE)
2272 .Case("slt", CmpInst::ICMP_SLT)
2273 .Case("sle", CmpInst::ICMP_SLE)
2274 .Case("ugt", CmpInst::ICMP_UGT)
2275 .Case("uge", CmpInst::ICMP_UGE)
2276 .Case("ult", CmpInst::ICMP_ULT)
2277 .Case("ule", CmpInst::ICMP_ULE)
2278 .Default(CmpInst::BAD_ICMP_PREDICATE);
2279 if (!CmpInst::isIntPredicate(Pred))
lib/CodeGen/MachineOperand.cpp 937 OS << (CmpInst::isIntPredicate(Pred) ? "int" : "float") << "pred("
938 << CmpInst::getPredicateName(Pred) << ')';
lib/CodeGen/SelectionDAG/FastISel.cpp 2437 CmpInst::Predicate FastISel::optimizeCmpPredicate(const CmpInst *CI) const {
2437 CmpInst::Predicate FastISel::optimizeCmpPredicate(const CmpInst *CI) const {
2439 CmpInst::Predicate Predicate = CI->getPredicate();
2445 case CmpInst::FCMP_FALSE: Predicate = CmpInst::FCMP_FALSE; break;
2445 case CmpInst::FCMP_FALSE: Predicate = CmpInst::FCMP_FALSE; break;
2446 case CmpInst::FCMP_OEQ: Predicate = CmpInst::FCMP_ORD; break;
2446 case CmpInst::FCMP_OEQ: Predicate = CmpInst::FCMP_ORD; break;
2447 case CmpInst::FCMP_OGT: Predicate = CmpInst::FCMP_FALSE; break;
2447 case CmpInst::FCMP_OGT: Predicate = CmpInst::FCMP_FALSE; break;
2448 case CmpInst::FCMP_OGE: Predicate = CmpInst::FCMP_ORD; break;
2448 case CmpInst::FCMP_OGE: Predicate = CmpInst::FCMP_ORD; break;
2449 case CmpInst::FCMP_OLT: Predicate = CmpInst::FCMP_FALSE; break;
2449 case CmpInst::FCMP_OLT: Predicate = CmpInst::FCMP_FALSE; break;
2450 case CmpInst::FCMP_OLE: Predicate = CmpInst::FCMP_ORD; break;
2450 case CmpInst::FCMP_OLE: Predicate = CmpInst::FCMP_ORD; break;
2451 case CmpInst::FCMP_ONE: Predicate = CmpInst::FCMP_FALSE; break;
2451 case CmpInst::FCMP_ONE: Predicate = CmpInst::FCMP_FALSE; break;
2452 case CmpInst::FCMP_ORD: Predicate = CmpInst::FCMP_ORD; break;
2452 case CmpInst::FCMP_ORD: Predicate = CmpInst::FCMP_ORD; break;
2453 case CmpInst::FCMP_UNO: Predicate = CmpInst::FCMP_UNO; break;
2453 case CmpInst::FCMP_UNO: Predicate = CmpInst::FCMP_UNO; break;
2454 case CmpInst::FCMP_UEQ: Predicate = CmpInst::FCMP_TRUE; break;
2454 case CmpInst::FCMP_UEQ: Predicate = CmpInst::FCMP_TRUE; break;
2455 case CmpInst::FCMP_UGT: Predicate = CmpInst::FCMP_UNO; break;
2455 case CmpInst::FCMP_UGT: Predicate = CmpInst::FCMP_UNO; break;
2456 case CmpInst::FCMP_UGE: Predicate = CmpInst::FCMP_TRUE; break;
2456 case CmpInst::FCMP_UGE: Predicate = CmpInst::FCMP_TRUE; break;
2457 case CmpInst::FCMP_ULT: Predicate = CmpInst::FCMP_UNO; break;
2457 case CmpInst::FCMP_ULT: Predicate = CmpInst::FCMP_UNO; break;
2458 case CmpInst::FCMP_ULE: Predicate = CmpInst::FCMP_TRUE; break;
2458 case CmpInst::FCMP_ULE: Predicate = CmpInst::FCMP_TRUE; break;
2459 case CmpInst::FCMP_UNE: Predicate = CmpInst::FCMP_UNO; break;
2459 case CmpInst::FCMP_UNE: Predicate = CmpInst::FCMP_UNO; break;
2460 case CmpInst::FCMP_TRUE: Predicate = CmpInst::FCMP_TRUE; break;
2460 case CmpInst::FCMP_TRUE: Predicate = CmpInst::FCMP_TRUE; break;
2462 case CmpInst::ICMP_EQ: Predicate = CmpInst::FCMP_TRUE; break;
2462 case CmpInst::ICMP_EQ: Predicate = CmpInst::FCMP_TRUE; break;
2463 case CmpInst::ICMP_NE: Predicate = CmpInst::FCMP_FALSE; break;
2463 case CmpInst::ICMP_NE: Predicate = CmpInst::FCMP_FALSE; break;
2464 case CmpInst::ICMP_UGT: Predicate = CmpInst::FCMP_FALSE; break;
2464 case CmpInst::ICMP_UGT: Predicate = CmpInst::FCMP_FALSE; break;
2465 case CmpInst::ICMP_UGE: Predicate = CmpInst::FCMP_TRUE; break;
2465 case CmpInst::ICMP_UGE: Predicate = CmpInst::FCMP_TRUE; break;
2466 case CmpInst::ICMP_ULT: Predicate = CmpInst::FCMP_FALSE; break;
2466 case CmpInst::ICMP_ULT: Predicate = CmpInst::FCMP_FALSE; break;
2467 case CmpInst::ICMP_ULE: Predicate = CmpInst::FCMP_TRUE; break;
2467 case CmpInst::ICMP_ULE: Predicate = CmpInst::FCMP_TRUE; break;
2468 case CmpInst::ICMP_SGT: Predicate = CmpInst::FCMP_FALSE; break;
2468 case CmpInst::ICMP_SGT: Predicate = CmpInst::FCMP_FALSE; break;
2469 case CmpInst::ICMP_SGE: Predicate = CmpInst::FCMP_TRUE; break;
2469 case CmpInst::ICMP_SGE: Predicate = CmpInst::FCMP_TRUE; break;
2470 case CmpInst::ICMP_SLT: Predicate = CmpInst::FCMP_FALSE; break;
2470 case CmpInst::ICMP_SLT: Predicate = CmpInst::FCMP_FALSE; break;
2471 case CmpInst::ICMP_SLE: Predicate = CmpInst::FCMP_TRUE; break;
2471 case CmpInst::ICMP_SLE: Predicate = CmpInst::FCMP_TRUE; break;
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp 70 if (const auto *CI = dyn_cast<CmpInst>(U)) {
70 if (const auto *CI = dyn_cast<CmpInst>(U)) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 2034 if (const CmpInst *BOp = dyn_cast<CmpInst>(Cond)) {
2034 if (const CmpInst *BOp = dyn_cast<CmpInst>(Cond)) {
2106 if (!BOp || !(isa<BinaryOperator>(BOp) || isa<CmpInst>(BOp)) ||
lib/FuzzMutate/Operations.cpp 33 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_EQ));
34 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_NE));
35 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_UGT));
36 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_UGE));
37 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_ULT));
38 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_ULE));
39 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SGT));
40 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SGE));
41 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SLT));
42 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SLE));
52 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_FALSE));
53 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_OEQ));
54 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_OGT));
55 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_OGE));
56 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_OLT));
57 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_OLE));
58 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_ONE));
59 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_ORD));
60 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_UNO));
61 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_UEQ));
62 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_UGT));
63 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_UGE));
64 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_ULT));
65 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_ULE));
66 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_UNE));
67 Ops.push_back(cmpOpDescriptor(1, Instruction::FCmp, CmpInst::FCMP_TRUE));
125 CmpInst::Predicate Pred) {
127 return CmpInst::Create(CmpOp, Pred, Srcs[0], Srcs[1], "C", Inst);
lib/IR/AsmWriter.cpp 1511 Out << ' ' << CmpInst::getPredicateName(
3708 if (const CmpInst *CI = dyn_cast<CmpInst>(&I))
3708 if (const CmpInst *CI = dyn_cast<CmpInst>(&I))
3709 Out << ' ' << CmpInst::getPredicateName(CI->getPredicate());
lib/IR/AutoUpgrade.cpp 1145 CmpInst::Predicate Pred;
lib/IR/ConstantFold.cpp 1199 CmpInst::Predicate pred = (CmpInst::Predicate)CE1->getPredicate();
1200 pred = CmpInst::getInversePredicate(pred);
1803 CmpInst::Predicate Predicate = CmpInst::Predicate(pred);
1814 return ConstantInt::get(ResultTy, CmpInst::isTrueWhenEqual(Predicate));
1818 return ConstantInt::get(ResultTy, CmpInst::isUnordered(Predicate));
2009 CmpInst::isSigned((CmpInst::Predicate)pred))) {
lib/IR/ConstantRange.cpp 77 ConstantRange ConstantRange::makeAllowedICmpRegion(CmpInst::Predicate Pred,
86 case CmpInst::ICMP_EQ:
88 case CmpInst::ICMP_NE:
92 case CmpInst::ICMP_ULT: {
98 case CmpInst::ICMP_SLT: {
104 case CmpInst::ICMP_ULE:
106 case CmpInst::ICMP_SLE:
108 case CmpInst::ICMP_UGT: {
114 case CmpInst::ICMP_SGT: {
120 case CmpInst::ICMP_UGE:
122 case CmpInst::ICMP_SGE:
127 ConstantRange ConstantRange::makeSatisfyingICmpRegion(CmpInst::Predicate Pred,
133 return makeAllowedICmpRegion(CmpInst::getInversePredicate(Pred), CR)
137 ConstantRange ConstantRange::makeExactICmpRegion(CmpInst::Predicate Pred,
149 bool ConstantRange::getEquivalentICmp(CmpInst::Predicate &Pred,
154 Pred = isEmptySet() ? CmpInst::ICMP_ULT : CmpInst::ICMP_UGE;
154 Pred = isEmptySet() ? CmpInst::ICMP_ULT : CmpInst::ICMP_UGE;
158 Pred = CmpInst::ICMP_EQ;
162 Pred = CmpInst::ICMP_NE;
167 getLower().isMinSignedValue() ? CmpInst::ICMP_SLT : CmpInst::ICMP_ULT;
167 getLower().isMinSignedValue() ? CmpInst::ICMP_SLT : CmpInst::ICMP_ULT;
172 getUpper().isMinSignedValue() ? CmpInst::ICMP_SGE : CmpInst::ICMP_UGE;
172 getUpper().isMinSignedValue() ? CmpInst::ICMP_SGE : CmpInst::ICMP_UGE;
lib/IR/Constants.cpp 1974 case CmpInst::FCMP_FALSE: case CmpInst::FCMP_OEQ: case CmpInst::FCMP_OGT:
1974 case CmpInst::FCMP_FALSE: case CmpInst::FCMP_OEQ: case CmpInst::FCMP_OGT:
1974 case CmpInst::FCMP_FALSE: case CmpInst::FCMP_OEQ: case CmpInst::FCMP_OGT:
1975 case CmpInst::FCMP_OGE: case CmpInst::FCMP_OLT: case CmpInst::FCMP_OLE:
1975 case CmpInst::FCMP_OGE: case CmpInst::FCMP_OLT: case CmpInst::FCMP_OLE:
1975 case CmpInst::FCMP_OGE: case CmpInst::FCMP_OLT: case CmpInst::FCMP_OLE:
1976 case CmpInst::FCMP_ONE: case CmpInst::FCMP_ORD: case CmpInst::FCMP_UNO:
1976 case CmpInst::FCMP_ONE: case CmpInst::FCMP_ORD: case CmpInst::FCMP_UNO:
1976 case CmpInst::FCMP_ONE: case CmpInst::FCMP_ORD: case CmpInst::FCMP_UNO:
1977 case CmpInst::FCMP_UEQ: case CmpInst::FCMP_UGT: case CmpInst::FCMP_UGE:
1977 case CmpInst::FCMP_UEQ: case CmpInst::FCMP_UGT: case CmpInst::FCMP_UGE:
1977 case CmpInst::FCMP_UEQ: case CmpInst::FCMP_UGT: case CmpInst::FCMP_UGE:
1978 case CmpInst::FCMP_ULT: case CmpInst::FCMP_ULE: case CmpInst::FCMP_UNE:
1978 case CmpInst::FCMP_ULT: case CmpInst::FCMP_ULE: case CmpInst::FCMP_UNE:
1978 case CmpInst::FCMP_ULT: case CmpInst::FCMP_ULE: case CmpInst::FCMP_UNE:
1979 case CmpInst::FCMP_TRUE:
1982 case CmpInst::ICMP_EQ: case CmpInst::ICMP_NE: case CmpInst::ICMP_UGT:
1982 case CmpInst::ICMP_EQ: case CmpInst::ICMP_NE: case CmpInst::ICMP_UGT:
1982 case CmpInst::ICMP_EQ: case CmpInst::ICMP_NE: case CmpInst::ICMP_UGT:
1983 case CmpInst::ICMP_UGE: case CmpInst::ICMP_ULT: case CmpInst::ICMP_ULE:
1983 case CmpInst::ICMP_UGE: case CmpInst::ICMP_ULT: case CmpInst::ICMP_ULE:
1983 case CmpInst::ICMP_UGE: case CmpInst::ICMP_ULT: case CmpInst::ICMP_ULE:
1984 case CmpInst::ICMP_SGT: case CmpInst::ICMP_SGE: case CmpInst::ICMP_SLT:
1984 case CmpInst::ICMP_SGT: case CmpInst::ICMP_SGE: case CmpInst::ICMP_SLT:
1984 case CmpInst::ICMP_SGT: case CmpInst::ICMP_SGE: case CmpInst::ICMP_SLT:
1985 case CmpInst::ICMP_SLE:
3028 return CmpInst::Create((Instruction::OtherOps)getOpcode(),
lib/IR/Instruction.cpp 400 if (const CmpInst *CI = dyn_cast<CmpInst>(I1))
400 if (const CmpInst *CI = dyn_cast<CmpInst>(I1))
401 return CI->getPredicate() == cast<CmpInst>(I2)->getPredicate();
lib/IR/Instructions.cpp 3465 OperandTraits<CmpInst>::op_begin(this),
3466 OperandTraits<CmpInst>::operands(this),
3479 OperandTraits<CmpInst>::op_begin(this),
3480 OperandTraits<CmpInst>::operands(this),
3488 CmpInst *
3508 CmpInst *
3538 CmpInst::Predicate CmpInst::getInversePredicate(Predicate pred) {
3629 CmpInst::Predicate CmpInst::getFlippedStrictnessPredicate(Predicate pred) {
3652 CmpInst::Predicate CmpInst::getSwappedPredicate(Predicate pred) {
3682 CmpInst::Predicate CmpInst::getNonStrictPredicate(Predicate pred) {
3696 CmpInst::Predicate CmpInst::getSignedPredicate(Predicate pred) {
3702 case CmpInst::ICMP_ULT:
3703 return CmpInst::ICMP_SLT;
3704 case CmpInst::ICMP_ULE:
3705 return CmpInst::ICMP_SLE;
3706 case CmpInst::ICMP_UGT:
3707 return CmpInst::ICMP_SGT;
3708 case CmpInst::ICMP_UGE:
3709 return CmpInst::ICMP_SGE;
lib/IR/SafepointIRVerifier.cpp 809 } else if (isa<CmpInst>(I) &&
lib/Target/AArch64/AArch64FastISel.cpp 2246 static AArch64CC::CondCode getCompareCC(CmpInst::Predicate Pred) {
2248 case CmpInst::FCMP_ONE:
2249 case CmpInst::FCMP_UEQ:
2253 case CmpInst::ICMP_EQ:
2254 case CmpInst::FCMP_OEQ:
2256 case CmpInst::ICMP_SGT:
2257 case CmpInst::FCMP_OGT:
2259 case CmpInst::ICMP_SGE:
2260 case CmpInst::FCMP_OGE:
2262 case CmpInst::ICMP_UGT:
2263 case CmpInst::FCMP_UGT:
2265 case CmpInst::FCMP_OLT:
2267 case CmpInst::ICMP_ULE:
2268 case CmpInst::FCMP_OLE:
2270 case CmpInst::FCMP_ORD:
2272 case CmpInst::FCMP_UNO:
2274 case CmpInst::FCMP_UGE:
2276 case CmpInst::ICMP_SLT:
2277 case CmpInst::FCMP_ULT:
2279 case CmpInst::ICMP_SLE:
2280 case CmpInst::FCMP_ULE:
2282 case CmpInst::FCMP_UNE:
2283 case CmpInst::ICMP_NE:
2285 case CmpInst::ICMP_UGE:
2287 case CmpInst::ICMP_ULT:
2302 const CmpInst *CI = cast<CmpInst>(BI->getCondition());
2302 const CmpInst *CI = cast<CmpInst>(BI->getCondition());
2303 CmpInst::Predicate Predicate = optimizeCmpPredicate(CI);
2322 Predicate = CmpInst::getInversePredicate(Predicate);
2330 case CmpInst::ICMP_EQ:
2331 case CmpInst::ICMP_NE:
2357 IsCmpNE = Predicate == CmpInst::ICMP_NE;
2359 case CmpInst::ICMP_SLT:
2360 case CmpInst::ICMP_SGE:
2365 IsCmpNE = Predicate == CmpInst::ICMP_SLT;
2367 case CmpInst::ICMP_SGT:
2368 case CmpInst::ICMP_SLE:
2376 IsCmpNE = Predicate == CmpInst::ICMP_SLE;
2431 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
2431 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
2434 CmpInst::Predicate Predicate = optimizeCmpPredicate(CI);
2438 case CmpInst::FCMP_FALSE:
2441 case CmpInst::FCMP_TRUE:
2453 Predicate = CmpInst::getInversePredicate(Predicate);
2467 case CmpInst::FCMP_UEQ:
2471 case CmpInst::FCMP_ONE:
2569 const CmpInst *CI = cast<CmpInst>(I);
2569 const CmpInst *CI = cast<CmpInst>(I);
2576 CmpInst::Predicate Predicate = optimizeCmpPredicate(CI);
2581 case CmpInst::FCMP_FALSE:
2587 case CmpInst::FCMP_TRUE:
2613 case CmpInst::FCMP_UEQ:
2616 case CmpInst::FCMP_ONE:
2755 } else if (isa<CmpInst>(Cond) && cast<CmpInst>(Cond)->hasOneUse() &&
2755 } else if (isa<CmpInst>(Cond) && cast<CmpInst>(Cond)->hasOneUse() &&
2757 const auto *Cmp = cast<CmpInst>(Cond);
2757 const auto *Cmp = cast<CmpInst>(Cond);
2759 CmpInst::Predicate Predicate = optimizeCmpPredicate(Cmp);
2764 case CmpInst::FCMP_FALSE:
2767 case CmpInst::FCMP_TRUE:
2793 case CmpInst::FCMP_UEQ:
2797 case CmpInst::FCMP_ONE:
lib/Target/AArch64/AArch64InstructionSelector.cpp 859 static bool isUnsignedICMPPred(const CmpInst::Predicate P) {
863 case CmpInst::ICMP_UGT:
864 case CmpInst::ICMP_UGE:
865 case CmpInst::ICMP_ULT:
866 case CmpInst::ICMP_ULE:
871 static AArch64CC::CondCode changeICMPPredToAArch64CC(CmpInst::Predicate P) {
875 case CmpInst::ICMP_NE:
877 case CmpInst::ICMP_EQ:
879 case CmpInst::ICMP_SGT:
881 case CmpInst::ICMP_SGE:
883 case CmpInst::ICMP_SLT:
885 case CmpInst::ICMP_SLE:
887 case CmpInst::ICMP_UGT:
889 case CmpInst::ICMP_UGE:
891 case CmpInst::ICMP_ULT:
893 case CmpInst::ICMP_ULE:
898 static void changeFCMPPredToAArch64CC(CmpInst::Predicate P,
905 case CmpInst::FCMP_OEQ:
908 case CmpInst::FCMP_OGT:
911 case CmpInst::FCMP_OGE:
914 case CmpInst::FCMP_OLT:
917 case CmpInst::FCMP_OLE:
920 case CmpInst::FCMP_ONE:
924 case CmpInst::FCMP_ORD:
927 case CmpInst::FCMP_UNO:
930 case CmpInst::FCMP_UEQ:
934 case CmpInst::FCMP_UGT:
937 case CmpInst::FCMP_UGE:
940 case CmpInst::FCMP_ULT:
943 case CmpInst::FCMP_ULE:
946 case CmpInst::FCMP_UNE:
988 if (Pred != CmpInst::ICMP_NE && Pred != CmpInst::ICMP_EQ)
988 if (Pred != CmpInst::ICMP_NE && Pred != CmpInst::ICMP_EQ)
994 CBOpc = (Pred == CmpInst::ICMP_EQ ? AArch64::CBZW : AArch64::CBNZW);
996 CBOpc = (Pred == CmpInst::ICMP_EQ ? AArch64::CBZX : AArch64::CBNZX);
2543 CmpInst::Predicate Pred = (CmpInst::Predicate)I.getOperand(1).getPredicate();
2545 case CmpInst::ICMP_NE:
2546 case CmpInst::ICMP_EQ:
2549 case CmpInst::ICMP_UGT:
2552 case CmpInst::ICMP_UGE:
2555 case CmpInst::ICMP_ULT:
2559 case CmpInst::ICMP_ULE:
2563 case CmpInst::ICMP_SGT:
2566 case CmpInst::ICMP_SGE:
2569 case CmpInst::ICMP_SLT:
2573 case CmpInst::ICMP_SLE:
3369 CmpInst::getInversePredicate((CmpInst::Predicate)Pred));
3518 CmpInst::Predicate P = (CmpInst::Predicate)Predicate.getPredicate();
lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp 247 CmpInst::Predicate Pred;
264 Pred = CmpInst::ICMP_SGT;
267 Pred = CmpInst::ICMP_SLT;
270 Pred = CmpInst::ICMP_UGT;
273 Pred = CmpInst::ICMP_ULT;
451 {B.getInt32(1), B.getInt32(0), B.getInt32(CmpInst::ICMP_NE)});
lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp 642 static int getV_CMPOpcode(CmpInst::Predicate P, unsigned Size) {
648 case CmpInst::ICMP_NE:
650 case CmpInst::ICMP_EQ:
652 case CmpInst::ICMP_SGT:
654 case CmpInst::ICMP_SGE:
656 case CmpInst::ICMP_SLT:
658 case CmpInst::ICMP_SLE:
660 case CmpInst::ICMP_UGT:
662 case CmpInst::ICMP_UGE:
664 case CmpInst::ICMP_ULT:
666 case CmpInst::ICMP_ULE:
671 int AMDGPUInstructionSelector::getS_CMPOpcode(CmpInst::Predicate P,
678 case CmpInst::ICMP_NE:
680 case CmpInst::ICMP_EQ:
691 case CmpInst::ICMP_NE:
693 case CmpInst::ICMP_EQ:
695 case CmpInst::ICMP_SGT:
697 case CmpInst::ICMP_SGE:
699 case CmpInst::ICMP_SLT:
701 case CmpInst::ICMP_SLE:
703 case CmpInst::ICMP_UGT:
705 case CmpInst::ICMP_UGE:
707 case CmpInst::ICMP_ULT:
709 case CmpInst::ICMP_ULE:
lib/Target/AMDGPU/AMDGPUInstructionSelector.h 101 int getS_CMPOpcode(CmpInst::Predicate P, unsigned Size) const;
lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp 1274 B.buildICmp(CmpInst::ICMP_NE, CmpRes, Src, FlatNull.getReg(0));
1297 B.buildICmp(CmpInst::ICMP_NE, CmpRes, Src, SegmentNull.getReg(0));
1338 auto Cond = B.buildFCmp(CmpInst::FCMP_OGT, LLT::scalar(1), Fabs, C2);
1362 auto Lt0 = B.buildFCmp(CmpInst::FCMP_OGT, S1, Src, Zero);
1363 auto NeTrunc = B.buildFCmp(CmpInst::FCMP_ONE, S1, Src, Trunc);
1426 auto ExpLt0 = B.buildICmp(CmpInst::ICMP_SLT, S1, Exp, Zero32);
1427 auto ExpGt51 = B.buildICmp(CmpInst::ICMP_SGT, S1, Exp, FiftyOne);
1988 auto CmpRes = B.buildFCmp(CmpInst::FCMP_OGT, S1, Abs, C0, Flags);
lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp 2493 (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_NE) &&
2493 (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_NE) &&
lib/Target/ARM/ARMFastISel.cpp 1190 static ARMCC::CondCodes getComparePred(CmpInst::Predicate Pred) {
1193 case CmpInst::FCMP_ONE:
1194 case CmpInst::FCMP_UEQ:
1198 case CmpInst::ICMP_EQ:
1199 case CmpInst::FCMP_OEQ:
1201 case CmpInst::ICMP_SGT:
1202 case CmpInst::FCMP_OGT:
1204 case CmpInst::ICMP_SGE:
1205 case CmpInst::FCMP_OGE:
1207 case CmpInst::ICMP_UGT:
1208 case CmpInst::FCMP_UGT:
1210 case CmpInst::FCMP_OLT:
1212 case CmpInst::ICMP_ULE:
1213 case CmpInst::FCMP_OLE:
1215 case CmpInst::FCMP_ORD:
1217 case CmpInst::FCMP_UNO:
1219 case CmpInst::FCMP_UGE:
1221 case CmpInst::ICMP_SLT:
1222 case CmpInst::FCMP_ULT:
1224 case CmpInst::ICMP_SLE:
1225 case CmpInst::FCMP_ULE:
1227 case CmpInst::FCMP_UNE:
1228 case CmpInst::ICMP_NE:
1230 case CmpInst::ICMP_UGE:
1232 case CmpInst::ICMP_ULT:
1246 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
1246 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
1250 CmpInst::Predicate Predicate = CI->getPredicate();
1253 Predicate = CmpInst::getInversePredicate(Predicate);
1470 const CmpInst *CI = cast<CmpInst>(I);
1470 const CmpInst *CI = cast<CmpInst>(I);
lib/Target/ARM/ARMInstructionSelector.cpp 391 getComparePreds(CmpInst::Predicate Pred) {
394 case CmpInst::FCMP_ONE:
397 case CmpInst::FCMP_UEQ:
400 case CmpInst::ICMP_EQ:
401 case CmpInst::FCMP_OEQ:
404 case CmpInst::ICMP_SGT:
405 case CmpInst::FCMP_OGT:
408 case CmpInst::ICMP_SGE:
409 case CmpInst::FCMP_OGE:
412 case CmpInst::ICMP_UGT:
413 case CmpInst::FCMP_UGT:
416 case CmpInst::FCMP_OLT:
419 case CmpInst::ICMP_ULE:
420 case CmpInst::FCMP_OLE:
423 case CmpInst::FCMP_ORD:
426 case CmpInst::FCMP_UNO:
429 case CmpInst::FCMP_UGE:
432 case CmpInst::ICMP_SLT:
433 case CmpInst::FCMP_ULT:
436 case CmpInst::ICMP_SLE:
437 case CmpInst::FCMP_ULE:
440 case CmpInst::FCMP_UNE:
441 case CmpInst::ICMP_NE:
444 case CmpInst::ICMP_UGE:
447 case CmpInst::ICMP_ULT:
536 if (Cond == CmpInst::FCMP_TRUE || Cond == CmpInst::FCMP_FALSE) {
536 if (Cond == CmpInst::FCMP_TRUE || Cond == CmpInst::FCMP_FALSE) {
537 putConstant(I, ResReg, Cond == CmpInst::FCMP_TRUE ? 1 : 0);
lib/Target/ARM/ARMLegalizerInfo.cpp 256 FCmp32Libcalls.resize(CmpInst::LAST_FCMP_PREDICATE + 1);
257 FCmp32Libcalls[CmpInst::FCMP_OEQ] = {
258 {RTLIB::OEQ_F32, CmpInst::BAD_ICMP_PREDICATE}};
259 FCmp32Libcalls[CmpInst::FCMP_OGE] = {
260 {RTLIB::OGE_F32, CmpInst::BAD_ICMP_PREDICATE}};
261 FCmp32Libcalls[CmpInst::FCMP_OGT] = {
262 {RTLIB::OGT_F32, CmpInst::BAD_ICMP_PREDICATE}};
263 FCmp32Libcalls[CmpInst::FCMP_OLE] = {
264 {RTLIB::OLE_F32, CmpInst::BAD_ICMP_PREDICATE}};
265 FCmp32Libcalls[CmpInst::FCMP_OLT] = {
266 {RTLIB::OLT_F32, CmpInst::BAD_ICMP_PREDICATE}};
267 FCmp32Libcalls[CmpInst::FCMP_ORD] = {{RTLIB::O_F32, CmpInst::ICMP_EQ}};
267 FCmp32Libcalls[CmpInst::FCMP_ORD] = {{RTLIB::O_F32, CmpInst::ICMP_EQ}};
268 FCmp32Libcalls[CmpInst::FCMP_UGE] = {{RTLIB::OLT_F32, CmpInst::ICMP_EQ}};
268 FCmp32Libcalls[CmpInst::FCMP_UGE] = {{RTLIB::OLT_F32, CmpInst::ICMP_EQ}};
269 FCmp32Libcalls[CmpInst::FCMP_UGT] = {{RTLIB::OLE_F32, CmpInst::ICMP_EQ}};
269 FCmp32Libcalls[CmpInst::FCMP_UGT] = {{RTLIB::OLE_F32, CmpInst::ICMP_EQ}};
270 FCmp32Libcalls[CmpInst::FCMP_ULE] = {{RTLIB::OGT_F32, CmpInst::ICMP_EQ}};
270 FCmp32Libcalls[CmpInst::FCMP_ULE] = {{RTLIB::OGT_F32, CmpInst::ICMP_EQ}};
271 FCmp32Libcalls[CmpInst::FCMP_ULT] = {{RTLIB::OGE_F32, CmpInst::ICMP_EQ}};
271 FCmp32Libcalls[CmpInst::FCMP_ULT] = {{RTLIB::OGE_F32, CmpInst::ICMP_EQ}};
272 FCmp32Libcalls[CmpInst::FCMP_UNE] = {{RTLIB::UNE_F32, CmpInst::ICMP_EQ}};
272 FCmp32Libcalls[CmpInst::FCMP_UNE] = {{RTLIB::UNE_F32, CmpInst::ICMP_EQ}};
273 FCmp32Libcalls[CmpInst::FCMP_UNO] = {
274 {RTLIB::UO_F32, CmpInst::BAD_ICMP_PREDICATE}};
275 FCmp32Libcalls[CmpInst::FCMP_ONE] = {
276 {RTLIB::OGT_F32, CmpInst::BAD_ICMP_PREDICATE},
277 {RTLIB::OLT_F32, CmpInst::BAD_ICMP_PREDICATE}};
278 FCmp32Libcalls[CmpInst::FCMP_UEQ] = {
279 {RTLIB::OEQ_F32, CmpInst::BAD_ICMP_PREDICATE},
280 {RTLIB::UO_F32, CmpInst::BAD_ICMP_PREDICATE}};
282 FCmp64Libcalls.resize(CmpInst::LAST_FCMP_PREDICATE + 1);
283 FCmp64Libcalls[CmpInst::FCMP_OEQ] = {
284 {RTLIB::OEQ_F64, CmpInst::BAD_ICMP_PREDICATE}};
285 FCmp64Libcalls[CmpInst::FCMP_OGE] = {
286 {RTLIB::OGE_F64, CmpInst::BAD_ICMP_PREDICATE}};
287 FCmp64Libcalls[CmpInst::FCMP_OGT] = {
288 {RTLIB::OGT_F64, CmpInst::BAD_ICMP_PREDICATE}};
289 FCmp64Libcalls[CmpInst::FCMP_OLE] = {
290 {RTLIB::OLE_F64, CmpInst::BAD_ICMP_PREDICATE}};
291 FCmp64Libcalls[CmpInst::FCMP_OLT] = {
292 {RTLIB::OLT_F64, CmpInst::BAD_ICMP_PREDICATE}};
293 FCmp64Libcalls[CmpInst::FCMP_ORD] = {{RTLIB::O_F64, CmpInst::ICMP_EQ}};
293 FCmp64Libcalls[CmpInst::FCMP_ORD] = {{RTLIB::O_F64, CmpInst::ICMP_EQ}};
294 FCmp64Libcalls[CmpInst::FCMP_UGE] = {{RTLIB::OLT_F64, CmpInst::ICMP_EQ}};
294 FCmp64Libcalls[CmpInst::FCMP_UGE] = {{RTLIB::OLT_F64, CmpInst::ICMP_EQ}};
295 FCmp64Libcalls[CmpInst::FCMP_UGT] = {{RTLIB::OLE_F64, CmpInst::ICMP_EQ}};
295 FCmp64Libcalls[CmpInst::FCMP_UGT] = {{RTLIB::OLE_F64, CmpInst::ICMP_EQ}};
296 FCmp64Libcalls[CmpInst::FCMP_ULE] = {{RTLIB::OGT_F64, CmpInst::ICMP_EQ}};
296 FCmp64Libcalls[CmpInst::FCMP_ULE] = {{RTLIB::OGT_F64, CmpInst::ICMP_EQ}};
297 FCmp64Libcalls[CmpInst::FCMP_ULT] = {{RTLIB::OGE_F64, CmpInst::ICMP_EQ}};
297 FCmp64Libcalls[CmpInst::FCMP_ULT] = {{RTLIB::OGE_F64, CmpInst::ICMP_EQ}};
298 FCmp64Libcalls[CmpInst::FCMP_UNE] = {{RTLIB::UNE_F64, CmpInst::ICMP_EQ}};
298 FCmp64Libcalls[CmpInst::FCMP_UNE] = {{RTLIB::UNE_F64, CmpInst::ICMP_EQ}};
299 FCmp64Libcalls[CmpInst::FCMP_UNO] = {
300 {RTLIB::UO_F64, CmpInst::BAD_ICMP_PREDICATE}};
301 FCmp64Libcalls[CmpInst::FCMP_ONE] = {
302 {RTLIB::OGT_F64, CmpInst::BAD_ICMP_PREDICATE},
303 {RTLIB::OLT_F64, CmpInst::BAD_ICMP_PREDICATE}};
304 FCmp64Libcalls[CmpInst::FCMP_UEQ] = {
305 {RTLIB::OEQ_F64, CmpInst::BAD_ICMP_PREDICATE},
306 {RTLIB::UO_F64, CmpInst::BAD_ICMP_PREDICATE}};
312 FCmp32Libcalls.resize(CmpInst::LAST_FCMP_PREDICATE + 1);
313 FCmp32Libcalls[CmpInst::FCMP_OEQ] = {{RTLIB::OEQ_F32, CmpInst::ICMP_EQ}};
313 FCmp32Libcalls[CmpInst::FCMP_OEQ] = {{RTLIB::OEQ_F32, CmpInst::ICMP_EQ}};
314 FCmp32Libcalls[CmpInst::FCMP_OGE] = {{RTLIB::OGE_F32, CmpInst::ICMP_SGE}};
314 FCmp32Libcalls[CmpInst::FCMP_OGE] = {{RTLIB::OGE_F32, CmpInst::ICMP_SGE}};
315 FCmp32Libcalls[CmpInst::FCMP_OGT] = {{RTLIB::OGT_F32, CmpInst::ICMP_SGT}};
315 FCmp32Libcalls[CmpInst::FCMP_OGT] = {{RTLIB::OGT_F32, CmpInst::ICMP_SGT}};
316 FCmp32Libcalls[CmpInst::FCMP_OLE] = {{RTLIB::OLE_F32, CmpInst::ICMP_SLE}};
316 FCmp32Libcalls[CmpInst::FCMP_OLE] = {{RTLIB::OLE_F32, CmpInst::ICMP_SLE}};
317 FCmp32Libcalls[CmpInst::FCMP_OLT] = {{RTLIB::OLT_F32, CmpInst::ICMP_SLT}};
317 FCmp32Libcalls[CmpInst::FCMP_OLT] = {{RTLIB::OLT_F32, CmpInst::ICMP_SLT}};
318 FCmp32Libcalls[CmpInst::FCMP_ORD] = {{RTLIB::O_F32, CmpInst::ICMP_EQ}};
318 FCmp32Libcalls[CmpInst::FCMP_ORD] = {{RTLIB::O_F32, CmpInst::ICMP_EQ}};
319 FCmp32Libcalls[CmpInst::FCMP_UGE] = {{RTLIB::OLT_F32, CmpInst::ICMP_SGE}};
319 FCmp32Libcalls[CmpInst::FCMP_UGE] = {{RTLIB::OLT_F32, CmpInst::ICMP_SGE}};
320 FCmp32Libcalls[CmpInst::FCMP_UGT] = {{RTLIB::OLE_F32, CmpInst::ICMP_SGT}};
320 FCmp32Libcalls[CmpInst::FCMP_UGT] = {{RTLIB::OLE_F32, CmpInst::ICMP_SGT}};
321 FCmp32Libcalls[CmpInst::FCMP_ULE] = {{RTLIB::OGT_F32, CmpInst::ICMP_SLE}};
321 FCmp32Libcalls[CmpInst::FCMP_ULE] = {{RTLIB::OGT_F32, CmpInst::ICMP_SLE}};
322 FCmp32Libcalls[CmpInst::FCMP_ULT] = {{RTLIB::OGE_F32, CmpInst::ICMP_SLT}};
322 FCmp32Libcalls[CmpInst::FCMP_ULT] = {{RTLIB::OGE_F32, CmpInst::ICMP_SLT}};
323 FCmp32Libcalls[CmpInst::FCMP_UNE] = {{RTLIB::UNE_F32, CmpInst::ICMP_NE}};
323 FCmp32Libcalls[CmpInst::FCMP_UNE] = {{RTLIB::UNE_F32, CmpInst::ICMP_NE}};
324 FCmp32Libcalls[CmpInst::FCMP_UNO] = {{RTLIB::UO_F32, CmpInst::ICMP_NE}};
324 FCmp32Libcalls[CmpInst::FCMP_UNO] = {{RTLIB::UO_F32, CmpInst::ICMP_NE}};
325 FCmp32Libcalls[CmpInst::FCMP_ONE] = {{RTLIB::OGT_F32, CmpInst::ICMP_SGT},
325 FCmp32Libcalls[CmpInst::FCMP_ONE] = {{RTLIB::OGT_F32, CmpInst::ICMP_SGT},
326 {RTLIB::OLT_F32, CmpInst::ICMP_SLT}};
327 FCmp32Libcalls[CmpInst::FCMP_UEQ] = {{RTLIB::OEQ_F32, CmpInst::ICMP_EQ},
327 FCmp32Libcalls[CmpInst::FCMP_UEQ] = {{RTLIB::OEQ_F32, CmpInst::ICMP_EQ},
328 {RTLIB::UO_F32, CmpInst::ICMP_NE}};
330 FCmp64Libcalls.resize(CmpInst::LAST_FCMP_PREDICATE + 1);
331 FCmp64Libcalls[CmpInst::FCMP_OEQ] = {{RTLIB::OEQ_F64, CmpInst::ICMP_EQ}};
331 FCmp64Libcalls[CmpInst::FCMP_OEQ] = {{RTLIB::OEQ_F64, CmpInst::ICMP_EQ}};
332 FCmp64Libcalls[CmpInst::FCMP_OGE] = {{RTLIB::OGE_F64, CmpInst::ICMP_SGE}};
332 FCmp64Libcalls[CmpInst::FCMP_OGE] = {{RTLIB::OGE_F64, CmpInst::ICMP_SGE}};
333 FCmp64Libcalls[CmpInst::FCMP_OGT] = {{RTLIB::OGT_F64, CmpInst::ICMP_SGT}};
333 FCmp64Libcalls[CmpInst::FCMP_OGT] = {{RTLIB::OGT_F64, CmpInst::ICMP_SGT}};
334 FCmp64Libcalls[CmpInst::FCMP_OLE] = {{RTLIB::OLE_F64, CmpInst::ICMP_SLE}};
334 FCmp64Libcalls[CmpInst::FCMP_OLE] = {{RTLIB::OLE_F64, CmpInst::ICMP_SLE}};
335 FCmp64Libcalls[CmpInst::FCMP_OLT] = {{RTLIB::OLT_F64, CmpInst::ICMP_SLT}};
335 FCmp64Libcalls[CmpInst::FCMP_OLT] = {{RTLIB::OLT_F64, CmpInst::ICMP_SLT}};
336 FCmp64Libcalls[CmpInst::FCMP_ORD] = {{RTLIB::O_F64, CmpInst::ICMP_EQ}};
336 FCmp64Libcalls[CmpInst::FCMP_ORD] = {{RTLIB::O_F64, CmpInst::ICMP_EQ}};
337 FCmp64Libcalls[CmpInst::FCMP_UGE] = {{RTLIB::OLT_F64, CmpInst::ICMP_SGE}};
337 FCmp64Libcalls[CmpInst::FCMP_UGE] = {{RTLIB::OLT_F64, CmpInst::ICMP_SGE}};
338 FCmp64Libcalls[CmpInst::FCMP_UGT] = {{RTLIB::OLE_F64, CmpInst::ICMP_SGT}};
338 FCmp64Libcalls[CmpInst::FCMP_UGT] = {{RTLIB::OLE_F64, CmpInst::ICMP_SGT}};
339 FCmp64Libcalls[CmpInst::FCMP_ULE] = {{RTLIB::OGT_F64, CmpInst::ICMP_SLE}};
339 FCmp64Libcalls[CmpInst::FCMP_ULE] = {{RTLIB::OGT_F64, CmpInst::ICMP_SLE}};
340 FCmp64Libcalls[CmpInst::FCMP_ULT] = {{RTLIB::OGE_F64, CmpInst::ICMP_SLT}};
340 FCmp64Libcalls[CmpInst::FCMP_ULT] = {{RTLIB::OGE_F64, CmpInst::ICMP_SLT}};
341 FCmp64Libcalls[CmpInst::FCMP_UNE] = {{RTLIB::UNE_F64, CmpInst::ICMP_NE}};
341 FCmp64Libcalls[CmpInst::FCMP_UNE] = {{RTLIB::UNE_F64, CmpInst::ICMP_NE}};
342 FCmp64Libcalls[CmpInst::FCMP_UNO] = {{RTLIB::UO_F64, CmpInst::ICMP_NE}};
342 FCmp64Libcalls[CmpInst::FCMP_UNO] = {{RTLIB::UO_F64, CmpInst::ICMP_NE}};
343 FCmp64Libcalls[CmpInst::FCMP_ONE] = {{RTLIB::OGT_F64, CmpInst::ICMP_SGT},
343 FCmp64Libcalls[CmpInst::FCMP_ONE] = {{RTLIB::OGT_F64, CmpInst::ICMP_SGT},
344 {RTLIB::OLT_F64, CmpInst::ICMP_SLT}};
345 FCmp64Libcalls[CmpInst::FCMP_UEQ] = {{RTLIB::OEQ_F64, CmpInst::ICMP_EQ},
345 FCmp64Libcalls[CmpInst::FCMP_UEQ] = {{RTLIB::OEQ_F64, CmpInst::ICMP_EQ},
346 {RTLIB::UO_F64, CmpInst::ICMP_NE}};
412 Predicate == CmpInst::FCMP_TRUE ? 1 : 0);
440 CmpInst::Predicate ResultPred = Libcall.Predicate;
441 if (ResultPred == CmpInst::BAD_ICMP_PREDICATE) {
lib/Target/ARM/ARMLegalizerInfo.h 49 CmpInst::Predicate Predicate;
lib/Target/ARM/MVETailPredication.cpp 204 CmpInst::Predicate Pred;
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp 680 CmpInst::Predicate P;
686 if (P != CmpInst::ICMP_EQ && P != CmpInst::ICMP_NE)
686 if (P != CmpInst::ICMP_EQ && P != CmpInst::ICMP_NE)
709 TrueIfZero = (P == CmpInst::ICMP_EQ);
711 TrueIfZero = (P == CmpInst::ICMP_NE);
796 CmpInst::Predicate P;
801 if (P != CmpInst::ICMP_EQ && P != CmpInst::ICMP_NE)
801 if (P != CmpInst::ICMP_EQ && P != CmpInst::ICMP_NE)
805 TrueIfZero = (P == CmpInst::ICMP_EQ);
808 if (P != CmpInst::ICMP_EQ && P != CmpInst::ICMP_NE)
808 if (P != CmpInst::ICMP_EQ && P != CmpInst::ICMP_NE)
812 TrueIfZero = (P == CmpInst::ICMP_NE);
991 if (CmpInst *CI = cast<CmpInst>(In))
991 if (CmpInst *CI = cast<CmpInst>(In))
lib/Target/Mips/MipsFastISel.cpp 180 bool emitCmp(unsigned DestReg, const CmpInst *CI);
638 bool MipsFastISel::emitCmp(unsigned ResultReg, const CmpInst *CI) {
647 CmpInst::Predicate P = CI->getPredicate();
652 case CmpInst::ICMP_EQ: {
658 case CmpInst::ICMP_NE: {
664 case CmpInst::ICMP_UGT:
667 case CmpInst::ICMP_ULT:
670 case CmpInst::ICMP_UGE: {
676 case CmpInst::ICMP_ULE: {
682 case CmpInst::ICMP_SGT:
685 case CmpInst::ICMP_SLT:
688 case CmpInst::ICMP_SGE: {
694 case CmpInst::ICMP_SLE: {
700 case CmpInst::FCMP_OEQ:
701 case CmpInst::FCMP_UNE:
702 case CmpInst::FCMP_OLT:
703 case CmpInst::FCMP_OLE:
704 case CmpInst::FCMP_OGT:
705 case CmpInst::FCMP_OGE: {
714 case CmpInst::FCMP_OEQ:
718 case CmpInst::FCMP_UNE:
722 case CmpInst::FCMP_OLT:
726 case CmpInst::FCMP_OLE:
730 case CmpInst::FCMP_OGT:
734 case CmpInst::FCMP_OGE:
960 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
960 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
987 const CmpInst *CI = cast<CmpInst>(I);
987 const CmpInst *CI = cast<CmpInst>(I);
lib/Target/Mips/MipsInstructionSelector.cpp 645 CmpInst::Predicate Cond =
649 case CmpInst::ICMP_EQ: // LHS == RHS -> (LHS ^ RHS) < 1
653 case CmpInst::ICMP_NE: // LHS != RHS -> 0 < (LHS ^ RHS)
657 case CmpInst::ICMP_UGT: // LHS > RHS -> RHS < LHS
660 case CmpInst::ICMP_UGE: // LHS >= RHS -> !(LHS < RHS)
664 case CmpInst::ICMP_ULT: // LHS < RHS -> LHS < RHS
667 case CmpInst::ICMP_ULE: // LHS <= RHS -> !(RHS < LHS)
671 case CmpInst::ICMP_SGT: // LHS > RHS -> RHS < LHS
674 case CmpInst::ICMP_SGE: // LHS >= RHS -> !(LHS < RHS)
678 case CmpInst::ICMP_SLT: // LHS < RHS -> LHS < RHS
681 case CmpInst::ICMP_SLE: // LHS <= RHS -> !(RHS < LHS)
709 switch (CmpInst::Predicate Cond = static_cast<CmpInst::Predicate>(
711 case CmpInst::FCMP_UNO: // Unordered
712 case CmpInst::FCMP_ORD: // Ordered (OR)
714 isLogicallyNegated = Cond != CmpInst::FCMP_UNO;
716 case CmpInst::FCMP_OEQ: // Equal
717 case CmpInst::FCMP_UNE: // Not Equal (NEQ)
719 isLogicallyNegated = Cond != CmpInst::FCMP_OEQ;
721 case CmpInst::FCMP_UEQ: // Unordered or Equal
722 case CmpInst::FCMP_ONE: // Ordered or Greater Than or Less Than (OGL)
724 isLogicallyNegated = Cond != CmpInst::FCMP_UEQ;
726 case CmpInst::FCMP_OLT: // Ordered or Less Than
727 case CmpInst::FCMP_UGE: // Unordered or Greater Than or Equal (UGE)
729 isLogicallyNegated = Cond != CmpInst::FCMP_OLT;
731 case CmpInst::FCMP_ULT: // Unordered or Less Than
732 case CmpInst::FCMP_OGE: // Ordered or Greater Than or Equal (OGE)
734 isLogicallyNegated = Cond != CmpInst::FCMP_ULT;
736 case CmpInst::FCMP_OLE: // Ordered or Less Than or Equal
737 case CmpInst::FCMP_UGT: // Unordered or Greater Than (UGT)
739 isLogicallyNegated = Cond != CmpInst::FCMP_OLE;
741 case CmpInst::FCMP_ULE: // Unordered or Less Than or Equal
742 case CmpInst::FCMP_OGT: // Ordered or Greater Than (OGT)
744 isLogicallyNegated = Cond != CmpInst::FCMP_ULE;
lib/Target/PowerPC/PPCFastISel.cpp 205 static Optional<PPC::Predicate> getComparePred(CmpInst::Predicate Pred) {
208 case CmpInst::FCMP_FALSE:
209 case CmpInst::FCMP_TRUE:
226 case CmpInst::FCMP_UEQ:
227 case CmpInst::FCMP_UGT:
228 case CmpInst::FCMP_ULT:
229 case CmpInst::FCMP_OGE:
230 case CmpInst::FCMP_OLE:
231 case CmpInst::FCMP_ONE:
235 case CmpInst::FCMP_OEQ:
236 case CmpInst::ICMP_EQ:
239 case CmpInst::FCMP_OGT:
240 case CmpInst::ICMP_UGT:
241 case CmpInst::ICMP_SGT:
244 case CmpInst::FCMP_UGE:
245 case CmpInst::ICMP_UGE:
246 case CmpInst::ICMP_SGE:
249 case CmpInst::FCMP_OLT:
250 case CmpInst::ICMP_ULT:
251 case CmpInst::ICMP_SLT:
254 case CmpInst::FCMP_ULE:
255 case CmpInst::ICMP_ULE:
256 case CmpInst::ICMP_SLE:
259 case CmpInst::FCMP_UNE:
260 case CmpInst::ICMP_NE:
263 case CmpInst::FCMP_ORD:
266 case CmpInst::FCMP_UNO:
776 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
776 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
lib/Target/SystemZ/SystemZTDC.cpp 84 void convertFCmp(CmpInst &I);
87 void convertICmp(CmpInst &I);
121 void SystemZTDCPass::convertFCmp(CmpInst &I) {
143 if ((Pred & CmpInst::FCMP_OGE) != CmpInst::FCMP_OGE &&
143 if ((Pred & CmpInst::FCMP_OGE) != CmpInst::FCMP_OGE &&
144 (Pred & CmpInst::FCMP_OGE) != 0)
149 if ((Pred & CmpInst::FCMP_OLE) != CmpInst::FCMP_OLE &&
149 if ((Pred & CmpInst::FCMP_OLE) != CmpInst::FCMP_OLE &&
150 (Pred & CmpInst::FCMP_OLE) != 0)
204 if (Pred & CmpInst::FCMP_OEQ)
206 if (Pred & CmpInst::FCMP_OGT)
208 if (Pred & CmpInst::FCMP_OLT)
210 if (Pred & CmpInst::FCMP_UNO)
231 void SystemZTDCPass::convertICmp(CmpInst &I) {
246 if (Pred == CmpInst::ICMP_SLT && Const->isZero()) {
249 } else if (Pred == CmpInst::ICMP_SGT && Const->isMinusOne()) {
272 if (Pred == CmpInst::ICMP_NE) {
274 } else if (Pred == CmpInst::ICMP_EQ) {
319 convertFCmp(cast<CmpInst>(I));
321 convertICmp(cast<CmpInst>(I));
363 Value *ICmp = IRB.CreateICmp(CmpInst::ICMP_NE, TDC, Zero32);
lib/Target/SystemZ/SystemZTargetTransformInfo.cpp 630 if (CmpInst *CI = dyn_cast<CmpInst>(I->getOperand(0)))
630 if (CmpInst *CI = dyn_cast<CmpInst>(I->getOperand(0)))
634 if (CmpInst *CI0 = dyn_cast<CmpInst>(LogicI->getOperand(0)))
634 if (CmpInst *CI0 = dyn_cast<CmpInst>(LogicI->getOperand(0)))
635 if (isa<CmpInst>(LogicI->getOperand(1)))
819 switch (cast<CmpInst>(I)->getPredicate()) {
820 case CmpInst::Predicate::ICMP_NE:
821 case CmpInst::Predicate::ICMP_UGE:
822 case CmpInst::Predicate::ICMP_ULE:
823 case CmpInst::Predicate::ICMP_SGE:
824 case CmpInst::Predicate::ICMP_SLE:
827 case CmpInst::Predicate::FCMP_ONE:
828 case CmpInst::Predicate::FCMP_ORD:
829 case CmpInst::Predicate::FCMP_UEQ:
830 case CmpInst::Predicate::FCMP_UNO:
lib/Target/X86/X86FastISel.cpp 187 getX86SSEConditionCode(CmpInst::Predicate Predicate) {
202 case CmpInst::FCMP_OEQ: CC = 0; break;
203 case CmpInst::FCMP_OGT: NeedSwap = true; LLVM_FALLTHROUGH;
204 case CmpInst::FCMP_OLT: CC = 1; break;
205 case CmpInst::FCMP_OGE: NeedSwap = true; LLVM_FALLTHROUGH;
206 case CmpInst::FCMP_OLE: CC = 2; break;
207 case CmpInst::FCMP_UNO: CC = 3; break;
208 case CmpInst::FCMP_UNE: CC = 4; break;
209 case CmpInst::FCMP_ULE: NeedSwap = true; LLVM_FALLTHROUGH;
210 case CmpInst::FCMP_UGE: CC = 5; break;
211 case CmpInst::FCMP_ULT: NeedSwap = true; LLVM_FALLTHROUGH;
212 case CmpInst::FCMP_UGT: CC = 6; break;
213 case CmpInst::FCMP_ORD: CC = 7; break;
214 case CmpInst::FCMP_UEQ: CC = 8; break;
215 case CmpInst::FCMP_ONE: CC = 12; break;
1426 const CmpInst *CI = cast<CmpInst>(I);
1426 const CmpInst *CI = cast<CmpInst>(I);
1433 CmpInst::Predicate Predicate = optimizeCmpPredicate(CI);
1437 case CmpInst::FCMP_FALSE: {
1447 case CmpInst::FCMP_TRUE: {
1466 if (Predicate == CmpInst::FCMP_ORD || Predicate == CmpInst::FCMP_UNO) {
1466 if (Predicate == CmpInst::FCMP_ORD || Predicate == CmpInst::FCMP_UNO) {
1480 case CmpInst::FCMP_OEQ: SETFOpc = &SETFOpcTable[0][0]; break;
1481 case CmpInst::FCMP_UNE: SETFOpc = &SETFOpcTable[1][0]; break;
1635 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
1635 if (const CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition())) {
1640 CmpInst::Predicate Predicate = optimizeCmpPredicate(CI);
1643 case CmpInst::FCMP_FALSE: fastEmitBranch(FalseMBB, DbgLoc); return true;
1644 case CmpInst::FCMP_TRUE: fastEmitBranch(TrueMBB, DbgLoc); return true;
1654 if (Predicate == CmpInst::FCMP_ORD || Predicate == CmpInst::FCMP_UNO) {
1654 if (Predicate == CmpInst::FCMP_ORD || Predicate == CmpInst::FCMP_UNO) {
1663 Predicate = CmpInst::getInversePredicate(Predicate);
1674 case CmpInst::FCMP_OEQ:
1677 case CmpInst::FCMP_UNE:
1679 Predicate = CmpInst::FCMP_ONE;
2031 const auto *CI = dyn_cast<CmpInst>(Cond);
2031 const auto *CI = dyn_cast<CmpInst>(Cond);
2033 CmpInst::Predicate Predicate = optimizeCmpPredicate(CI);
2043 case CmpInst::FCMP_OEQ:
2045 Predicate = CmpInst::ICMP_NE;
2047 case CmpInst::FCMP_UNE:
2049 Predicate = CmpInst::ICMP_NE;
2161 CmpInst::Predicate Predicate = optimizeCmpPredicate(CI);
2166 if (Predicate == CmpInst::FCMP_ORD || Predicate == CmpInst::FCMP_UNO) {
2166 if (Predicate == CmpInst::FCMP_ORD || Predicate == CmpInst::FCMP_UNO) {
2302 const auto *CI = dyn_cast<CmpInst>(Cond);
2302 const auto *CI = dyn_cast<CmpInst>(Cond);
2365 if (const auto *CI = dyn_cast<CmpInst>(I->getOperand(0))) {
2365 if (const auto *CI = dyn_cast<CmpInst>(I->getOperand(0))) {
2366 CmpInst::Predicate Predicate = optimizeCmpPredicate(CI);
2370 case CmpInst::FCMP_FALSE: Opnd = I->getOperand(2); break;
2371 case CmpInst::FCMP_TRUE: Opnd = I->getOperand(1); break;
lib/Target/X86/X86InstrInfo.cpp 2259 X86::getX86ConditionCode(CmpInst::Predicate Predicate) {
2265 case CmpInst::FCMP_UEQ: CC = X86::COND_E; break;
2266 case CmpInst::FCMP_OLT: NeedSwap = true; LLVM_FALLTHROUGH;
2267 case CmpInst::FCMP_OGT: CC = X86::COND_A; break;
2268 case CmpInst::FCMP_OLE: NeedSwap = true; LLVM_FALLTHROUGH;
2269 case CmpInst::FCMP_OGE: CC = X86::COND_AE; break;
2270 case CmpInst::FCMP_UGT: NeedSwap = true; LLVM_FALLTHROUGH;
2271 case CmpInst::FCMP_ULT: CC = X86::COND_B; break;
2272 case CmpInst::FCMP_UGE: NeedSwap = true; LLVM_FALLTHROUGH;
2273 case CmpInst::FCMP_ULE: CC = X86::COND_BE; break;
2274 case CmpInst::FCMP_ONE: CC = X86::COND_NE; break;
2275 case CmpInst::FCMP_UNO: CC = X86::COND_P; break;
2276 case CmpInst::FCMP_ORD: CC = X86::COND_NP; break;
2277 case CmpInst::FCMP_OEQ: LLVM_FALLTHROUGH;
2278 case CmpInst::FCMP_UNE: CC = X86::COND_INVALID; break;
2281 case CmpInst::ICMP_EQ: CC = X86::COND_E; break;
2282 case CmpInst::ICMP_NE: CC = X86::COND_NE; break;
2283 case CmpInst::ICMP_UGT: CC = X86::COND_A; break;
2284 case CmpInst::ICMP_UGE: CC = X86::COND_AE; break;
2285 case CmpInst::ICMP_ULT: CC = X86::COND_B; break;
2286 case CmpInst::ICMP_ULE: CC = X86::COND_BE; break;
2287 case CmpInst::ICMP_SGT: CC = X86::COND_G; break;
2288 case CmpInst::ICMP_SGE: CC = X86::COND_GE; break;
2289 case CmpInst::ICMP_SLT: CC = X86::COND_L; break;
2290 case CmpInst::ICMP_SLE: CC = X86::COND_LE; break;
lib/Target/X86/X86InstrInfo.h 40 std::pair<CondCode, bool> getX86ConditionCode(CmpInst::Predicate Predicate);
lib/Target/X86/X86InstructionSelector.cpp 994 CmpInst::Predicate Predicate =
1005 case CmpInst::FCMP_OEQ:
1008 case CmpInst::FCMP_UNE:
lib/Target/X86/X86TargetTransformInfo.cpp 1711 switch (cast<CmpInst>(I)->getPredicate()) {
1712 case CmpInst::Predicate::ICMP_NE:
1716 case CmpInst::Predicate::ICMP_SGE:
1717 case CmpInst::Predicate::ICMP_SLE:
1721 case CmpInst::Predicate::ICMP_ULT:
1722 case CmpInst::Predicate::ICMP_UGT:
1727 case CmpInst::Predicate::ICMP_ULE:
1728 case CmpInst::Predicate::ICMP_UGE:
lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp 130 if (Pred != CmpInst::ICMP_EQ)
lib/Transforms/Coroutines/CoroFrame.cpp 943 isa<BinaryOperator>(&V) || isa<CmpInst>(&V) || isa<SelectInst>(&V);
lib/Transforms/IPO/GlobalOpt.cpp 971 if (isa<LoadInst>(Inst) || isa<CmpInst>(Inst)) {
lib/Transforms/IPO/LowerTypeTests.cpp 1304 ConstantExpr::getICmp(CmpInst::ICMP_NE, F,
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp 71 return ConstantInt::get(CmpInst::makeCmpResultType(LHS->getType()), 0);
73 return ConstantInt::get(CmpInst::makeCmpResultType(LHS->getType()), 1);
293 static bool decomposeBitTestICmp(Value *LHS, Value *RHS, CmpInst::Predicate &Pred,
936 CmpInst::Predicate Pred;
964 CmpInst::Predicate Pred = ICmp->getPredicate();
1032 CmpInst::Predicate Pred0, Pred1;
1270 if (CmpInst::isSigned(PredL) ||
1271 (ICmpInst::isEquality(PredL) && CmpInst::isSigned(PredR)))
2125 return Builder.CreateTrunc(A, CmpInst::makeCmpResultType(Ty));
2132 return Builder.CreateZExtOrTrunc(A, CmpInst::makeCmpResultType(Ty));
2158 AConst = ConstantExpr::getTrunc(AConst, CmpInst::makeCmpResultType(Ty));
2362 if (CmpInst::isSigned(PredL) ||
2363 (ICmpInst::isEquality(PredL) && CmpInst::isSigned(PredR)))
2827 if ((PredL == CmpInst::ICMP_SGT && match(LHS1, m_AllOnes()) &&
2828 PredR == CmpInst::ICMP_SGT && match(RHS1, m_AllOnes())) ||
2829 (PredL == CmpInst::ICMP_SLT && match(LHS1, m_Zero()) &&
2830 PredR == CmpInst::ICMP_SLT && match(RHS1, m_Zero()))) {
2836 if ((PredL == CmpInst::ICMP_SGT && match(LHS1, m_AllOnes()) &&
2837 PredR == CmpInst::ICMP_SLT && match(RHS1, m_Zero())) ||
2838 (PredL == CmpInst::ICMP_SLT && match(LHS1, m_Zero()) &&
2839 PredR == CmpInst::ICMP_SGT && match(RHS1, m_AllOnes()))) {
3091 CmpInst::Predicate Pred;
3093 cast<CmpInst>(Op0)->setPredicate(CmpInst::getInversePredicate(Pred));
3093 cast<CmpInst>(Op0)->setPredicate(CmpInst::getInversePredicate(Pred));
lib/Transforms/InstCombine/InstCombineCalls.cpp 3667 if ((IsInteger && (CCVal < CmpInst::FIRST_ICMP_PREDICATE ||
3668 CCVal > CmpInst::LAST_ICMP_PREDICATE)) ||
3669 (!IsInteger && (CCVal < CmpInst::FIRST_FCMP_PREDICATE ||
3670 CCVal > CmpInst::LAST_FCMP_PREDICATE)))
3702 CmpInst::Predicate SwapPred
3703 = CmpInst::getSwappedPredicate(static_cast<CmpInst::Predicate>(CCVal));
3711 if (CCVal != CmpInst::ICMP_EQ && CCVal != CmpInst::ICMP_NE)
3711 if (CCVal != CmpInst::ICMP_EQ && CCVal != CmpInst::ICMP_NE)
3720 if (CCVal == CmpInst::ICMP_EQ &&
3725 II->setArgOperand(2, ConstantInt::get(CC->getType(), CmpInst::ICMP_NE));
3729 CmpInst::Predicate SrcPred;
3746 if (CCVal == CmpInst::ICMP_EQ)
3747 SrcPred = CmpInst::getInversePredicate(SrcPred);
3749 Intrinsic::ID NewIID = CmpInst::isFPPredicate(SrcPred) ?
3773 if (CmpInst::isSigned(SrcPred)) {
3952 CmpInst::Predicate Pred;
lib/Transforms/InstCombine/InstCombineCasts.cpp 282 auto *Cmp = dyn_cast<CmpInst>(Sel->getCondition());
282 auto *Cmp = dyn_cast<CmpInst>(Sel->getCondition());
lib/Transforms/InstCombine/InstCombineCompares.cpp 147 CmpInst &ICI,
922 if (IndicesTheSame && CmpInst::makeCmpResultType(BaseType) == I.getType())
1095 Type *CmpTy = CmpInst::makeCmpResultType(Other->getType());
1098 ConstantInt::get(CmpTy, !CmpInst::isTrueWhenEqual(ICI.getPredicate())));
1159 Pred = CmpInst::getInversePredicate(Pred);
1218 Pred = CmpInst::getInversePredicate(Pred);
1393 CmpInst::Predicate Pred = Cmp.getPredicate();
1445 CmpInst::Predicate Pred = Cmp.getPredicate();
1483 CmpInst::Predicate Pred = Cmp.getPredicate();
1500 CmpInst::getInversePredicate(DomPred), *DomC);
1853 auto NewPred = Cmp.getPredicate() == CmpInst::ICMP_EQ ? CmpInst::ICMP_UGT
1853 auto NewPred = Cmp.getPredicate() == CmpInst::ICMP_EQ ? CmpInst::ICMP_UGT
1854 : CmpInst::ICMP_ULE;
1869 auto NewPred = Cmp.getPredicate() == CmpInst::ICMP_EQ ? CmpInst::ICMP_SGE
1869 auto NewPred = Cmp.getPredicate() == CmpInst::ICMP_EQ ? CmpInst::ICMP_SGE
1870 : CmpInst::ICMP_SLT;
1896 Pred = (Pred == CmpInst::ICMP_EQ) ? CmpInst::ICMP_ULE : CmpInst::ICMP_UGT;
1896 Pred = (Pred == CmpInst::ICMP_EQ) ? CmpInst::ICMP_ULE : CmpInst::ICMP_UGT;
1896 Pred = (Pred == CmpInst::ICMP_EQ) ? CmpInst::ICMP_ULE : CmpInst::ICMP_UGT;
1919 auto BOpc = Pred == CmpInst::ICMP_EQ ? Instruction::And : Instruction::Or;
1932 auto BOpc = Pred == CmpInst::ICMP_EQ ? Instruction::And : Instruction::Or;
2169 CmpInst::Predicate Pred = Cmp.getPredicate();
2197 if (Pred == CmpInst::ICMP_SLT || (Pred == CmpInst::ICMP_SGT && IsExact)) {
2197 if (Pred == CmpInst::ICMP_SLT || (Pred == CmpInst::ICMP_SGT && IsExact)) {
2204 if (Pred == CmpInst::ICMP_SGT) {
2212 if (Pred == CmpInst::ICMP_ULT || (Pred == CmpInst::ICMP_UGT && IsExact)) {
2212 if (Pred == CmpInst::ICMP_ULT || (Pred == CmpInst::ICMP_UGT && IsExact)) {
2219 if (Pred == CmpInst::ICMP_UGT) {
2567 CmpInst::Predicate Pred = Cmp.getPredicate();
3123 return CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_ULT,
3132 return CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_UGT,
3145 return CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_EQ,
3154 return CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_NE,
3677 const CmpInst::Predicate Pred = I.getPredicate();
3694 (CmpInst::isUnsigned(Pred) && BO0->hasNoUnsignedWrap()) ||
3695 (CmpInst::isSigned(Pred) && BO0->hasNoSignedWrap());
3699 (CmpInst::isUnsigned(Pred) && BO1->hasNoUnsignedWrap()) ||
3700 (CmpInst::isSigned(Pred) && BO1->hasNoSignedWrap());
3753 if (A && NoOp0WrapProblem && Pred == CmpInst::ICMP_SLT &&
3755 return new ICmpInst(CmpInst::ICMP_SLE, A, Op1);
3758 if (A && NoOp0WrapProblem && Pred == CmpInst::ICMP_SGE &&
3760 return new ICmpInst(CmpInst::ICMP_SGT, A, Op1);
3763 if (A && NoOp0WrapProblem && Pred == CmpInst::ICMP_SLE && match(B, m_One()))
3764 return new ICmpInst(CmpInst::ICMP_SLT, A, Op1);
3767 if (A && NoOp0WrapProblem && Pred == CmpInst::ICMP_SGT && match(B, m_One()))
3768 return new ICmpInst(CmpInst::ICMP_SGE, A, Op1);
3771 if (C && NoOp1WrapProblem && Pred == CmpInst::ICMP_SGT &&
3773 return new ICmpInst(CmpInst::ICMP_SGE, Op0, C);
3776 if (C && NoOp1WrapProblem && Pred == CmpInst::ICMP_SLE &&
3778 return new ICmpInst(CmpInst::ICMP_SLT, Op0, C);
3781 if (C && NoOp1WrapProblem && Pred == CmpInst::ICMP_SGE && match(D, m_One()))
3782 return new ICmpInst(CmpInst::ICMP_SGT, Op0, C);
3785 if (C && NoOp1WrapProblem && Pred == CmpInst::ICMP_SLT && match(D, m_One()))
3786 return new ICmpInst(CmpInst::ICMP_SLE, Op0, C);
3798 if (A && NoOp0WrapProblem && Pred == CmpInst::ICMP_ULE && match(B, m_One()))
3799 return new ICmpInst(CmpInst::ICMP_ULT, A, Op1);
3802 if (A && NoOp0WrapProblem && Pred == CmpInst::ICMP_UGT && match(B, m_One()))
3803 return new ICmpInst(CmpInst::ICMP_UGE, A, Op1);
3806 if (C && NoOp1WrapProblem && Pred == CmpInst::ICMP_UGE && match(D, m_One()))
3807 return new ICmpInst(CmpInst::ICMP_UGT, Op0, C);
3810 if (C && NoOp1WrapProblem && Pred == CmpInst::ICMP_ULT && match(D, m_One()))
3811 return new ICmpInst(CmpInst::ICMP_ULE, Op0, C);
3873 return new ICmpInst(CmpInst::getFlippedStrictnessPredicate(Pred), B, A);
3877 return new ICmpInst(CmpInst::getFlippedStrictnessPredicate(Pred), C, D);
4053 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_SGE)
4053 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_SGE)
4058 if (Pred == CmpInst::ICMP_NE || Pred == CmpInst::ICMP_SLT)
4058 if (Pred == CmpInst::ICMP_NE || Pred == CmpInst::ICMP_SLT)
4070 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_SLE)
4070 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_SLE)
4075 if (Pred == CmpInst::ICMP_NE || Pred == CmpInst::ICMP_SGT)
4075 if (Pred == CmpInst::ICMP_NE || Pred == CmpInst::ICMP_SGT)
4087 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_UGE)
4087 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_UGE)
4092 if (Pred == CmpInst::ICMP_NE || Pred == CmpInst::ICMP_ULT)
4092 if (Pred == CmpInst::ICMP_NE || Pred == CmpInst::ICMP_ULT)
4104 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_ULE)
4104 if (Pred == CmpInst::ICMP_EQ || Pred == CmpInst::ICMP_ULE)
4109 if (Pred == CmpInst::ICMP_NE || Pred == CmpInst::ICMP_UGT)
4109 if (Pred == CmpInst::ICMP_NE || Pred == CmpInst::ICMP_UGT)
4126 const CmpInst::Predicate Pred = I.getPredicate();
4382 return new ICmpInst(CmpInst::ICMP_SGT, X, Constant::getAllOnesValue(SrcTy));
4387 return new ICmpInst(CmpInst::ICMP_SLT, X, Constant::getNullValue(SrcTy));
4979 return Pred == CmpInst::ICMP_EQ
5011 Pred == CmpInst::ICMP_EQ ? CmpInst::ICMP_UGE : CmpInst::ICMP_ULT;
5011 Pred == CmpInst::ICMP_EQ ? CmpInst::ICMP_UGE : CmpInst::ICMP_ULT;
5011 Pred == CmpInst::ICMP_EQ ? CmpInst::ICMP_UGE : CmpInst::ICMP_ULT;
5151 llvm::Optional<std::pair<CmpInst::Predicate, Constant *>>
5152 llvm::getFlippedStrictnessPredicateAndConstant(CmpInst::Predicate Pred,
5160 CmpInst::Predicate UnsignedPred = ICmpInst::getUnsignedPredicate(Pred);
5195 CmpInst::Predicate NewPred = CmpInst::getFlippedStrictnessPredicate(Pred);
5195 CmpInst::Predicate NewPred = CmpInst::getFlippedStrictnessPredicate(Pred);
5237 case CmpInst::ICMP_EQ: // A == 0 -> !A
5238 case CmpInst::ICMP_ULE: // A <=u 0 -> !A
5239 case CmpInst::ICMP_SGE: // A >=s 0 -> !A
5246 case CmpInst::ICMP_NE: // A != 1 -> !A
5247 case CmpInst::ICMP_ULT: // A <u 1 -> !A
5248 case CmpInst::ICMP_SGT: // A >s -1 -> !A
5354 return CmpInst::Create(Instruction::ICmp, NewPred, NewX, Zero);
5357 static Instruction *foldVectorCmp(CmpInst &Cmp,
5369 CmpInst::Predicate P = Cmp.getPredicate();
5405 return CmpInst::Create(Instruction::ICmp, I.getPredicate(), V, Op1);
5409 return CmpInst::Create(Instruction::ICmp, I.getPredicate(), V, Op1);
5964 const CmpInst::Predicate Pred = I.getPredicate();
5998 if (Pred == CmpInst::FCMP_ORD || Pred == CmpInst::FCMP_UNO) {
5998 if (Pred == CmpInst::FCMP_ORD || Pred == CmpInst::FCMP_UNO) {
lib/Transforms/InstCombine/InstCombineInternal.h 99 static inline bool isCanonicalPredicate(CmpInst::Predicate Pred) {
101 case CmpInst::ICMP_NE:
102 case CmpInst::ICMP_ULE:
103 case CmpInst::ICMP_SLE:
104 case CmpInst::ICMP_UGE:
105 case CmpInst::ICMP_SGE:
107 case CmpInst::FCMP_ONE:
108 case CmpInst::FCMP_OLE:
109 case CmpInst::FCMP_OGE:
155 llvm::Optional<std::pair<CmpInst::Predicate, Constant *>>
156 getFlippedStrictnessPredicateAndConstant(CmpInst::Predicate Pred, Constant *C);
197 if (isa<CmpInst>(V))
906 GlobalVariable *GV, CmpInst &ICI,
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp 535 CmpInst::Predicate Pred;
lib/Transforms/InstCombine/InstCombinePHI.cpp 304 if (CmpInst *CI = dyn_cast<CmpInst>(I))
304 if (CmpInst *CI = dyn_cast<CmpInst>(I))
305 if (CI->getPredicate() != cast<CmpInst>(FirstInst)->getPredicate())
356 if (CmpInst *CIOp = dyn_cast<CmpInst>(FirstInst)) {
356 if (CmpInst *CIOp = dyn_cast<CmpInst>(FirstInst)) {
357 CmpInst *NewCI = CmpInst::Create(CIOp->getOpcode(), CIOp->getPredicate(),
357 CmpInst *NewCI = CmpInst::Create(CIOp->getOpcode(), CIOp->getPredicate(),
754 } else if (isa<BinaryOperator>(FirstInst) || isa<CmpInst>(FirstInst)) {
824 CmpInst *CIOp = cast<CmpInst>(FirstInst);
824 CmpInst *CIOp = cast<CmpInst>(FirstInst);
825 CmpInst *NewCI = CmpInst::Create(CIOp->getOpcode(), CIOp->getPredicate(),
825 CmpInst *NewCI = CmpInst::Create(CIOp->getOpcode(), CIOp->getPredicate(),
lib/Transforms/InstCombine/InstCombineSelect.cpp 51 CmpInst::Predicate Pred = getMinMaxPred(SPF);
63 CmpInst::Predicate Pred;
87 if (!IdC || !CmpInst::isFPPredicate(Pred))
1755 auto *Cmp = dyn_cast<CmpInst>(Cond);
1755 auto *Cmp = dyn_cast<CmpInst>(Cond);
1867 CmpInst::Predicate Pred;
2131 CmpInst::Predicate P = getMinMaxPred(SPF);
2226 CmpInst::Predicate Pred;
2230 CmpInst *Cond = cast<CmpInst>(CondVal);
2230 CmpInst *Cond = cast<CmpInst>(CondVal);
2231 Cond->setPredicate(CmpInst::getInversePredicate(Pred));
2441 Value *CmpLHS = cast<CmpInst>(CondVal)->getOperand(0);
2442 Value *CmpRHS = cast<CmpInst>(CondVal)->getOperand(1);
2447 CmpInst::Predicate MinMaxPred = getMinMaxPred(SPF, SPR.Ordered);
2450 if (CmpInst::isIntPredicate(MinMaxPred)) {
lib/Transforms/InstCombine/InstCombineVectorOps.cpp 72 CmpInst::Predicate UnusedPred;
386 CmpInst::Predicate Pred;
392 return CmpInst::Create(cast<CmpInst>(SrcVec)->getOpcode(), Pred, E0, E1);
392 return CmpInst::Create(cast<CmpInst>(SrcVec)->getOpcode(), Pred, E0, E1);
lib/Transforms/InstCombine/InstructionCombining.cpp 893 if (auto *CI = dyn_cast<CmpInst>(SI->getCondition())) {
893 if (auto *CI = dyn_cast<CmpInst>(SI->getCondition())) {
1031 } else if (CmpInst *CI = dyn_cast<CmpInst>(&I)) {
1031 } else if (CmpInst *CI = dyn_cast<CmpInst>(&I)) {
2577 CmpInst::Predicate Pred;
2582 CmpInst *Cond = cast<CmpInst>(BI.getCondition());
2582 CmpInst *Cond = cast<CmpInst>(BI.getCondition());
2583 Cond->setPredicate(CmpInst::getInversePredicate(Pred));
lib/Transforms/Instrumentation/ControlHeightReduction.cpp 497 isa<GetElementPtrInst>(I) || isa<CmpInst>(I) ||
1565 ICmp->setPredicate(CmpInst::getInversePredicate(ICmp->getPredicate()));
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp 443 void visitCmpInst(CmpInst &CI);
1412 void DFSanVisitor::visitCmpInst(CmpInst &CI) { visitOperandShadowInst(CI); }
lib/Transforms/Instrumentation/MemorySanitizer.cpp 2318 CmpInst::Predicate pre;
2331 (pre == CmpInst::ICMP_SLT || pre == CmpInst::ICMP_SGE)) ||
2331 (pre == CmpInst::ICMP_SLT || pre == CmpInst::ICMP_SGE)) ||
2333 (pre == CmpInst::ICMP_SGT || pre == CmpInst::ICMP_SLE))) {
2333 (pre == CmpInst::ICMP_SGT || pre == CmpInst::ICMP_SLE))) {
lib/Transforms/Instrumentation/PGOInstrumentation.cpp 272 OS << CmpInst::getPredicateName(CI->getPredicate()) << "_";
lib/Transforms/Scalar/CallSiteSplitting.cpp 136 CmpInst::Predicate Pred;
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp 302 static bool processCmp(CmpInst *Cmp, LazyValueInfo *LVI) {
369 LazyValueInfo::Tristate Value = LVI->getPredicateOnEdge(CmpInst::ICMP_EQ,
812 auto *C = dyn_cast<CmpInst>(V);
812 auto *C = dyn_cast<CmpInst>(V);
850 BBChanged |= processCmp(cast<CmpInst>(II), LVI);
lib/Transforms/Scalar/EarlyCSE.cpp 113 isa<CmpInst>(Inst) || isa<SelectInst>(Inst) ||
177 if (CmpInst *CI = dyn_cast<CmpInst>(Inst)) {
177 if (CmpInst *CI = dyn_cast<CmpInst>(Inst)) {
184 CmpInst::Predicate Pred = CI->getPredicate();
185 CmpInst::Predicate SwappedPred = CI->getSwappedPredicate();
216 CmpInst::Predicate Pred;
223 if (CmpInst::getInversePredicate(Pred) < Pred) {
224 Pred = CmpInst::getInversePredicate(Pred);
289 if (CmpInst *LHSCmp = dyn_cast<CmpInst>(LHSI)) {
289 if (CmpInst *LHSCmp = dyn_cast<CmpInst>(LHSI)) {
292 CmpInst *RHSCmp = cast<CmpInst>(RHSI);
292 CmpInst *RHSCmp = cast<CmpInst>(RHSI);
342 CmpInst::Predicate PredL, PredR;
346 CmpInst::getInversePredicate(PredL) == PredR)
lib/Transforms/Scalar/Float2Int.cpp 83 static CmpInst::Predicate mapFCmpPred(CmpInst::Predicate P) {
83 static CmpInst::Predicate mapFCmpPred(CmpInst::Predicate P) {
85 case CmpInst::FCMP_OEQ:
86 case CmpInst::FCMP_UEQ:
87 return CmpInst::ICMP_EQ;
88 case CmpInst::FCMP_OGT:
89 case CmpInst::FCMP_UGT:
90 return CmpInst::ICMP_SGT;
91 case CmpInst::FCMP_OGE:
92 case CmpInst::FCMP_UGE:
93 return CmpInst::ICMP_SGE;
94 case CmpInst::FCMP_OLT:
95 case CmpInst::FCMP_ULT:
96 return CmpInst::ICMP_SLT;
97 case CmpInst::FCMP_OLE:
98 case CmpInst::FCMP_ULE:
99 return CmpInst::ICMP_SLE;
100 case CmpInst::FCMP_ONE:
101 case CmpInst::FCMP_UNE:
102 return CmpInst::ICMP_NE;
104 return CmpInst::BAD_ICMP_PREDICATE;
139 if (mapFCmpPred(cast<CmpInst>(&I)->getPredicate()) !=
140 CmpInst::BAD_ICMP_PREDICATE)
475 CmpInst::Predicate P = mapFCmpPred(cast<CmpInst>(I)->getPredicate());
475 CmpInst::Predicate P = mapFCmpPred(cast<CmpInst>(I)->getPredicate());
lib/Transforms/Scalar/GVN.cpp 290 if (CmpInst *C = dyn_cast<CmpInst>(I)) {
290 if (CmpInst *C = dyn_cast<CmpInst>(I)) {
292 CmpInst::Predicate Predicate = C->getPredicate();
295 Predicate = CmpInst::getSwappedPredicate(Predicate);
309 CmpInst::Predicate Predicate,
314 e.type = CmpInst::makeCmpResultType(LHS->getType());
321 Predicate = CmpInst::getSwappedPredicate(Predicate);
571 CmpInst::Predicate Predicate,
1453 if (auto *CmpI = dyn_cast<CmpInst>(V)) {
1453 if (auto *CmpI = dyn_cast<CmpInst>(V)) {
1454 if (CmpI->getPredicate() == CmpInst::Predicate::ICMP_EQ ||
1455 CmpI->getPredicate() == CmpInst::Predicate::FCMP_OEQ ||
1456 (CmpI->getPredicate() == CmpInst::Predicate::FCMP_UEQ &&
1679 CmpInst::getSwappedPredicate(
1874 if (CmpInst *Cmp = dyn_cast<CmpInst>(LHS)) {
1874 if (CmpInst *Cmp = dyn_cast<CmpInst>(LHS)) {
1879 if ((isKnownTrue && Cmp->getPredicate() == CmpInst::ICMP_EQ) ||
1880 (isKnownFalse && Cmp->getPredicate() == CmpInst::ICMP_NE))
1884 if ((isKnownTrue && Cmp->getPredicate() == CmpInst::FCMP_OEQ) ||
1885 (isKnownFalse && Cmp->getPredicate() == CmpInst::FCMP_UNE)) {
1900 CmpInst::Predicate NotPred = Cmp->getInversePredicate();
2254 if (isa<CmpInst>(CurInst))
lib/Transforms/Scalar/GVNSink.cpp 400 if (CmpInst *C = dyn_cast<CmpInst>(I)) {
400 if (CmpInst *C = dyn_cast<CmpInst>(I)) {
401 CmpInst::Predicate Predicate = C->getPredicate();
lib/Transforms/Scalar/GuardWidening.cpp 566 CmpInst::Predicate Pred;
lib/Transforms/Scalar/IndVarSimplify.cpp 369 CmpInst::Predicate NewPred = CmpInst::BAD_ICMP_PREDICATE;
369 CmpInst::Predicate NewPred = CmpInst::BAD_ICMP_PREDICATE;
372 case CmpInst::FCMP_OEQ:
373 case CmpInst::FCMP_UEQ: NewPred = CmpInst::ICMP_EQ; break;
373 case CmpInst::FCMP_UEQ: NewPred = CmpInst::ICMP_EQ; break;
374 case CmpInst::FCMP_ONE:
375 case CmpInst::FCMP_UNE: NewPred = CmpInst::ICMP_NE; break;
375 case CmpInst::FCMP_UNE: NewPred = CmpInst::ICMP_NE; break;
376 case CmpInst::FCMP_OGT:
377 case CmpInst::FCMP_UGT: NewPred = CmpInst::ICMP_SGT; break;
377 case CmpInst::FCMP_UGT: NewPred = CmpInst::ICMP_SGT; break;
378 case CmpInst::FCMP_OGE:
379 case CmpInst::FCMP_UGE: NewPred = CmpInst::ICMP_SGE; break;
379 case CmpInst::FCMP_UGE: NewPred = CmpInst::ICMP_SGE; break;
380 case CmpInst::FCMP_OLT:
381 case CmpInst::FCMP_ULT: NewPred = CmpInst::ICMP_SLT; break;
381 case CmpInst::FCMP_ULT: NewPred = CmpInst::ICMP_SLT; break;
382 case CmpInst::FCMP_OLE:
383 case CmpInst::FCMP_ULE: NewPred = CmpInst::ICMP_SLE; break;
383 case CmpInst::FCMP_ULE: NewPred = CmpInst::ICMP_SLE; break;
410 if (NewPred == CmpInst::ICMP_SLE || NewPred == CmpInst::ICMP_SGT) {
410 if (NewPred == CmpInst::ICMP_SLE || NewPred == CmpInst::ICMP_SGT) {
419 if ((NewPred == CmpInst::ICMP_EQ || NewPred == CmpInst::ICMP_NE) &&
419 if ((NewPred == CmpInst::ICMP_EQ || NewPred == CmpInst::ICMP_NE) &&
436 if (NewPred == CmpInst::ICMP_SGE || NewPred == CmpInst::ICMP_SLT) {
436 if (NewPred == CmpInst::ICMP_SGE || NewPred == CmpInst::ICMP_SLT) {
445 if ((NewPred == CmpInst::ICMP_EQ || NewPred == CmpInst::ICMP_NE) &&
445 if ((NewPred == CmpInst::ICMP_EQ || NewPred == CmpInst::ICMP_NE) &&
1833 CmpInst::Predicate Pred;
1839 CmpInst::Predicate P =
1840 TrueDest ? Pred : CmpInst::getInversePredicate(Pred);
2780 if (SE->isLoopEntryGuardedByCond(L, CmpInst::ICMP_ULT,
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp 668 IsSigned ? CmpInst::ICMP_SGT : CmpInst::ICMP_UGT;
668 IsSigned ? CmpInst::ICMP_SGT : CmpInst::ICMP_UGT;
716 IsSigned ? CmpInst::ICMP_SLT : CmpInst::ICMP_ULT;
716 IsSigned ? CmpInst::ICMP_SLT : CmpInst::ICMP_ULT;
lib/Transforms/Scalar/JumpThreading.cpp 672 if (!isa<PHINode>(Source) && !isa<CmpInst>(Source))
768 if (CmpInst *Cmp = dyn_cast<CmpInst>(I)) {
768 if (CmpInst *Cmp = dyn_cast<CmpInst>(I)) {
773 CmpInst::Predicate Pred = Cmp->getPredicate();
1137 if (CmpInst *CondCmp = dyn_cast<CmpInst>(CondInst)) {
1137 if (CmpInst *CondCmp = dyn_cast<CmpInst>(CondInst)) {
1202 if (CmpInst *CondCmp = dyn_cast<CmpInst>(SimplifyValue))
1202 if (CmpInst *CondCmp = dyn_cast<CmpInst>(SimplifyValue))
2497 bool JumpThreadingPass::TryToUnfoldSelect(CmpInst *CondCmp, BasicBlock *BB) {
lib/Transforms/Scalar/LICM.cpp 1038 isa<SelectInst>(I) || isa<GetElementPtrInst>(I) || isa<CmpInst>(I) ||
lib/Transforms/Scalar/LoopIdiomRecognize.cpp 236 bool detectBCmpIdiom(ICmpInst *&BCmpInst, CmpInst *&LatchCmpInst,
240 void transformLoopToBCmp(ICmpInst *BCmpInst, CmpInst *LatchCmpInst,
1765 CmpInst::Predicate Pred =
1766 (LbBr->getSuccessor(0) == Body) ? CmpInst::ICMP_NE : CmpInst::ICMP_EQ;
1766 (LbBr->getSuccessor(0) == Body) ? CmpInst::ICMP_NE : CmpInst::ICMP_EQ;
1872 CmpInst::Predicate Pred =
1873 (LbBr->getSuccessor(0) == Body) ? CmpInst::ICMP_UGT : CmpInst::ICMP_SLE;
1873 (LbBr->getSuccessor(0) == Body) ? CmpInst::ICMP_UGT : CmpInst::ICMP_SLE;
2126 CmpInst *&LatchCmpInst,
2151 LatchCmpInst = cast<CmpInst>(CmpLoop.LatchCmpValue); // way to combine
2592 CmpInst *LatchCmpInst,
2684 CmpInst *LatchCmpInst;
lib/Transforms/Scalar/LoopInterchange.cpp 886 if (isa<BranchInst>(I) || isa<CmpInst>(I) || isa<TruncInst>(I) ||
lib/Transforms/Scalar/LoopRerollPass.cpp 471 if (!isa<BranchInst>(TI) || !isa<CmpInst>(I))
1471 new ICmpInst(BI, CmpInst::ICMP_EQ, NewIV, TakenCount, "exitcond");
lib/Transforms/Scalar/LoopStrengthReduce.cpp 2249 if (Cond->getPredicate() != CmpInst::ICMP_EQ &&
2250 Cond->getPredicate() != CmpInst::ICMP_NE)
2268 CmpInst::Predicate Pred = ICmpInst::BAD_ICMP_PREDICATE;
2337 if (Cond->getPredicate() == CmpInst::ICMP_EQ)
2338 Pred = CmpInst::getInversePredicate(Pred);
lib/Transforms/Scalar/LoopUnswitch.cpp 1664 if (CI->getPredicate() == CmpInst::ICMP_EQ)
lib/Transforms/Scalar/LowerExpectIntrinsic.cpp 252 CmpInst::Predicate Predicate;
256 Predicate = CmpInst::ICMP_NE;
259 if (Predicate != CmpInst::ICMP_NE && Predicate != CmpInst::ICMP_EQ)
259 if (Predicate != CmpInst::ICMP_NE && Predicate != CmpInst::ICMP_EQ)
292 (Predicate == CmpInst::ICMP_EQ)) {
lib/Transforms/Scalar/NewGVN.cpp 1138 if (auto *CI = dyn_cast<CmpInst>(I)) {
1138 if (auto *CI = dyn_cast<CmpInst>(I)) {
1141 CmpInst::Predicate Predicate = CI->getPredicate();
1144 Predicate = CmpInst::getSwappedPredicate(Predicate);
1573 auto *Cmp = dyn_cast<CmpInst>(Cond);
1573 auto *Cmp = dyn_cast<CmpInst>(Cond);
1589 CmpInst::Predicate Predicate =
1594 if (Predicate == CmpInst::ICMP_EQ) {
1607 if ((PBranch->TrueEdge && Predicate == CmpInst::ICMP_EQ) ||
1608 (!PBranch->TrueEdge && Predicate == CmpInst::ICMP_NE)) {
1615 if (((PBranch->TrueEdge && Predicate == CmpInst::FCMP_OEQ) ||
1616 (!PBranch->TrueEdge && Predicate == CmpInst::FCMP_UNE)) &&
1837 auto *CI = cast<CmpInst>(I);
1837 auto *CI = cast<CmpInst>(I);
1904 auto *BranchCond = dyn_cast<CmpInst>(PBranch->Condition);
1904 auto *BranchCond = dyn_cast<CmpInst>(PBranch->Condition);
1918 if (CmpInst::isImpliedTrueByMatchingCmp(BranchPredicate,
1925 if (CmpInst::isImpliedFalseByMatchingCmp(BranchPredicate,
1940 CmpInst::getInversePredicate(OurPredicate)) {
2407 if (auto *CI = dyn_cast<CmpInst>(I))
2407 if (auto *CI = dyn_cast<CmpInst>(I))
2578 return isa<BinaryOperator>(I) || isa<SelectInst>(I) || isa<CmpInst>(I) ||
lib/Transforms/Scalar/SCCP.cpp 620 void visitCmpInst(CmpInst &I);
1062 void SCCPSolver::visitCmpInst(CmpInst &I) {
1221 auto *Cmp = dyn_cast<CmpInst>(Cond);
1221 auto *Cmp = dyn_cast<CmpInst>(Cond);
1240 if (PBranch->TrueEdge && Cmp->getPredicate() == CmpInst::ICMP_EQ) {
1248 if (!PBranch->TrueEdge && Cmp->getPredicate() == CmpInst::ICMP_NE) {
lib/Transforms/Utils/Evaluator.cpp 404 } else if (CmpInst *CI = dyn_cast<CmpInst>(CurInst)) {
404 } else if (CmpInst *CI = dyn_cast<CmpInst>(CurInst)) {
lib/Transforms/Utils/FlattenCFG.cpp 255 auto *CI = dyn_cast<CmpInst>(BI->getCondition());
255 auto *CI = dyn_cast<CmpInst>(BI->getCondition());
259 CmpInst::Predicate Predicate = CI->getPredicate();
261 if ((Predicate == CmpInst::ICMP_NE) || (Predicate == CmpInst::FCMP_ONE)) {
261 if ((Predicate == CmpInst::ICMP_NE) || (Predicate == CmpInst::FCMP_ONE)) {
lib/Transforms/Utils/FunctionComparator.cpp 570 if (const CmpInst *CI = dyn_cast<CmpInst>(L))
570 if (const CmpInst *CI = dyn_cast<CmpInst>(L))
571 return cmpNumbers(CI->getPredicate(), cast<CmpInst>(R)->getPredicate());
lib/Transforms/Utils/GlobalStatus.cpp 153 } else if (isa<CmpInst>(I)) {
lib/Transforms/Utils/LibCallsShrinkWrap.cpp 103 Value *createOrCond(CallInst *CI, CmpInst::Predicate Cmp, float Val,
104 CmpInst::Predicate Cmp2, float Val2) {
113 Value *createCond(IRBuilder<> &BBBuilder, Value *Arg, CmpInst::Predicate Cmp,
122 Value *createCond(CallInst *CI, CmpInst::Predicate Cmp, float Val) {
148 Cond = createOrCond(CI, CmpInst::FCMP_OLT, -1.0f, CmpInst::FCMP_OGT, 1.0f);
148 Cond = createOrCond(CI, CmpInst::FCMP_OLT, -1.0f, CmpInst::FCMP_OGT, 1.0f);
159 Cond = createOrCond(CI, CmpInst::FCMP_OEQ, INFINITY, CmpInst::FCMP_OEQ,
159 Cond = createOrCond(CI, CmpInst::FCMP_OEQ, INFINITY, CmpInst::FCMP_OEQ,
168 Cond = createCond(CI, CmpInst::FCMP_OLT, 1.0f);
176 Cond = createCond(CI, CmpInst::FCMP_OLT, 0.0f);
237 Cond = createOrCond(CI, CmpInst::FCMP_OLE, -1.0f, CmpInst::FCMP_OGE, 1.0f);
237 Cond = createOrCond(CI, CmpInst::FCMP_OLE, -1.0f, CmpInst::FCMP_OGE, 1.0f);
256 Cond = createCond(CI, CmpInst::FCMP_OLE, 0.0f);
266 Cond = createCond(CI, CmpInst::FCMP_OLE, -1.0f);
336 return createCond(CI, CmpInst::FCMP_OGT, UpperBound);
400 return createOrCond(CI, CmpInst::FCMP_OGT, UpperBound, CmpInst::FCMP_OLT,
400 return createOrCond(CI, CmpInst::FCMP_OGT, UpperBound, CmpInst::FCMP_OLT,
443 return BBBuilder.CreateFCmp(CmpInst::FCMP_OGT, Exp, V);
475 Value *Cond = BBBuilder.CreateFCmp(CmpInst::FCMP_OGT, Exp, V);
476 Value *Cond0 = BBBuilder.CreateFCmp(CmpInst::FCMP_OLE, Base, V0);
lib/Transforms/Utils/LoopSimplify.cpp 633 CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition());
633 CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition());
lib/Transforms/Utils/LoopUnrollPeel.cpp 188 CmpInst::Predicate Pred;
lib/Transforms/Utils/LoopUtils.cpp 745 CmpInst::Predicate P = CmpInst::ICMP_NE;
745 CmpInst::Predicate P = CmpInst::ICMP_NE;
750 P = CmpInst::ICMP_ULT;
753 P = CmpInst::ICMP_UGT;
756 P = CmpInst::ICMP_SLT;
759 P = CmpInst::ICMP_SGT;
762 P = CmpInst::FCMP_OLT;
765 P = CmpInst::FCMP_OGT;
lib/Transforms/Utils/PredicateInfo.cpp 323 void collectCmpOps(CmpInst *Comparison, SmallVectorImpl<Value *> &CmpOperands) {
356 CmpInst::Predicate Pred;
364 } else if (isa<CmpInst>(Operand)) {
369 if (auto *Cmp = dyn_cast<CmpInst>(Cond)) {
369 if (auto *Cmp = dyn_cast<CmpInst>(Cond)) {
420 CmpInst::Predicate Pred;
436 } else if (isa<CmpInst>(BI->getCondition())) {
440 if (auto *Cmp = dyn_cast<CmpInst>(Cond)) {
440 if (auto *Cmp = dyn_cast<CmpInst>(Cond)) {
lib/Transforms/Utils/SimplifyCFG.cpp 273 CmpInst *Ci2 = dyn_cast<CmpInst>(SI2->getCondition());
273 CmpInst *Ci2 = dyn_cast<CmpInst>(SI2->getCondition());
2533 if (!isa<BinaryOperator>(Inst) && !isa<CmpInst>(Inst))
2596 if (isa<CmpInst>(Curr)) {
2610 if (!Cond || (!isa<CmpInst>(Cond) && !isa<BinaryOperator>(Cond)) ||
2712 if (NewCond->hasOneUse() && isa<CmpInst>(NewCond)) {
2713 CmpInst *CI = cast<CmpInst>(NewCond);
2713 CmpInst *CI = cast<CmpInst>(NewCond);
4665 if (CmpInst *Cmp = dyn_cast<CmpInst>(I)) {
4665 if (CmpInst *Cmp = dyn_cast<CmpInst>(I)) {
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp 322 auto *LatchCmp = dyn_cast<CmpInst>(LatchBr->getCondition());
322 auto *LatchCmp = dyn_cast<CmpInst>(LatchBr->getCondition());
lib/Transforms/Vectorize/LoopVectorize.cpp 3054 CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_EQ, Count,
3054 CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_EQ, Count,
4208 auto *Cmp = cast<CmpInst>(&I);
4208 auto *Cmp = cast<CmpInst>(&I);
lib/Transforms/Vectorize/SLPVectorizer.cpp 218 if (auto *IC = dyn_cast<CmpInst>(I))
218 if (auto *IC = dyn_cast<CmpInst>(I))
2521 CmpInst::Predicate P0 = cast<CmpInst>(VL0)->getPredicate();
2521 CmpInst::Predicate P0 = cast<CmpInst>(VL0)->getPredicate();
2522 CmpInst::Predicate SwapP0 = CmpInst::getSwappedPredicate(P0);
2522 CmpInst::Predicate SwapP0 = CmpInst::getSwappedPredicate(P0);
2525 CmpInst *Cmp = cast<CmpInst>(V);
2525 CmpInst *Cmp = cast<CmpInst>(V);
2542 if (cast<CmpInst>(VL0)->isCommutative()) {
2550 auto *Cmp = cast<CmpInst>(V);
2550 auto *Cmp = cast<CmpInst>(V);
2913 else if (CmpInst *CI = dyn_cast<CmpInst>(VL[0]))
2913 else if (CmpInst *CI = dyn_cast<CmpInst>(VL[0]))
3903 CmpInst::Predicate P0 = cast<CmpInst>(VL0)->getPredicate();
3903 CmpInst::Predicate P0 = cast<CmpInst>(VL0)->getPredicate();
4961 isa<CmpInst>(I) || isa<SelectInst>(I) || isa<BinaryOperator>(I)) {
5639 if (!isa<BinaryOperator>(I) && !isa<CmpInst>(I))
6015 return CmpInst::makeCmpResultType(LHS->getType());
6176 CmpInst::Predicate Pred;
6205 case CmpInst::ICMP_ULT:
6206 case CmpInst::ICMP_ULE:
6209 case CmpInst::ICMP_SLT:
6210 case CmpInst::ICMP_SLE:
6213 case CmpInst::FCMP_OLT:
6214 case CmpInst::FCMP_OLE:
6215 case CmpInst::FCMP_ULT:
6216 case CmpInst::FCMP_ULE:
6220 case CmpInst::ICMP_UGT:
6221 case CmpInst::ICMP_UGE:
6224 case CmpInst::ICMP_SGT:
6225 case CmpInst::ICMP_SGE:
6228 case CmpInst::FCMP_OGT:
6229 case CmpInst::FCMP_OGE:
6230 case CmpInst::FCMP_UGT:
6231 case CmpInst::FCMP_UGE:
6530 Type *VecCondTy = CmpInst::makeCmpResultType(VecTy);
6561 CmpInst::makeCmpResultType(ScalarTy));
6857 bool SLPVectorizerPass::vectorizeCmpInst(CmpInst *CI, BasicBlock *BB,
6880 else if (auto *CI = dyn_cast<CmpInst>(I))
6880 else if (auto *CI = dyn_cast<CmpInst>(I))
7013 if (isa<InsertElementInst>(it) || isa<CmpInst>(it) ||
tools/clang/lib/CodeGen/CGBuiltin.cpp 2244 CmpInst::Predicate Pred = (BuiltinID == Builtin::BI__builtin_isinf)
2245 ? CmpInst::FCMP_OEQ
2246 : CmpInst::FCMP_ONE;
5814 Value *Op, llvm::Type *Ty, const CmpInst::Predicate Fp,
5815 const CmpInst::Predicate Ip, const Twine &Name) {
7787 llvm::CmpInst::Predicate P;
7807 llvm::CmpInst::Predicate P;
7827 llvm::CmpInst::Predicate P;
7852 llvm::CmpInst::Predicate P;
9622 CmpInst::Predicate Pred;
12010 return getVectorFCmpIR(CmpInst::FCMP_OEQ);
12013 return getVectorFCmpIR(CmpInst::FCMP_OLT);
12016 return getVectorFCmpIR(CmpInst::FCMP_OLE);
12019 return getVectorFCmpIR(CmpInst::FCMP_UNO);
12022 return getVectorFCmpIR(CmpInst::FCMP_UNE);
12025 return getVectorFCmpIR(CmpInst::FCMP_UGE);
12028 return getVectorFCmpIR(CmpInst::FCMP_UGT);
12031 return getVectorFCmpIR(CmpInst::FCMP_ORD);
tools/clang/lib/CodeGen/CGExprAgg.cpp 939 llvm::CmpInst::Predicate FCmp;
940 llvm::CmpInst::Predicate SCmp;
941 llvm::CmpInst::Predicate UCmp;
tools/clang/lib/CodeGen/CGExprScalar.cpp 796 Value *EmitCompare(const BinaryOperator *E, llvm::CmpInst::Predicate UICmpOpc,
797 llvm::CmpInst::Predicate SICmpOpc,
798 llvm::CmpInst::Predicate FCmpOpc);
2617 Result = Builder.CreateFCmp(llvm::CmpInst::FCMP_OEQ, Oper, Zero, "cmp");
2619 Result = Builder.CreateICmp(llvm::CmpInst::ICMP_EQ, Oper, Zero, "cmp");
3726 llvm::CmpInst::Predicate UICmpOpc,
3727 llvm::CmpInst::Predicate SICmpOpc,
3728 llvm::CmpInst::Predicate FCmpOpc) {
3971 LHS = Builder.CreateFCmp(llvm::CmpInst::FCMP_UNE, LHS, Zero, "cmp");
3972 RHS = Builder.CreateFCmp(llvm::CmpInst::FCMP_UNE, RHS, Zero, "cmp");
3974 LHS = Builder.CreateICmp(llvm::CmpInst::ICMP_NE, LHS, Zero, "cmp");
3975 RHS = Builder.CreateICmp(llvm::CmpInst::ICMP_NE, RHS, Zero, "cmp");
4055 LHS = Builder.CreateFCmp(llvm::CmpInst::FCMP_UNE, LHS, Zero, "cmp");
4056 RHS = Builder.CreateFCmp(llvm::CmpInst::FCMP_UNE, RHS, Zero, "cmp");
4058 LHS = Builder.CreateICmp(llvm::CmpInst::ICMP_NE, LHS, Zero, "cmp");
4059 RHS = Builder.CreateICmp(llvm::CmpInst::ICMP_NE, RHS, Zero, "cmp");
tools/clang/lib/CodeGen/CodeGenFunction.h 3733 const llvm::CmpInst::Predicate Fp,
3734 const llvm::CmpInst::Predicate Ip,
tools/lldb/source/Expression/IRInterpreter.cpp 561 case CmpInst::ICMP_EQ:
562 case CmpInst::ICMP_NE:
563 case CmpInst::ICMP_UGT:
564 case CmpInst::ICMP_UGE:
565 case CmpInst::ICMP_ULT:
566 case CmpInst::ICMP_ULE:
567 case CmpInst::ICMP_SGT:
568 case CmpInst::ICMP_SGE:
569 case CmpInst::ICMP_SLT:
570 case CmpInst::ICMP_SLE:
1090 CmpInst::Predicate predicate = icmp_inst->getPredicate();
1117 case CmpInst::ICMP_EQ:
1120 case CmpInst::ICMP_NE:
1123 case CmpInst::ICMP_UGT:
1128 case CmpInst::ICMP_UGE:
1133 case CmpInst::ICMP_ULT:
1138 case CmpInst::ICMP_ULE:
1143 case CmpInst::ICMP_SGT:
1148 case CmpInst::ICMP_SGE:
1153 case CmpInst::ICMP_SLT:
1158 case CmpInst::ICMP_SLE:
tools/llvm-diff/DifferenceEngine.cpp 254 if (isa<CmpInst>(L)) {
255 if (cast<CmpInst>(L)->getPredicate()
256 != cast<CmpInst>(R)->getPredicate()) {
tools/llvm-stress/llvm-stress.cpp 654 (CmpInst::LAST_FCMP_PREDICATE - CmpInst::FIRST_FCMP_PREDICATE) +
654 (CmpInst::LAST_FCMP_PREDICATE - CmpInst::FIRST_FCMP_PREDICATE) +
655 CmpInst::FIRST_FCMP_PREDICATE;
658 (CmpInst::LAST_ICMP_PREDICATE - CmpInst::FIRST_ICMP_PREDICATE) +
658 (CmpInst::LAST_ICMP_PREDICATE - CmpInst::FIRST_ICMP_PREDICATE) +
659 CmpInst::FIRST_ICMP_PREDICATE;
662 Value *V = CmpInst::Create(fp ? Instruction::FCmp : Instruction::ICmp,
tools/polly/include/polly/CodeGen/IslNodeBuilder.h 222 isl::ast_expr getUpperBound(isl::ast_node For, CmpInst::Predicate &Predicate);
tools/polly/lib/CodeGen/IslExprBuilder.cpp 198 CmpInst::Predicate Pred;
203 Pred = CmpInst::ICMP_SGT;
206 Pred = CmpInst::ICMP_SLT;
527 CmpInst::Predicate Predicates[5][2] = {
528 {CmpInst::ICMP_EQ, CmpInst::ICMP_EQ},
528 {CmpInst::ICMP_EQ, CmpInst::ICMP_EQ},
529 {CmpInst::ICMP_SLE, CmpInst::ICMP_ULE},
529 {CmpInst::ICMP_SLE, CmpInst::ICMP_ULE},
530 {CmpInst::ICMP_SLT, CmpInst::ICMP_ULT},
530 {CmpInst::ICMP_SLT, CmpInst::ICMP_ULT},
531 {CmpInst::ICMP_SGE, CmpInst::ICMP_UGE},
531 {CmpInst::ICMP_SGE, CmpInst::ICMP_UGE},
532 {CmpInst::ICMP_SGT, CmpInst::ICMP_UGT},
532 {CmpInst::ICMP_SGT, CmpInst::ICMP_UGT},
tools/polly/lib/CodeGen/IslNodeBuilder.cpp 193 CmpInst::Predicate Predicate;
201 if (Predicate == CmpInst::ICMP_SLT)
519 CmpInst::Predicate Predicate;
624 CmpInst::Predicate Predicate;
647 if (Predicate == CmpInst::ICMP_SLT)
tools/polly/lib/CodeGen/LoopGeneratorsKMP.cpp 207 Builder.CreateICmp(llvm::CmpInst::Predicate::ICMP_EQ, HasWork,
214 Builder.CreateICmp(llvm::CmpInst::Predicate::ICMP_EQ, HasWork,
233 Builder.CreateICmp(llvm::CmpInst::Predicate::ICMP_SLT, UB, AdjustedUB,
240 llvm::CmpInst::Predicate::ICMP_SLE, LB, UB, "polly.hasIteration");
unittests/Analysis/ScalarEvolutionTest.cpp 186 CmpInst *Cmp = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_ULT,
186 CmpInst *Cmp = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_ULT,
186 CmpInst *Cmp = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_ULT,
696 auto *Cmp = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_SGT, PN,
696 auto *Cmp = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_SGT, PN,
696 auto *Cmp = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_SGT, PN,
unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp 690 auto ICmp = B.buildICmp(CmpInst::ICMP_EQ, s1, Copies[0], Copies[1]);
unittests/CodeGen/MachineOperandTest.cpp 387 MachineOperand MO = MachineOperand::CreatePredicate(CmpInst::ICMP_EQ);
unittests/IR/ConstantRangeTest.cpp 1694 CmpInst::Predicate Pred;
usr/include/c++/7.4.0/type_traits 381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1983 { typedef _Up type; };