In fuctions that contained debug info but were empty otherwise,
the ARM load/store optimizer could abort. This was because
function MergeReturnIntoLDM handled the special case where a
Machine Basic BLock is empty by calling MBB.empty(). However, this
returns false in presence of debug info, although the function
should be considered empty in the eyes of the load/store optimizer.
This has been fixed by handling the case where searching through the
block finds only debug instructions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Hello Renato, Duncan, James,
Would you have a few minutes to review this simple fix? The test case is quite verbose, but that's the debug info to blame :)
I have reduced it as much as I could; please let me know if that could be done better.
Many thanks,
Pablo