[PATCH] D57584: [DebugInfo][DAG] Reduce SelectionDAGs reordering of variables referring to Arguments

Bjorn Pettersson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 12 14:45:45 PST 2019

bjope added inline comments.
Herald added a subscriber: jdoerfert.

Comment at: lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:4944
+  // FIXME: this function may hoist inlined function arguments across blocks.
Is this FIXME still relevant after https://reviews.llvm.org/rL353735 ? Maybe it can be removed after rebase?

Comment at: test/DebugInfo/Sparc/subreg.ll:29
 !10 = !DIBasicType(name: "long double", size: 128, encoding: DW_ATE_float)
-!13 = !DILocalVariable(name: "a", scope: !7, file: !1, line: 1, type: !14)
+!13 = !DILocalVariable(name: "a", scope: !7, arg: 1, file: !1, line: 1, type: !14)
 !14 = !DIBasicType(name: "complex", size: 256, encoding: DW_ATE_complex_float)
bjope wrote:
> I'm using a different solution in: https://reviews.llvm.org/D57702
> Maybe we should probably do something about this test case in a separate commit. It is apparently easy to break.
In the end I did not need to modify this test case in https://reviews.llvm.org/rL353735 .
You might wanna check again after rebase if this change still is needed.

Anyway, I think it is a little bit too brutal to make "a" appear as an argument in this test. The variable apparently wasn't an argument in the original program. So if the problem is that %b isn't live through the the function, then perhaps you can let fn1 return %b instead?



More information about the llvm-commits mailing list