[llvm-commits] [llvm] r135219 - in /llvm/trunk: ./ autoconf/ cmake/ include/llvm-c/ include/llvm/Config/ include/llvm/Target/ lib/CodeGen/ lib/MC/MCDisassembler/ lib/Target/ARM/ lib/Target/ARM/MCTargetDesc/ lib/Target/Alpha/ lib/Target/Alpha/MCTa

Chandler Carruth chandlerc at google.com
Thu Jul 14 20:27:25 PDT 2011


On Thu, Jul 14, 2011 at 8:20 PM, Chandler Carruth <chandlerc at google.com>wrote:

> On Thu, Jul 14, 2011 at 5:41 PM, Chandler Carruth <chandlerc at google.com>wrote:
>
>> On Thu, Jul 14, 2011 at 5:29 PM, Evan Cheng <evan.cheng at apple.com> wrote:
>>
>>> Sorry and thanks!
>>
>>
>> In with r135234.
>>
>
> Evan, we're now seeing cyclic dependencies between X86CodeGen and
> X86Desc... I'm really not sure why though.
>
> I can only reproduce this using a Debug+Asserts build with GCC. Self hosted
> builds don't seem to suffer from the problem (???).
>
> I'm still trying to track down what the actual cycle is...
>

I think I found it:

% nm lib/libLLVMX86Desc.a | grep '  *U' | c++filt | grep llvm::X86::
                 U llvm::X86::CCRRegClass
                 U llvm::X86::GR8RegClass
                 U llvm::X86::RSTRegClass
                 U llvm::X86::FR32RegClass
                 U llvm::X86::FR64RegClass
                 U llvm::X86::GR16RegClass
                 U llvm::X86::GR32RegClass
                 U llvm::X86::GR64RegClass
                 U llvm::X86::VR64RegClass
                 U llvm::X86::RFP32RegClass
                 U llvm::X86::RFP64RegClass
                 U llvm::X86::RFP80RegClass
                 U llvm::X86::VR128RegClass
                 U llvm::X86::VR256RegClass
                 U llvm::X86::GR32_ADRegClass
                 U llvm::X86::GR32_TCRegClass
                 U llvm::X86::GR64_TCRegClass
                 U llvm::X86::DEBUG_REGRegClass
                 U llvm::X86::GR16_ABCDRegClass
                 U llvm::X86::GR32_ABCDRegClass
                 U llvm::X86::GR32_NOSPRegClass
                 U llvm::X86::GR64_ABCDRegClass
                 U llvm::X86::GR64_NOSPRegClass
                 U llvm::X86::GR8_NOREXRegClass
                 U llvm::X86::GR16_NOREXRegClass
                 U llvm::X86::GR32_NOREXRegClass
                 U llvm::X86::GR64_NOREXRegClass
                 U llvm::X86::GR64_TCW64RegClass
                 U llvm::X86::GR8_ABCD_HRegClass
                 U llvm::X86::GR8_ABCD_LRegClass
                 U llvm::X86::CONTROL_REGRegClass
                 U llvm::X86::SEGMENT_REGRegClass
                 U llvm::X86::GR32_NOREX_NOSPRegClass
                 U llvm::X86::GR64_NOREX_NOSPRegClass

