Support for HiPE-compatible code emission

Nadav Rotem nrotem at apple.com
Thu Feb 14 12:52:24 PST 2013


Hi Yiannis,

Thanks for making the corrections.  This patch LGTM.  Do you want me (or someone else) to commit this for you ?

Thanks,
Nadav

On Feb 14, 2013, at 12:40 PM, Yiannis Tsiouris <gtsiour at softlab.ntua.gr> wrote:

> Hi Nadav,
> 
> On 02/14/2013 07:16 PM, Nadav Rotem wrote:
>> Please put all of the "HiPE" logic in one place. Most people don't know what HiPE is, and would prefer to skip it when they read the code. Write something like:
>> 
>> // Erlang stuff.
>> if (CallingConvention == CallingConv::HiPE) {
>>  ...
>> }
>> 
>>  if (Is64Bit)
>>    return Primary ? X86::R11 : X86::R12;
>>  ...
>>   
> That was how I had structured it in the beginning! :-) I changed it to match your suggestion.
> 
>> +/// GetScratchRegister - Get a temp register for performing work in the
>> +/// segmented stack and/or HiPE stack prologue. Depending on platform and the
>> +/// properties of the function either one or two registers will be needed. Set
>> +/// primary to true for the first register, false for the second.
>> 
>> Please remove " and/or HiPE" from the comment. This information does not help most people understand what this function does.
>>   
> I changed this to:
> 
> /// GetScratchRegister - Get a temp register for performing work in the
> /// segmented stack and the Erlang/HiPE stack prologue. Depending on platform
> /// and the properties of the function either one or two registers will be
> /// needed. Set primary to true for the first register, false for the second.
> 
> If this is not clear enough, just tell me and I'll change it as you wish.
> 
>> In the test case "X86/hipe-prologue.ll"  Please add comment that describes what HIPE is.
>>   
> ACK.
> 
> Re-sending the whole patch for completeness.
> 
> Best,
> yiannis
> 
> -- 
> Yiannis Tsiouris
> Ph.D. student,
> Software Engineering Laboratory,
> National Technical University of Athens
> WWW: http://www.softlab.ntua.gr/~gtsiour
> 
> <hipe-prologue-v4.patch>




More information about the llvm-commits mailing list