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 <[EMAIL PROTECTED]> 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@cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits >> >> _______________________________________________ >> llvm-commits mailing list >> llvm-commits@cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits > _______________________________________________ > llvm-commits mailing list > llvm-commits@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits