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

Owen Anderson resistor at mac.com
Thu Jan 24 16:53:33 PST 2008


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2555 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20080124/d4561264/attachment.bin>


More information about the llvm-commits mailing list