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