projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Teach bottom up pre-ra scheduler to track register pressure. Work in progress.
[oota-llvm.git]
/
lib
/
CodeGen
/
SelectionDAG
/
SelectionDAG.cpp
diff --git
a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index dac0d689c223f62d333fe6afb688d4bed72922ce..27d7a829d9fcf5ffdb3c6e9b1562a1facbab5293 100644
(file)
--- a/
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@
-975,7
+975,7
@@
SDValue SelectionDAG::getConstantFP(double Val, EVT VT, bool isTarget) {
}
}
}
}
-SDValue SelectionDAG::getGlobalAddress(const GlobalValue *GV,
+SDValue SelectionDAG::getGlobalAddress(const GlobalValue *GV,
DebugLoc DL,
EVT VT, int64_t Offset,
bool isTargetGA,
unsigned char TargetFlags) {
EVT VT, int64_t Offset,
bool isTargetGA,
unsigned char TargetFlags) {
@@
-1010,7
+1010,7
@@
SDValue SelectionDAG::getGlobalAddress(const GlobalValue *GV,
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
return SDValue(E, 0);
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
return SDValue(E, 0);
- SDNode *N = new (NodeAllocator) GlobalAddressSDNode(Opc, GV, VT,
+ SDNode *N = new (NodeAllocator) GlobalAddressSDNode(Opc,
DL,
GV, VT,
Offset, TargetFlags);
CSEMap.InsertNode(N, IP);
AllNodes.push_back(N);
Offset, TargetFlags);
CSEMap.InsertNode(N, IP);
AllNodes.push_back(N);
@@
-2236,7
+2236,7
@@
unsigned SelectionDAG::ComputeNumSignBits(SDValue Op, unsigned Depth) const{
bool SelectionDAG::isKnownNeverNaN(SDValue Op) const {
// If we're told that NaNs won't happen, assume they won't.
bool SelectionDAG::isKnownNeverNaN(SDValue Op) const {
// If we're told that NaNs won't happen, assume they won't.
- if (
FiniteOnlyFPMath()
)
+ if (
NoNaNsFPMath
)
return true;
// If the value is a constant, we can obviously see if it is a NaN or not.
return true;
// If the value is a constant, we can obviously see if it is a NaN or not.
@@
-3370,7
+3370,7
@@
static SDValue getMemcpyLoadsAndStores(SelectionDAG &DAG, DebugLoc dl,
// FIXME does the case above also need this?
EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
assert(NVT.bitsGE(VT));
// FIXME does the case above also need this?
EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
assert(NVT.bitsGE(VT));
- Value = DAG.getExtLoad(ISD::EXTLOAD,
dl, NVT
, Chain,
+ Value = DAG.getExtLoad(ISD::EXTLOAD,
NVT, dl
, Chain,
getMemBasePlusOffset(Src, SrcOff, DAG),
SrcSV, SrcSVOff + SrcOff, VT, isVol, false,
MinAlign(SrcAlign, SrcOff));
getMemBasePlusOffset(Src, SrcOff, DAG),
SrcSV, SrcSVOff + SrcOff, VT, isVol, false,
MinAlign(SrcAlign, SrcOff));
@@
-3895,8
+3895,8
@@
SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList,
}
SDValue
}
SDValue
-SelectionDAG::getLoad(ISD::MemIndexedMode AM,
DebugLoc dl
,
-
ISD::LoadExtType ExtType, EVT VT
, SDValue Chain,
+SelectionDAG::getLoad(ISD::MemIndexedMode AM,
ISD::LoadExtType ExtType
,
+
EVT VT, DebugLoc dl
, SDValue Chain,
SDValue Ptr, SDValue Offset,
const Value *SV, int SVOffset, EVT MemVT,
bool isVolatile, bool isNonTemporal,
SDValue Ptr, SDValue Offset,
const Value *SV, int SVOffset, EVT MemVT,
bool isVolatile, bool isNonTemporal,
@@
-3919,12
+3919,12
@@
SelectionDAG::getLoad(ISD::MemIndexedMode AM, DebugLoc dl,
MachineMemOperand *MMO =
MF.getMachineMemOperand(SV, Flags, SVOffset,
MemVT.getStoreSize(), Alignment);
MachineMemOperand *MMO =
MF.getMachineMemOperand(SV, Flags, SVOffset,
MemVT.getStoreSize(), Alignment);
- return getLoad(AM,
dl, ExtType, VT
, Chain, Ptr, Offset, MemVT, MMO);
+ return getLoad(AM,
ExtType, VT, dl
, Chain, Ptr, Offset, MemVT, MMO);
}
SDValue
}
SDValue
-SelectionDAG::getLoad(ISD::MemIndexedMode AM,
DebugLoc dl,
-
ISD::LoadExtType ExtType, EVT VT
, SDValue Chain,
+SelectionDAG::getLoad(ISD::MemIndexedMode AM,
ISD::LoadExtType ExtType,
+
EVT VT, DebugLoc dl
, SDValue Chain,
SDValue Ptr, SDValue Offset, EVT MemVT,
MachineMemOperand *MMO) {
if (VT == MemVT) {
SDValue Ptr, SDValue Offset, EVT MemVT,
MachineMemOperand *MMO) {
if (VT == MemVT) {
@@
-3974,18
+3974,18
@@
SDValue SelectionDAG::getLoad(EVT VT, DebugLoc dl,
bool isVolatile, bool isNonTemporal,
unsigned Alignment) {
SDValue Undef = getUNDEF(Ptr.getValueType());
bool isVolatile, bool isNonTemporal,
unsigned Alignment) {
SDValue Undef = getUNDEF(Ptr.getValueType());
- return getLoad(ISD::UNINDEXED,
dl, ISD::NON_EXTLOAD, VT
, Chain, Ptr, Undef,
+ return getLoad(ISD::UNINDEXED,
ISD::NON_EXTLOAD, VT, dl
, Chain, Ptr, Undef,
SV, SVOffset, VT, isVolatile, isNonTemporal, Alignment);
}
SV, SVOffset, VT, isVolatile, isNonTemporal, Alignment);
}
-SDValue SelectionDAG::getExtLoad(ISD::LoadExtType ExtType,
DebugLoc dl, EVT VT
,
+SDValue SelectionDAG::getExtLoad(ISD::LoadExtType ExtType,
EVT VT, DebugLoc dl
,
SDValue Chain, SDValue Ptr,
const Value *SV,
int SVOffset, EVT MemVT,
bool isVolatile, bool isNonTemporal,
unsigned Alignment) {
SDValue Undef = getUNDEF(Ptr.getValueType());
SDValue Chain, SDValue Ptr,
const Value *SV,
int SVOffset, EVT MemVT,
bool isVolatile, bool isNonTemporal,
unsigned Alignment) {
SDValue Undef = getUNDEF(Ptr.getValueType());
- return getLoad(ISD::UNINDEXED,
dl, ExtType, VT
, Chain, Ptr, Undef,
+ return getLoad(ISD::UNINDEXED,
ExtType, VT, dl
, Chain, Ptr, Undef,
SV, SVOffset, MemVT, isVolatile, isNonTemporal, Alignment);
}
SV, SVOffset, MemVT, isVolatile, isNonTemporal, Alignment);
}
@@
-3995,7
+3995,7
@@
SelectionDAG::getIndexedLoad(SDValue OrigLoad, DebugLoc dl, SDValue Base,
LoadSDNode *LD = cast<LoadSDNode>(OrigLoad);
assert(LD->getOffset().getOpcode() == ISD::UNDEF &&
"Load is already a indexed load!");
LoadSDNode *LD = cast<LoadSDNode>(OrigLoad);
assert(LD->getOffset().getOpcode() == ISD::UNDEF &&
"Load is already a indexed load!");
- return getLoad(AM,
dl, LD->getExtensionType(), OrigLoad.getValueType()
,
+ return getLoad(AM,
LD->getExtensionType(), OrigLoad.getValueType(), dl
,
LD->getChain(), Base, Offset, LD->getSrcValue(),
LD->getSrcValueOffset(), LD->getMemoryVT(),
LD->isVolatile(), LD->isNonTemporal(), LD->getAlignment());
LD->getChain(), Base, Offset, LD->getSrcValue(),
LD->getSrcValueOffset(), LD->getMemoryVT(),
LD->isVolatile(), LD->isNonTemporal(), LD->getAlignment());
@@
-5375,9
+5375,10
@@
HandleSDNode::~HandleSDNode() {
DropOperands();
}
DropOperands();
}
-GlobalAddressSDNode::GlobalAddressSDNode(unsigned Opc, const GlobalValue *GA,
+GlobalAddressSDNode::GlobalAddressSDNode(unsigned Opc, DebugLoc DL,
+ const GlobalValue *GA,
EVT VT, int64_t o, unsigned char TF)
EVT VT, int64_t o, unsigned char TF)
- : SDNode(Opc, D
ebugLoc()
, getSDVTList(VT)), Offset(o), TargetFlags(TF) {
+ : SDNode(Opc, D
L
, getSDVTList(VT)), Offset(o), TargetFlags(TF) {
TheGlobal = GA;
}
TheGlobal = GA;
}