[LLVMdev] [PATH] Fixes for the amd64 JIT code

Zoltan Varga vargaz at gmail.com
Tue May 5 15:19:57 PDT 2009


Hi,

  It looks like the problem was with the RIP relative addressing. The
original patch mistakenly
removed the || DispForReloc part because I tough that the RIP relative
addressing was done
by the SIB encodings, but it is actually done by the shorter ones.
The attached patch seems to work for me on linux and when simulating darwin
by forcing some variables in X86TargetMachine.cpp to their darwin values.

                                Zoltan

On Tue, May 5, 2009 at 11:17 PM, Zoltan Varga <vargaz at gmail.com> wrote:

> Hi,
>
>   I can't reproduce these failures on my linux machine. The test machine
> seems to be
> running darwin. I suspect that the problem might be with RIP relative
> addressing, or with
> the encoding of R12/R13, but the code seems to handle the latter, since it
> checks for
> ESP/EBP which is the same as R12/R13.
>
>                 Zoltan
>
>
> On Tue, May 5, 2009 at 8:18 PM, Evan Cheng <evan.cheng at apple.com> wrote:
>
>> Hi Zoltan,
>>
>> The part that determines whether SIB byte is needed caused a lot of
>> regressions last night (see Geryon-X86-64 etc.). I've reverted it for
>> now. Please take a look.
>>
>> Thanks,
>>
>> Evan
>>
>> On May 4, 2009, at 3:49 PM, Evan Cheng wrote:
>>
>> > Committed as revision 70929. Thanks.
>> >
>> > Evan
>> >
>> > On May 3, 2009, at 8:29 PM, vargaz wrote:
>> >
>> >>
>> >> Hi,
>> >>
>> >> If this looks ok, could somebody check it in ?
>> >>
>> >>              thanks
>> >>
>> >>                  Zoltan
>> >>
>> >>
>> >> Evan Cheng-2 wrote:
>> >>>
>> >>> Looks good. Thanks.
>> >>>
>> >>> Evan
>> >>>
>> >>> On May 1, 2009, at 8:40 AM, Zoltan Varga wrote:
>> >>>
>> >>>> Hi,
>> >>>>
>> >>>> The attached patch contains the following changes:
>> >>>>
>> >>>> * X86InstrInfo.cpp: Synchronize a few places with the code in
>> >>>> X86CodeEmitter.cpp
>> >>>> * X86CodeEmitter.cpp: Avoid the longer SIB encoding on amd64 if it
>> >>>> is not neeed.
>> >>>>
>> >>>>       Zoltan
>> >>>> <llvm.diff>_______________________________________________
>> >>>> LLVM Developers mailing list
>> >>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> >>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> >>>
>> >>> _______________________________________________
>> >>> LLVM Developers mailing list
>> >>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> >>>
>> >>>
>> >>
>> >> --
>> >> View this message in context:
>> http://www.nabble.com/-PATH--Fixes-for-the-amd64-JIT-code-tp23335910p23362528.html
>> >> Sent from the LLVM - Dev mailing list archive at Nabble.com.
>> >>
>> >> _______________________________________________
>> >> LLVM Developers mailing list
>> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> >
>> > _______________________________________________
>> > LLVM Developers mailing list
>> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090506/c4f8b6d1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sib.diff
Type: text/x-diff
Size: 612 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090506/c4f8b6d1/attachment.diff>


More information about the llvm-dev mailing list