debug intrinsics might be marked norecurse to enable the caller function to be norecurse and optimized if needed. This avoids code gen optimisation differences when -g is used, as in globalOpt.cpp:processInternalGlobal checks.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Looks mostly good.
| lib/Transforms/IPO/FunctionAttrs.cpp | ||
|---|---|---|
| 1311 | Is there something like on the function level? http://www.llvm.org/doxygen/classllvm_1_1BasicBlock.html#a126c95a0ff18e58ac0c2c7439fb2dc6d | |
| test/Transforms/InferFunctionAttrs/norecurse_debug.ll | ||
| 54 | Do you need the TBAA info for the testcase? | |
| lib/Transforms/IPO/FunctionAttrs.cpp | ||
|---|---|---|
| 1311 | Yeah, I'd much prefer to iterate the filtered sequence here. | |
| lib/Transforms/IPO/FunctionAttrs.cpp | ||
|---|---|---|
| 1311 | not at function level but yes I can iterate on the BBs something like: for (auto &BB : *F) {
  for (auto &I : BB.instructionsWithoutDebug()) | |
| test/Transforms/InferFunctionAttrs/norecurse_debug.ll | ||
| 54 | indeed no, not related to this issue to the tbaa meta can be removed. | |
Is there something like on the function level?
http://www.llvm.org/doxygen/classllvm_1_1BasicBlock.html#a126c95a0ff18e58ac0c2c7439fb2dc6d