reference, declarationdefinition
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.inc
15870           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.inc
12786         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.inc
10071         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; };