[llvm] r178170 - Fix typo (common to both X86 and PPC)

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed Mar 27 13:59:38 PDT 2013


On Mar 27, 2013, at 1:56 PM, Michael Liao <michael.liao at intel.com> wrote:

> On Wed, 2013-03-27 at 13:48 -0700, Jakob Stoklund Olesen wrote:
>> On Mar 27, 2013, at 1:37 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>> 
>>>> As all registers are added in regmask, if function at that point
>>>> (EH_SjLj_Setup) uses base pointer register, it will be spilled and
>>>> restored from the restoreMBB. Your PPC implementation needs similar
>>>> thing to mask all registers clobbered at that point.
>>> 
>>> So it will spill even reserved registers? (I've been unclear myself on this part of the RA implementation).
>> 
>> RA never touches reserved registers. They are the responsibility of the target code.
> 
> RA will save callee-saved register if you mark them clobbered.

No, PrologEpilogInsertion does that with the help of the target.

> On X86,
> base pointer is chosen from a callee-saved register. If I understand
> right, I need reload that base pointer explicitly after longjmp, is that
> right?

If it is reserved, it won't happen automatically.

/jakob




More information about the llvm-commits mailing list