[llvm] r219899 - TRE: make TRE a bit more aggressive

Rafael EspĂ­ndola rafael.espindola at gmail.com
Fri Oct 17 13:35:15 PDT 2014


>> The PR7272 case doesn't have that problem. It could hypothetically be
>> lowered correctly, and IMO should be rejected by the backend instead of the
>> middle end.
>
>
> It's hard for the backend to redo the analysis to determine whether any
> byval arguments flow into tail calls. I think if we do this in the middle,
> the backend would have to simply not do tail calls in the case where there
> function has a byval argument.

It is not so much the backend, it is also the language spec:

It says "Both markers imply that the callee does not access allocas or
varargs from the caller." and I think that is what -dse was using in
pr7272 to break the code even before codegen.

Cheers,
Rafael



More information about the llvm-commits mailing list