Lines Matching refs:Predicate
202 const TreePredicateFn &Predicate = Call.Fn; in isTrivialOperatorNode() local
204 if (Predicate.isAlwaysTrue()) in isTrivialOperatorNode()
207 if (Predicate.isImmediatePattern()) in isTrivialOperatorNode()
210 if (Predicate.hasNoUse() || Predicate.hasOneUse()) in isTrivialOperatorNode()
213 if (Predicate.isNonExtLoad() || Predicate.isAnyExtLoad() || in isTrivialOperatorNode()
214 Predicate.isSignExtLoad() || Predicate.isZeroExtLoad()) in isTrivialOperatorNode()
217 if (Predicate.isNonTruncStore() || Predicate.isTruncStore()) in isTrivialOperatorNode()
220 if (Predicate.isLoad() && Predicate.getMemoryVT()) in isTrivialOperatorNode()
223 if (Predicate.isLoad() || Predicate.isStore()) { in isTrivialOperatorNode()
224 if (Predicate.isUnindexed()) in isTrivialOperatorNode()
228 if (Predicate.isLoad() || Predicate.isStore() || Predicate.isAtomic()) { in isTrivialOperatorNode()
229 const ListInit *AddrSpaces = Predicate.getAddressSpaces(); in isTrivialOperatorNode()
233 if (Predicate.getMinAlignment() > 0) in isTrivialOperatorNode()
237 if (Predicate.isAtomic() && Predicate.getMemoryVT()) in isTrivialOperatorNode()
240 if (Predicate.isAtomic() && in isTrivialOperatorNode()
241 (Predicate.isAtomicOrderingMonotonic() || in isTrivialOperatorNode()
242 Predicate.isAtomicOrderingAcquire() || in isTrivialOperatorNode()
243 Predicate.isAtomicOrderingRelease() || in isTrivialOperatorNode()
244 Predicate.isAtomicOrderingAcquireRelease() || in isTrivialOperatorNode()
245 Predicate.isAtomicOrderingSequentiallyConsistent() || in isTrivialOperatorNode()
246 Predicate.isAtomicOrderingAcquireOrStronger() || in isTrivialOperatorNode()
247 Predicate.isAtomicOrderingWeakerThanAcquire() || in isTrivialOperatorNode()
248 Predicate.isAtomicOrderingReleaseOrStronger() || in isTrivialOperatorNode()
249 Predicate.isAtomicOrderingWeakerThanRelease())) in isTrivialOperatorNode()
252 if (Predicate.hasGISelPredicateCode()) in isTrivialOperatorNode()
259 Predicate.getOrigPatFragRecord()->getRecord()->getName()) in isTrivialOperatorNode()
431 void declareSubtargetFeature(Record *Predicate);
466 getMemSizeBitsFromPredicate(const TreePredicateFn &Predicate);
471 const TreePredicateFn &Predicate,
525 const TreePredicateFn &Predicate = Call.Fn; in getEquivNode() local
527 (Predicate.isLoad() || Predicate.isAtomic()) && in getEquivNode()
528 Predicate.isSignExtLoad()) in getEquivNode()
531 (Predicate.isLoad() || Predicate.isAtomic()) && in getEquivNode()
532 Predicate.isZeroExtLoad()) in getEquivNode()
560 const TreePredicateFn &Predicate) { in getMemSizeBitsFromPredicate() argument
562 MVTToLLT(getValueType(Predicate.getMemoryVT())); in getMemSizeBitsFromPredicate()
573 const Record *SrcGIEquivOrNull, const TreePredicateFn &Predicate, in addBuiltinPredicates() argument
575 if (Predicate.isLoad() || Predicate.isStore() || Predicate.isAtomic()) { in addBuiltinPredicates()
576 if (const ListInit *AddrSpaces = Predicate.getAddressSpaces()) { in addBuiltinPredicates()
593 int64_t MinAlign = Predicate.getMinAlignment(); in addBuiltinPredicates()
601 if (Predicate.isLoad() && Predicate.isNonExtLoad()) { in addBuiltinPredicates()
606 if (Predicate.isLoad() && Predicate.isAnyExtLoad()) { in addBuiltinPredicates()
612 if (Predicate.isStore()) { in addBuiltinPredicates()
613 if (Predicate.isTruncStore()) { in addBuiltinPredicates()
614 if (Predicate.getMemoryVT() != nullptr) { in addBuiltinPredicates()
616 auto MemSizeInBits = getMemSizeBitsFromPredicate(Predicate); in addBuiltinPredicates()
628 if (Predicate.isNonTruncStore()) { in addBuiltinPredicates()
639 Predicate.isSignExtLoad()) in addBuiltinPredicates()
644 Predicate.isZeroExtLoad()) in addBuiltinPredicates()
648 if (Predicate.isNonTruncStore()) in addBuiltinPredicates()
651 if (Predicate.isLoad() || Predicate.isStore() || Predicate.isAtomic()) { in addBuiltinPredicates()
652 if (Predicate.getMemoryVT() != nullptr) { in addBuiltinPredicates()
653 auto MemSizeInBits = getMemSizeBitsFromPredicate(Predicate); in addBuiltinPredicates()
663 if (Predicate.isLoad() || Predicate.isStore()) { in addBuiltinPredicates()
665 if (Predicate.isUnindexed()) in addBuiltinPredicates()
669 if (Predicate.isAtomic()) { in addBuiltinPredicates()
670 if (Predicate.isAtomicOrderingMonotonic()) { in addBuiltinPredicates()
674 if (Predicate.isAtomicOrderingAcquire()) { in addBuiltinPredicates()
678 if (Predicate.isAtomicOrderingRelease()) { in addBuiltinPredicates()
682 if (Predicate.isAtomicOrderingAcquireRelease()) { in addBuiltinPredicates()
687 if (Predicate.isAtomicOrderingSequentiallyConsistent()) { in addBuiltinPredicates()
694 if (Predicate.isAtomicOrderingAcquireOrStronger()) { in addBuiltinPredicates()
699 if (Predicate.isAtomicOrderingWeakerThanAcquire()) { in addBuiltinPredicates()
705 if (Predicate.isAtomicOrderingReleaseOrStronger()) { in addBuiltinPredicates()
710 if (Predicate.isAtomicOrderingWeakerThanRelease()) { in addBuiltinPredicates()
760 const TreePredicateFn &Predicate = Call.Fn; in createAndImportSelDAGMatcher() local
762 if (Predicate.isAlwaysTrue()) in createAndImportSelDAGMatcher()
765 if (Predicate.isImmediatePattern()) { in createAndImportSelDAGMatcher()
766 InsnMatcher.addPredicate<InstructionImmPredicateMatcher>(Predicate); in createAndImportSelDAGMatcher()
771 SrcGIEquivOrNull, Predicate, InsnMatcher, HasAddedBuiltinMatcher); in createAndImportSelDAGMatcher()
781 if (Predicate.hasNoUse()) { in createAndImportSelDAGMatcher()
785 if (Predicate.hasOneUse()) { in createAndImportSelDAGMatcher()
790 if (Predicate.hasGISelPredicateCode()) { in createAndImportSelDAGMatcher()
791 if (Predicate.usesOperands()) { in createAndImportSelDAGMatcher()
795 TreePattern *TP = Predicate.getOrigPatFragRecord(); in createAndImportSelDAGMatcher()
800 InsnMatcher.addPredicate<GenericInstructionPredicateMatcher>(Predicate); in createAndImportSelDAGMatcher()
1002 const TreePredicateFn &Predicate = Call.Fn; in importChildMatcher() local
1005 if (Predicate.isImmediatePattern()) { in importChildMatcher()
1006 OM.addPredicate<OperandImmPredicateMatcher>(Predicate); in importChildMatcher()
2515 void GlobalISelEmitter::declareSubtargetFeature(Record *Predicate) { in declareSubtargetFeature() argument
2516 SubtargetFeatures.try_emplace(Predicate, Predicate, SubtargetFeatures.size()); in declareSubtargetFeature()