Lines Matching refs:BoolFolding
130 template <typename Traits> class BoolFolding {
148 BoolFolding(const BoolFolding &) = delete;
149 BoolFolding &operator=(const BoolFolding &) = delete;
152 BoolFolding() = default;
176 : Instr(I), IsComplex(BoolFolding<Traits>::hasComplexLowering(I)) {}
179 typename BoolFolding<Traits>::BoolFoldingProducerKind
180 BoolFolding<Traits>::getProducerKind(const Inst *Instr) {
213 typename BoolFolding<Traits>::BoolFoldingConsumerKind
214 BoolFolding<Traits>::getConsumerKind(const Inst *Instr) {
240 bool BoolFolding<Traits>::hasComplexLowering(const Inst *Instr) {
253 bool BoolFolding<Traits>::isValidFolding(
254 typename BoolFolding<Traits>::BoolFoldingProducerKind ProducerKind,
255 typename BoolFolding<Traits>::BoolFoldingConsumerKind ConsumerKind) {
268 template <typename Traits> void BoolFolding<Traits>::init(CfgNode *Node) {
294 typename BoolFolding<Traits>::BoolFoldingConsumerKind ConsumerKind =
300 typename BoolFolding<Traits>::BoolFoldingProducerKind ProducerKind =
335 const Inst *BoolFolding<Traits>::getProducerFor(const Operand *Opnd) const {
347 void BoolFolding<Traits>::dump(const Cfg *Func) const {
375 void BoolFolding<Traits>::invalidateProducersOnStore(const Inst *Instr) {
2631 switch (BoolFolding<Traits>::getProducerKind(Producer)) {
2634 case BoolFolding<Traits>::PK_Icmp32:
2635 case BoolFolding<Traits>::PK_Icmp64: {
2639 case BoolFolding<Traits>::PK_Fcmp: {
2643 case BoolFolding<Traits>::PK_Arith: {
6685 switch (BoolFolding<Traits>::getProducerKind(Producer)) {
6688 case BoolFolding<Traits>::PK_Icmp32:
6689 case BoolFolding<Traits>::PK_Icmp64: {
6693 case BoolFolding<Traits>::PK_Fcmp: {