断言失败:(LHSCst!= RHSCst&&“比较不折叠?”)

时间:2011-08-26 21:07:33

标签: llvm alchemy llvm-gcc

我正在尝试使用ICU编译Alchemy v4.8.1,但遇到了LLVM问题:

Assertion failed: (LHSCst != RHSCst && "Compares not folded above?"), function visitAnd, file /Volumes/data/dev/FlaCC/llvm-2.1/lib/Transforms/Scalar/InstructionCombining.cpp, line 3465.
0   llvm-ld                             0x00264aee _ZNSt8_Rb_treeIN4llvm3sys4PathES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE13insert_uniqueERKS2_ + 6078
1   llvm-ld                             0x00265092 _ZNSt8_Rb_treeIN4llvm3sys4PathES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE13insert_uniqueERKS2_ + 7522
2   libSystem.B.dylib                   0x970a805b _sigtramp + 43
3   ???                                 0xffffffff 0x0 + 4294967295
4   libSystem.B.dylib                   0x971355a5 raise + 26
5   libSystem.B.dylib                   0x9714b6e4 abort + 93
6   libSystem.B.dylib                   0x9713820f __assert_rtn + 252
7   llvm-ld                             0x000a0816 _ZN4llvm15callDefaultCtorIN91_GLOBAL__N__Volumes_data_dev_FlaCC_llvm_2.1_lib_Transforms_Scalar_GVN.cpp_00000000_4964B02A3GVNEEEPNS_4PassEv + 252214
8   llvm-ld                             0x000cf25e _ZN4llvm11InstVisitorIN108_GLOBAL__N__Volumes_data_dev_FlaCC_llvm_2.1_lib_Transforms_Scalar_InstructionCombining.cpp_00000000_6BB61AFF12InstCombinerEPNS_11InstructionEE5visitERS3_ + 766
9   llvm-ld                             0x000c5895 _ZN4llvm15callDefaultCtorIN91_GLOBAL__N__Volumes_data_dev_FlaCC_llvm_2.1_lib_Transforms_Scalar_GVN.cpp_00000000_4964B02A3GVNEEEPNS_4PassEv + 403893
10  llvm-ld                             0x000c631c _ZN4llvm15callDefaultCtorIN91_GLOBAL__N__Volumes_data_dev_FlaCC_llvm_2.1_lib_Transforms_Scalar_GVN.cpp_00000000_4964B02A3GVNEEEPNS_4PassEv + 406588
11  llvm-ld                             0x002004a6 _ZN4llvm12FunctionPassD1Ev + 20998
12  llvm-ld                             0x002008fa _ZN4llvm12FunctionPassD1Ev + 22106
13  llvm-ld                             0x00200e51 _ZN4llvm12FunctionPassD1Ev + 23473
14  llvm-ld                             0x0020125a _ZN4llvm12FunctionPassD1Ev + 24506
15  llvm-ld                             0x002012da _ZN4llvm12FunctionPassD1Ev + 24634
16  llvm-ld                             0x00002f10 0x0 + 12048
17  llvm-ld                             0x000091e2 _ZN4llvm2cl3optINS_12PluginLoaderELb0ENS0_6parserISsEEE16handleOccurrenceEjPKcRKSs + 11986
18  llvm-ld                             0x00002706 0x0 + 9990
make[2]: *** [../../bin/genrb] Error 6
make[1]: *** [all-recursive] Error 2
make: *** [all-recursive] Error 2

哪种代码会在链接器中导致此问题?它似乎与投射有关(“左手侧投!=右手侧投”)。我不是要修改ICU代码以使其编译,但我不确定要修改什么。

1 个答案:

答案 0 :(得分:0)

可以是任何数量的东西。可能的原因是不良的llvm IR被送入链接器。你最好的办法是和炼金术士们交谈,看看他们在做什么,让他们去调试。