And then looking at X86CodeGen:
% nm lib/libLLVMX86CodeGen.a | grep -v '  *U' | c++filt | grep
'llvm::X86::\w*RegClass'
0000000000000000 B llvm::X86::CCRRegClass
0000000000000b00 B llvm::X86::GR8RegClass
0000000000000e80 B llvm::X86::RSTRegClass
0000000000000180 B llvm::X86::FR32RegClass
0000000000000200 B llvm::X86::FR64RegClass
0000000000000280 B llvm::X86::GR16RegClass
0000000000000400 B llvm::X86::GR32RegClass
0000000000000780 B llvm::X86::GR64RegClass
0000000000001080 B llvm::X86::VR64RegClass
0000000000000d00 B llvm::X86::RFP32RegClass
0000000000000d80 B llvm::X86::RFP64RegClass
0000000000000e00 B llvm::X86::RFP80RegClass
0000000000000f80 B llvm::X86::VR128RegClass
0000000000001000 B llvm::X86::VR256RegClass
0000000000000500 B llvm::X86::GR32_ADRegClass
0000000000000700 B llvm::X86::GR32_TCRegClass
0000000000000a00 B llvm::X86::GR64_TCRegClass
0000000000000100 B llvm::X86::DEBUG_REGRegClass
0000000000000300 B llvm::X86::GR16_ABCDRegClass
0000000000000480 B llvm::X86::GR32_ABCDRegClass
0000000000000680 B llvm::X86::GR32_NOSPRegClass
0000000000000800 B llvm::X86::GR64_ABCDRegClass
0000000000000980 B llvm::X86::GR64_NOSPRegClass
0000000000000c80 B llvm::X86::GR8_NOREXRegClass
0000000000000380 B llvm::X86::GR16_NOREXRegClass
0000000000000580 B llvm::X86::GR32_NOREXRegClass
0000000000000880 B llvm::X86::GR64_NOREXRegClass
0000000000000a80 B llvm::X86::GR64_TCW64RegClass
0000000000000b80 B llvm::X86::GR8_ABCD_HRegClass
0000000000000c00 B llvm::X86::GR8_ABCD_LRegClass
0000000000000080 B llvm::X86::CONTROL_REGRegClass
0000000000000f00 B llvm::X86::SEGMENT_REGRegClass
0000000000000600 B llvm::X86::GR32_NOREX_NOSPRegClass
0000000000000900 B llvm::X86::GR64_NOREX_NOSPRegClass
0000000000003540 r llvm::X86::CCRSubRegClasses
00000000000036c0 r llvm::X86::GR8SubRegClasses
0000000000003880 r llvm::X86::RSTSubRegClasses
0000000000003600 r llvm::X86::FR32SubRegClasses
0000000000003640 r llvm::X86::FR64SubRegClasses
00000000000002e0 d llvm::X86::GR16SubRegClasses
00000000000003a0 d llvm::X86::GR32SubRegClasses
0000000000000560 d llvm::X86::GR64SubRegClasses
0000000000003900 r llvm::X86::VR64SubRegClasses
0000000000003938 r llvm::X86::CCRSuperRegClasses
00000000000008a0 d llvm::X86::GR8SuperRegClasses
00000000000037c0 r llvm::X86::RFP32SubRegClasses
0000000000003800 r llvm::X86::RFP64SubRegClasses
0000000000003840 r llvm::X86::RFP80SubRegClasses
00000000000039a8 r llvm::X86::RSTSuperRegClasses
00000000000006e0 d llvm::X86::VR128SubRegClasses
0000000000000720 d llvm::X86::VR256SubRegClasses
0000000000000760 d llvm::X86::FR32SuperRegClasses
0000000000000780 d llvm::X86::FR64SuperRegClasses
00000000000007a0 d llvm::X86::GR16SuperRegClasses
0000000000000830 d llvm::X86::GR32SuperRegClasses
0000000000003958 r llvm::X86::GR64SuperRegClasses
00000000000039c0 r llvm::X86::VR64SuperRegClasses
0000000000000420 d llvm::X86::GR32_ADSubRegClasses
0000000000000520 d llvm::X86::GR32_TCSubRegClasses
00000000000006a0 d llvm::X86::GR64_TCSubRegClasses
0000000000003990 r llvm::X86::RFP32SuperRegClasses
0000000000003998 r llvm::X86::RFP64SuperRegClasses
00000000000039a0 r llvm::X86::RFP80SuperRegClasses
0000000000000990 d llvm::X86::VR128SuperRegClasses
00000000000039b8 r llvm::X86::VR256SuperRegClasses
00000000000035c0 r llvm::X86::DEBUG_REGSubRegClasses
0000000000000320 d llvm::X86::GR16_ABCDSubRegClasses
00000000000003e0 d llvm::X86::GR32_ABCDSubRegClasses
0000000000003950 r llvm::X86::GR32_ADSuperRegClasses
00000000000004e0 d llvm::X86::GR32_NOSPSubRegClasses
0000000000000880 d llvm::X86::GR32_TCSuperRegClasses
00000000000005a0 d llvm::X86::GR64_ABCDSubRegClasses
0000000000000660 d llvm::X86::GR64_NOSPSubRegClasses
0000000000003980 r llvm::X86::GR64_TCSuperRegClasses
0000000000003780 r llvm::X86::GR8_NOREXSubRegClasses
0000000000000360 d llvm::X86::GR16_NOREXSubRegClasses
0000000000000460 d llvm::X86::GR32_NOREXSubRegClasses
00000000000005e0 d llvm::X86::GR64_NOREXSubRegClasses
0000000000003680 r llvm::X86::GR64_TCW64SubRegClasses
0000000000003700 r llvm::X86::GR8_ABCD_HSubRegClasses
0000000000003740 r llvm::X86::GR8_ABCD_LSubRegClasses
0000000000003580 r llvm::X86::CONTROL_REGSubRegClasses
0000000000003948 r llvm::X86::DEBUG_REGSuperRegClasses
00000000000007e0 d llvm::X86::GR16_ABCDSuperRegClasses
0000000000000840 d llvm::X86::GR32_ABCDSuperRegClasses
0000000000000870 d llvm::X86::GR32_NOSPSuperRegClasses
0000000000003960 r llvm::X86::GR64_ABCDSuperRegClasses
0000000000003978 r llvm::X86::GR64_NOSPSuperRegClasses
0000000000000960 d llvm::X86::GR8_NOREXSuperRegClasses
00000000000038c0 r llvm::X86::SEGMENT_REGSubRegClasses
0000000000000800 d llvm::X86::GR16_NOREXSuperRegClasses
0000000000000850 d llvm::X86::GR32_NOREXSuperRegClasses
0000000000003968 r llvm::X86::GR64_NOREXSuperRegClasses
0000000000003988 r llvm::X86::GR64_TCW64SuperRegClasses
00000000000008e0 d llvm::X86::GR8_ABCD_HSuperRegClasses
0000000000000920 d llvm::X86::GR8_ABCD_LSuperRegClasses
0000000000003940 r llvm::X86::CONTROL_REGSuperRegClasses
00000000000039b0 r llvm::X86::SEGMENT_REGSuperRegClasses
00000000000004a0 d llvm::X86::GR32_NOREX_NOSPSubRegClasses
0000000000000620 d llvm::X86::GR64_NOREX_NOSPSubRegClasses
0000000000000860 d llvm::X86::GR32_NOREX_NOSPSuperRegClasses
0000000000003970 r llvm::X86::GR64_NOREX_NOSPSuperRegClasses
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110714/7fe90e34/attachment.html>


More information about the llvm-commits mailing list