[llvm] r306529 - [X86] Correct dwarf unwind information in function epilogue

Peter Smith via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 29 03:55:34 PDT 2017


I've taken a look to see what affect this would have on CFI
instructions for AArch64.

My understanding concurs with Petar's explanation; that no extra CFI
instructions will be added if the default values in MachineBasicBlock
are used. I have a small concern that this assumption isn't really
obvious from the comments in initializeCFIInfo which leaves open the
possibility that someone else might inadvertently break this in the
future, although I guess the tests should pick this up fairly quickly
if it does.

Peter

On 29 June 2017 at 11:26, Petar Jovanovic via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> + Violeta
>
>> So, this says "[X86]", but is it really X86-specific? there is a pretty
>> huge set of changes to common CFI infrastructure that is used by PPC and
>> AArch64 at least.
>
> It is x86-specific in the way that improvements made in this patch should
> affect/improve x86 target only. Other arches can benefit if they make
> similar changes.
>
>> It seems like these late passes (that run on all targets from what I can
>> tell) *require* the new information to be set up in the basic block...
>
> Yes, but if the new information is not set (i.e. has default values), the
> passes would not make any changes. An alternative is to run these passes for
> selected target(s) only.
>
>> How does this work? Is this not a (serious) bug?
>
> Violeta has more description in https://reviews.llvm.org/D18046
> It should not be a bug, more like a place where things can be improved for
> other architectures too.
>
> So the passes should not be the problem. The only thing I am concerned is
> that other common code changes may have side effects elsewhere. There is
> a failure on PPC64 sanitizer buildbot and this change is on the blame list,
> so that is being investigated along with the case Eli has reported.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list