Lines Matching defs:MemInst

961   Value *getMatchingValue(LoadValue &InVal, ParseMemoryInst &MemInst,
1249 Value *EarlyCSE::getMatchingValue(LoadValue &InVal, ParseMemoryInst &MemInst,
1253 if (InVal.MatchingId != MemInst.getMatchingId())
1256 if (MemInst.isVolatile() || !MemInst.isUnordered())
1259 if (MemInst.isLoad() && !InVal.IsAtomic && MemInst.isAtomic())
1262 // on whether MemInst is a load or a store. If it's a load, we will replace
1263 // MemInst with V, if it's a store, we will check if V is the same as the
1265 bool MemInstMatching = !MemInst.isLoad();
1266 Instruction *Matching = MemInstMatching ? MemInst.get() : InVal.DefInst;
1267 Instruction *Other = MemInstMatching ? InVal.DefInst : MemInst.get();
1271 Value *Result = MemInst.isStore()
1274 if (MemInst.isStore() && InVal.DefInst != Result)
1284 cast<IntrinsicInst>(MemInst.get())))
1288 if (!isOperatingOnInvariantMemAt(MemInst.get(), InVal.Generation) &&
1290 MemInst.get()))
1552 ParseMemoryInst MemInst(&Inst, TTI);
1554 if (MemInst.isValid() && MemInst.isLoad()) {
1557 if (MemInst.isVolatile() || !MemInst.isUnordered()) {
1562 if (MemInst.isInvariantLoad()) {
1580 LoadValue InVal = AvailableLoads.lookup(MemInst.getPointerOperand());
1581 if (Value *Op = getMatchingValue(InVal, MemInst, CurrentGeneration)) {
1602 AvailableLoads.insert(MemInst.getPointerOperand(),
1604 MemInst.getMatchingId(),
1605 MemInst.isAtomic(),
1606 MemInst.isLoad()));
1618 !(MemInst.isValid() && !MemInst.mayReadFromMemory()))
1691 if (MemInst.isValid() && MemInst.isStore()) {
1692 LoadValue InVal = AvailableLoads.lookup(MemInst.getPointerOperand());
1694 InVal.DefInst == getMatchingValue(InVal, MemInst, CurrentGeneration)) {
1701 MemInst.getPointerOperand() ||
1726 if (MemInst.isValid() && MemInst.isStore()) {
1730 if (overridingStores(ParseMemoryInst(LastStore, TTI), MemInst)) {
1752 AvailableLoads.insert(MemInst.getPointerOperand(),
1754 MemInst.getMatchingId(),
1755 MemInst.isAtomic(),
1756 MemInst.isLoad()));
1765 if (MemInst.isUnordered() && !MemInst.isVolatile())