[llvm-commits] [llvm] r46698 - in /llvm/branches/release_22/lib/Target/X86: X86RegisterInfo.cpp X86RegisterInfo.h X86RegisterInfo.td
Tanya Lattner
tonic at nondot.org
Sun Feb 3 22:17:47 PST 2008
Author: tbrethou
Date: Mon Feb 4 00:17:46 2008
New Revision: 46698
URL: http://llvm.org/viewvc/llvm-project?rev=46698&view=rev
Log:
Merge from mainline.
Provide correct DWARF register numbering for debug information emission on x86-32/Darwin.
This should fix bunch of issues.
Modified:
llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.cpp
llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.h
llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.td
Modified: llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.cpp?rev=46698&r1=46697&r2=46698&view=diff
==============================================================================
--- llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.cpp Mon Feb 4 00:17:46 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/branches/release_22/lib/Target/X86/X86RegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.h?rev=46698&r1=46697&r2=46698&view=diff
==============================================================================
--- llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.h (original)
+++ llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.h Mon Feb 4 00:17:46 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/branches/release_22/lib/Target/X86/X86RegisterInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.td?rev=46698&r1=46697&r2=46698&view=diff
==============================================================================
--- llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.td (original)
+++ llvm/branches/release_22/lib/Target/X86/X86RegisterInfo.td Mon Feb 4 00:17:46 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
More information about the llvm-commits
mailing list