summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-04-07 19:22:18 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-04-07 19:22:18 +0000
commit28192c93980948293b7b2570154faca9ef30d892 (patch)
tree179a0e940852edaa62fd8f9d822dd7ad76232e3a /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
parente1f4ca1b0f219b89027c163557ab4ec8e61e0b19 (diff)
downloadbcm5719-llvm-28192c93980948293b7b2570154faca9ef30d892.tar.gz
bcm5719-llvm-28192c93980948293b7b2570154faca9ef30d892.zip
Fix ValueTracking to conclude that debug intrinsics are safe to
speculate. Without this, loop rotate (among many other places) would suddenly stop working in the presence of debug info. I found this looking at loop rotate, and have augmented its tests with a reduction out of a very hot loop in yacr2 where failing to do this rotation costs sometimes more than 10% in runtime performance, perturbing numerous downstream optimizations. This should have no impact on performance without debug info, but the change in performance when debug info is enabled can be extreme. As a consequence (and this how I got to this yak) any profiling of performance problems should be treated with deep suspicion -- they may have been wildly innacurate of debug info was enabled for profiling. =/ Just a heads up. llvm-svn: 154263
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud