summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2009-03-25 17:36:08 +0000
committerDale Johannesen <dalej@apple.com>2009-03-25 17:36:08 +0000
commiteb1646d28c799d641f0319d7c3f19760cc671779 (patch)
tree98da1e633183635f25a2f3bce2da759ace5ec3aa /llvm/lib/CodeGen
parent4b6c049b3f7de1a180a365b6976c4dd33ef02fe7 (diff)
downloadbcm5719-llvm-eb1646d28c799d641f0319d7c3f19760cc671779.tar.gz
bcm5719-llvm-eb1646d28c799d641f0319d7c3f19760cc671779.zip
When optimizing with debug info, don't keep the
stoppoint nodes around until Legalize; doing this imposed an ordering on a sequence of loads that came from different lines, interfering with scheduling. llvm-svn: 67692
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
index 8457bc35f50..a5d4caf824e 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
@@ -3895,10 +3895,11 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) {
DbgStopPointInst &SPI = cast<DbgStopPointInst>(I);
if (DW && DW->ValidDebugInfo(SPI.getContext())) {
MachineFunction &MF = DAG.getMachineFunction();
- DAG.setRoot(DAG.getDbgStopPoint(getRoot(),
- SPI.getLine(),
- SPI.getColumn(),
- SPI.getContext()));
+ if (Fast)
+ DAG.setRoot(DAG.getDbgStopPoint(getRoot(),
+ SPI.getLine(),
+ SPI.getColumn(),
+ SPI.getContext()));
DICompileUnit CU(cast<GlobalVariable>(SPI.getContext()));
std::string Dir, FN;
unsigned SrcFile = DW->getOrCreateSourceID(CU.getDirectory(Dir),
OpenPOWER on IntegriCloud