Lines Matching defs:Base
5864 /// pre-indexed load / store when the base pointer is an add or subtract
5915 // 1) The new base ptr is a frame index.
5916 // 2) If N is a store and the new base ptr is either the same as or is a
5918 // 3) Another use of old base ptr is a predecessor of N. If ptr is folded
5920 // 4) All uses are load / store ops that use it as old base ptr.
5987 // Replace the uses of Ptr with uses of the updated base value.
5997 /// add / sub of the base pointer node into a post-indexed load / store.
6049 // 1) All uses are load / store ops that use it as base ptr.
6117 // Replace the uses of Use with uses of the updated base value.
7096 SDValue Base;
7100 Base = V->getOperand(i);
7105 if (!Base.getNode())
7108 if (V->getOperand(i) != Base) {
7756 /// FindBaseOffset - Return true if base is a frame index, which is known not
7757 // to alias with anything but itself. Provides base object and offset as
7759 static bool FindBaseOffset(SDValue Ptr, SDValue &Base, int64_t &Offset,
7762 Base = Ptr; Offset = 0; GV = 0; CV = 0;
7765 if (Base.getOpcode() == ISD::ADD) {
7766 if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Base.getOperand(1))) {
7767 Base = Base.getOperand(0);
7775 if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Base)) {
7784 if (ConstantPoolSDNode *C = dyn_cast<ConstantPoolSDNode>(Base)) {
7791 return isa<FrameIndexSDNode>(Base);
7807 // Gather base node and offset information.
7815 // If they have a same base address then check to see if they overlap.