[llvm-commits] [llvm] r61030 - in /llvm/trunk: include/llvm/Attributes.h lib/AsmParser/llvmAsmParser.y lib/Bitcode/Writer/BitcodeWriter.cpp lib/VMCore/Attributes.cpp

Nick Lewycky nicholas at mxc.ca
Tue Dec 16 20:25:00 PST 2008


Bill Wendling wrote:
> On Tue, Dec 16, 2008 at 10:53 AM, Bill Wendling <isanbard at gmail.com> wrote:
>> On Tue, Dec 16, 2008 at 12:57 AM, Nick Lewycky <nicholas at mxc.ca> wrote:
>>> Bill Wendling wrote:
>>>> Nick,
>>>>
>>>> You patch r61019 is causing a bootstrap failure on PPC. Here's the
>>>> minimal testcase and the error:
>>>>
>>>> $ cat testcase.i
>>>> struct S {
>>>>    unsigned long long f1;
>>>>    unsigned long long f2;
>>>> };
>>>> static void func2(struct S);
>>>> void func1() {
>>>>    struct S a;
>>>>    func2(a);
>>>> }
>>>>
>>>> $ Volumes/SandBox/NightlyTest/test/llvm-gcc.obj/./prev-gcc/xgcc -B/
>>>> Volumes/SandBox/NightlyTest/test/llvm\
>>>> -gcc.obj/./prev-gcc/ -B/Volumes/SandBox/NightlyTest/test/llvm-
>>>> gcc.install/powerpc-apple-darwin9.5.0/bin\
>>>> / -c testcase.i
>>>> bash-3.2$ bash-3.2$ Assertion failed: (isPowerOf2_32(i) && "Alignment
>>>> must be a power of two."), functi\
>>>> on constructAlignmentFromInt, file /Volumes/SandBox/NightlyTest/test/
>>>> llvm.src/include/llvm/Attributes.h\
>>>> , line 81.
>>>> testcase.i: In function 'func1':
>>>> testcase.i:6: internal compiler error: Abort trap
>>>> Please submit a full bug report,
>>>> with preprocessed source if appropriate.
>>>> See <URL:http://developer.apple.com/bugreporter> for instructions.
>>>>
>>>> Unfortunately, this occurs in the front-end, so I can't create a .bc
>>>> file. Here is the backtrace:
>>>>
>>>> (gdb) bt
>>>> #0  0x95bfd278 in abort ()
>>>> #1  0x95bec904 in __assert_rtn ()
>>>> #2  0x0093396c in llvm::Attribute::constructAlignmentFromInt ()
>>>> #3  0x00862a6c in DefaultABI<(anonymous
>>>> namespace)::FunctionTypeConversion>::HandleArgument ()
>>>> #4  0x0084b4ec in TypeConverter::ConvertFunctionType ()
>>>> #5  0x007cf6fc in make_decl_llvm ()
>>>> #6  0x007e3790 in llvm_get_decl ()
>>>> #7  0x007e6fe0 in TreeToLLVM::EmitLV_DECL ()
>>>> #8  0x00816dcc in TreeToLLVM::EmitLV ()
>>>> #9  0x0081e7fc in TreeToLLVM::EmitADDR_EXPR ()
>>>> #10 0x00802734 in TreeToLLVM::Emit ()
>>>> #11 0x00801988 in TreeToLLVM::EmitCALL_EXPR ()
>>>> #12 0x00802750 in TreeToLLVM::Emit ()
>>>> #13 0x0081f558 in TreeToLLVM::EmitFunction ()
>>>> #14 0x007d22a4 in llvm_emit_code_for_current_function ()
>>>> #15 0x0018c3a8 in tree_rest_of_compilation ()
>>>> #16 0x0002d9bc in c_expand_body ()
>>>> #17 0x008df4dc in cgraph_expand_function ()
>>>> #18 0x008dba94 in cgraph_assemble_pending_functions ()
>>>> #19 0x008dc01c in cgraph_finalize_function ()
>>>> #20 0x0002d854 in finish_function ()
>>>> #21 0x000d88a0 in c_parser_declaration_or_fndef ()
>>>> #22 0x000d7afc in c_parser_external_declaration ()
>>>> #23 0x000d7968 in c_parser_translation_unit ()
>>>> #24 0x000eb214 in c_parse_file ()
>>>> #25 0x000c35dc in c_common_parse_file ()
>>>> #26 0x0070688c in compile_file ()
>>>> #27 0x007095e0 in do_compile ()
>>>> #28 0x00709680 in toplev_main ()
>>>> #29 0x0010b308 in main ()
>>>>
>>>> Could you back-out your changes and investigate?
>>> I'll do that if we can't resolve this quickly, but it's complicated by
>>> the fact that other patches have already gone in which depend on this
>>> one. I think it's just r61019 r61030 r61040 so far.
>>>
>>> The crash you pasted should only happen if there's a mismatch between
>>> LLVM and llvm-gcc versions. To be exact, it looks like llvm-gcc was
>>> picking up the newer Attribute.h from LLVM, while still linking against
>>> an older version of the LLVM libraries (perhaps installed in the system?).
>>>
>>> Could you please check to make sure that's not the case? If you're sure,
>>> I'll be happy to go ahead and back this change out (or you can do it if
>>> you like), but I want to be sure firts.
>>>
>> Hi Nick,
>>
>> It failed again last night, which was r61086. It was using the correct
>> header files.
>>
> Now it's failing on X86 in release mode. I'm going to go ahead and
> revert those patches.

Thanks Bill! I'll try to reproduce this locally and if I can't, I'll 
give you a buzz.

Nick

> 
> -bw
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 




More information about the llvm-commits mailing list