Lines Matching refs:BoolFolding

117 template <typename Traits> class BoolFolding {
135 BoolFolding(const BoolFolding &) = delete;
136 BoolFolding &operator=(const BoolFolding &) = delete;
139 BoolFolding() = default;
163 : Instr(I), IsComplex(BoolFolding<Traits>::hasComplexLowering(I)) {}
166 typename BoolFolding<Traits>::BoolFoldingProducerKind
167 BoolFolding<Traits>::getProducerKind(const Inst *Instr) {
200 typename BoolFolding<Traits>::BoolFoldingConsumerKind
201 BoolFolding<Traits>::getConsumerKind(const Inst *Instr) {
227 bool BoolFolding<Traits>::hasComplexLowering(const Inst *Instr) {
240 bool BoolFolding<Traits>::isValidFolding(
241 typename BoolFolding<Traits>::BoolFoldingProducerKind ProducerKind,
242 typename BoolFolding<Traits>::BoolFoldingConsumerKind ConsumerKind) {
255 template <typename Traits> void BoolFolding<Traits>::init(CfgNode *Node) {
281 typename BoolFolding<Traits>::BoolFoldingConsumerKind ConsumerKind =
287 typename BoolFolding<Traits>::BoolFoldingProducerKind ProducerKind =
322 const Inst *BoolFolding<Traits>::getProducerFor(const Operand *Opnd) const {
334 void BoolFolding<Traits>::dump(const Cfg *Func) const {
362 void BoolFolding<Traits>::invalidateProducersOnStore(const Inst *Instr) {
2574 switch (BoolFolding<Traits>::getProducerKind(Producer)) {
2577 case BoolFolding<Traits>::PK_Icmp32:
2578 case BoolFolding<Traits>::PK_Icmp64: {
2582 case BoolFolding<Traits>::PK_Fcmp: {
2586 case BoolFolding<Traits>::PK_Arith: {
6632 switch (BoolFolding<Traits>::getProducerKind(Producer)) {
6635 case BoolFolding<Traits>::PK_Icmp32:
6636 case BoolFolding<Traits>::PK_Icmp64: {
6640 case BoolFolding<Traits>::PK_Fcmp: {