Teach the SDag type legalizer how to split up debug info for integer values that are split into a hi and lo part.
This is yet another a split-off from http://reviews.llvm.org/D2680
[I messed up the subsribers list previously. Reposting.]
Differential D4832
Debug info: Teach the SDag type legalizer how to split up debug info for integer values that are split into a hi and lo part.
aprantl on Aug 8 2014, 2:01 PM. Authored by
Details
Teach the SDag type legalizer how to split up debug info for integer values that are split into a hi and lo part. This is yet another a split-off from http://reviews.llvm.org/D2680 [I messed up the subsribers list previously. Reposting.]
Diff Detail Event Timeline
Comment Actions Thanks for the feedback, this is a all-around simplified revision of the previous patch! Particularly, I
Comment Actions As of now, for targets that do multiple-levels of splitting to legalise variables this patch isn't functional. [e.g. enable debug on MSP430 (patch available if you want it) and try something like] long lnot (long x) { return ~x; } c.f. long long qnot (long long x) { return ~x; } for the first case, the variable is correctly split into pieces. for the second it is not. PAIRA (p0, p1) / VAR => PAIR \ PAIRB (p2, p3) when p0,p1 are visited, the debug information is not present on the PAIRA - since that is only filled in when it is visited (subsequently, as we move from leaves leftwards). Function arguments are not handled at all by this process (they are split elsewhere, for the present I am assuming that this is intended to be handled by a separate patch?)
|
Not knowing much about any of this SelDAG code, I don't understand how this change is related to the rest of the patch - could you explain it?