]> granicus.if.org Git - llvm/commit
GlobalISel: put debug info for static allocas in the MachineFunction.
authorTim Northover <tnorthover@apple.com>
Thu, 9 Mar 2017 21:12:06 +0000 (21:12 +0000)
committerTim Northover <tnorthover@apple.com>
Thu, 9 Mar 2017 21:12:06 +0000 (21:12 +0000)
commitdd48fdc1f17d794c740a50315d0128d48b68e7a7
treea9dfba7132a2cfe7afe4638aebf5d3f61102021b
parent5cf1d925cccec8815bf85c3870c087df508513eb
GlobalISel: put debug info for static allocas in the MachineFunction.

The good reason to do this is that static allocas are pretty simple to handle
(especially at -O0) and avoiding tracking DBG_VALUEs throughout the pipeline
should give some kind of performance benefit.

The bad reason is that the debug pipeline is an unholy mess of implicit
contracts, where determining whether "DBG_VALUE %reg, imm" actually implies a
load or not involves the services of at least 3 soothsayers and the sacrifice
of at least one chicken.  And it still gets it wrong if the variable is at SP
directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297410 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/GlobalISel/IRTranslator.cpp
lib/CodeGen/MachineFunction.cpp
test/CodeGen/AArch64/GlobalISel/debug-insts.ll