[llvm-commits] [llvm] r46337 - in /llvm/trunk/lib/Target/X86: X86RegisterInfo.cpp X86RegisterInfo.h X86RegisterInfo.td

Dale Johannesen dalej at apple.com
Thu Jan 24 17:47:18 PST 2008


On Jan 24, 2008, at 5:17 PM, Evan Cheng wrote:

> Woot. Thx a bunch. I'll look at more complicated cases.
>
> Evan

My bad.  Thanks Anton and sorry everybody.

> On Jan 24, 2008, at 4:53 PM, Owen Anderson <resistor at mac.com> wrote:
>
>> Evan, Chris,
>>
>> I've confirmed that basic testcases appear to be working with this
>> change.
>>
>> --Owen
>>
>> On Jan 24, 2008, at 6:34 PM, Anton Korobeynikov wrote:
>>
>>> Author: asl
>>> Date: Thu Jan 24 18:34:13 2008
>>> New Revision: 46337
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=46337&view=rev
>>> Log:
>>> Provide correct DWARF register numbering for debug information
>>> emission on x86-32/Darwin.
>>> This should fix bunch of issues.
>>>
>>> Modified:
>>>  llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
>>>  llvm/trunk/lib/Target/X86/X86RegisterInfo.h
>>>  llvm/trunk/lib/Target/X86/X86RegisterInfo.td
>>>
>>> Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp?rev=46337&r1=46336&r2=46337&view=diff
>>>
>>> ===
>>> ===
>>> ===
>>> =
>>> ====================================================================
>>> --- llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp (original)
>>> +++ llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Thu Jan 24
>>> 18:34:13 2008
>>> @@ -64,12 +64,15 @@
>>> unsigned Flavour = DWARFFlavour::X86_64;
>>> if (!Subtarget->is64Bit()) {
>>>   if (Subtarget->isTargetDarwin()) {
>>> -      Flavour = DWARFFlavour::X86_32_Darwin;
>>> +      if (isEH)
>>> +        Flavour = DWARFFlavour::X86_32_DarwinEH;
>>> +      else
>>> +        Flavour = DWARFFlavour::X86_32_Generic;
>>>   } else if (Subtarget->isTargetCygMing()) {
>>>     // Unsupported by now, just quick fallback
>>> -      Flavour = DWARFFlavour::X86_32_ELF;
>>> +      Flavour = DWARFFlavour::X86_32_Generic;
>>>   } else {
>>> -      Flavour = DWARFFlavour::X86_32_ELF;
>>> +      Flavour = DWARFFlavour::X86_32_Generic;
>>>   }
>>> }
>>>
>>>
>>> Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.h
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.h?rev=46337&r1=46336&r2=46337&view=diff
>>>
>>> ===
>>> ===
>>> ===
>>> =
>>> ====================================================================
>>> --- llvm/trunk/lib/Target/X86/X86RegisterInfo.h (original)
>>> +++ llvm/trunk/lib/Target/X86/X86RegisterInfo.h Thu Jan 24 18:34:13
>>> 2008
>>> @@ -36,7 +36,7 @@
>>> ///
>>> namespace DWARFFlavour {
>>> enum {
>>> -    X86_64 = 0, X86_32_Darwin = 1, X86_32_ELF = 2
>>> +    X86_64 = 0, X86_32_DarwinEH = 1, X86_32_Generic = 2
>>> };
>>> }
>>>
>>>
>>> Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.td
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.td?rev=46337&r1=46336&r2=46337&view=diff
>>>
>>> ===
>>> ===
>>> ===
>>> =
>>> ====================================================================
>>> --- llvm/trunk/lib/Target/X86/X86RegisterInfo.td (original)
>>> +++ llvm/trunk/lib/Target/X86/X86RegisterInfo.td Thu Jan 24
>>> 18:34:13 2008
>>> @@ -25,11 +25,8 @@
>>>
>>> // Dwarf numbering is different for 32-bit and 64-bit, and there are
>>> // variations by target as well. Currently the first entry is for
>>> X86-64,
>>> -  // second - for X86-32/Darwin and third for X86-32/Linux
>>> -
>>> -  // FIXME:  Comments in gcc indicate that Darwin uses different
>>> numbering
>>> -  // for debug info and exception handling info:(  The numbering
>>> here is
>>> -  // for exception handling.
>>> +  // second - for EH on X86-32/Darwin and third is 'generic' one
>>> (X86-32/Linux
>>> +  // and debug information on X86-32/Darwin)
>>>
>>> // 8-bit registers
>>> // Low registers
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list