[LLVMdev] Testing LLVM on OS X

Patrick Flanagan valtrain at mac.com
Wed May 5 20:44:01 PDT 2004


On May 4, 2004, at 10:36 PM, Chris Lattner wrote:

> On Tue, 4 May 2004, Chris Lattner wrote:
>> I suspect that a large reason that LLVM does worst than a native C
>> compiler with the CBE+GCC is that LLVM generates very low-level C 
>> code,
>> and I'm not convinced that GCC is doing a very good job (ie, without
>> syntactic loops).
>
> Yup, this is EXACTLY what is going on.

Interesting. Now that you mention it, I do recall thinking the loops 
that llvm generated looked a bit different than the gcc loops. I'll go 
back and take another look, but this might explain some of that 
discrepancy.

In response to the other email:

I'm using the -native-cbe option to generate the code. From your last 
email, it sounds like when you specify this option, it compiles 
everything to the llvm code, then the CBE generates C code based on the 
generated llvm code, and THAT is what is compiled to native code rather 
than the original code itself? That was one of the other things I was 
going to get around to asking about eventually, it seems like llvm 
takes an eternity and a half to link these programs, but if this 
"linking" is really llvm code -> c code -> compile & link again, that 
would explain why it takes so long.

I have to confess I'm not as familiar with gcc as I'd like to be. Where 
would gcc put the .s file (or what flags do I have to specify to create 
one?)  Also, where would llvm put the llvm code and the C code that the 
backend generates (or what do I need to specify to tell it to keep that 
around)?

I took a look at the inlining decisions that llvm prints out when you 
specify -Wl,-debug-only=inline. Let me make sure I understand how to 
interpret this output correctly:

Inliner visiting SCC: .gen_codes_26
   Inspecting function: .gen_codes_26
     Inlining: cost=100, Call: 	%tmp.37 = call uint %bi_reverse( uint 
%tmp.42, int %tmp.27 )		; <uint> [#uses=1]
Inliner visiting SCC: .pqdownheap_35
   Inspecting function: .pqdownheap_35
Inliner visiting SCC: .build_tree_41
   Inspecting function: .build_tree_41
     NOT Inlining: cost=501, Call: 	call void %.pqdownheap_35( 
%struct.ct_data* %tmp.2, int %n.1.0 )
     NOT Inlining: cost=466, Call: 	call void %.pqdownheap_35( 
%struct.ct_data* %tmp.2, int 1 )
     NOT Inlining: cost=466, Call: 	call void %.pqdownheap_35( 
%struct.ct_data* %tmp.2, int 1 )
     NOT Inlining: cost=406, Call: 	call void %.gen_codes_26( 
%struct.ct_data* %tmp.2, int %max_code.1.0 )

So it looks at each function to try to determine if it should be 
inlined, comes up with a "cost" to inline it based on what it takes as 
parameters and how often its called, and if this cost is below the 
threshold specified then it inlines it? What about this build_tree 
function from the log? It says multiple times its not inlined. Is the 
decisions whether to inline it or not made for the function as a whole 
(eg always inline or always don't) or is it decided on a call by call 
basis? What does it mean for something like pqdownheap where it doesn't 
give a cost with a yea or nay?

Also, on an unrelated note, I could have sworn all those benchmarks 
compiled but I went back to double check and I saw that there were a 
few problems.

253.perlbmk builds fine but crashes when running through the spec test. 
I recall seeing a note a few places on the website that said perlbmk 
didn't work properly due to a longjmp bug, is that still a known bug or 
should I try running that through a debugger to find the problem?

176.gcc generates an ICE when trying to compile with llvm and -O3.  
Here's the build log, are there any other files that might shed more 
light on this problem?

Patrick

We will use: 176.gcc
Compiling Binaries
   Building 176.gcc ref base ppc32_llvm default
specmake  clean 2> make.err | tee make.out
rm -rf cc1 cc1.exe *.o  core *.err *.out
specmake  build 2> make.err | tee make.out
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-parse.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-parse.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-lang.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-lang.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-lex.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-lex.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-pragma.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-pragma.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-decl.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-decl.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-typeck.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-typeck.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-convert.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-convert.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-aux-info.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-aux-info.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-common.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-common.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
c-iterate.o  -DHOST_WORDS_BIG_ENDIAN          -O3   c-iterate.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
toplev.o  -DHOST_WORDS_BIG_ENDIAN          -O3   toplev.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
version.o  -DHOST_WORDS_BIG_ENDIAN          -O3   version.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o tree.o 
  -DHOST_WORDS_BIG_ENDIAN          -O3   tree.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
print-tree.o  -DHOST_WORDS_BIG_ENDIAN          -O3   print-tree.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
stor-layout.o  -DHOST_WORDS_BIG_ENDIAN          -O3   stor-layout.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
fold-const.o  -DHOST_WORDS_BIG_ENDIAN          -O3   fold-const.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
function.o  -DHOST_WORDS_BIG_ENDIAN          -O3   function.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o stmt.o 
  -DHOST_WORDS_BIG_ENDIAN          -O3   stmt.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o expr.o 
  -DHOST_WORDS_BIG_ENDIAN          -O3   expr.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
calls.o  -DHOST_WORDS_BIG_ENDIAN          -O3   calls.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
expmed.o  -DHOST_WORDS_BIG_ENDIAN          -O3   expmed.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
explow.o  -DHOST_WORDS_BIG_ENDIAN          -O3   explow.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
optabs.o  -DHOST_WORDS_BIG_ENDIAN          -O3   optabs.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
varasm.o  -DHOST_WORDS_BIG_ENDIAN          -O3   varasm.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o rtl.o  
-DHOST_WORDS_BIG_ENDIAN          -O3   rtl.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
print-rtl.o  -DHOST_WORDS_BIG_ENDIAN          -O3   print-rtl.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
rtlanal.o  -DHOST_WORDS_BIG_ENDIAN          -O3   rtlanal.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
emit-rtl.o  -DHOST_WORDS_BIG_ENDIAN          -O3   emit-rtl.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o real.o 
  -DHOST_WORDS_BIG_ENDIAN          -O3   real.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
dbxout.o  -DHOST_WORDS_BIG_ENDIAN          -O3   dbxout.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
sdbout.o  -DHOST_WORDS_BIG_ENDIAN          -O3   sdbout.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
dwarfout.o  -DHOST_WORDS_BIG_ENDIAN          -O3   dwarfout.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
xcoffout.o  -DHOST_WORDS_BIG_ENDIAN          -O3   xcoffout.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
integrate.o  -DHOST_WORDS_BIG_ENDIAN          -O3   integrate.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o jump.o 
  -DHOST_WORDS_BIG_ENDIAN          -O3   jump.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o cse.o  
-DHOST_WORDS_BIG_ENDIAN          -O3   cse.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o loop.o 
  -DHOST_WORDS_BIG_ENDIAN          -O3   loop.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
unroll.o  -DHOST_WORDS_BIG_ENDIAN          -O3   unroll.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o flow.o 
  -DHOST_WORDS_BIG_ENDIAN          -O3   flow.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
stupid.o  -DHOST_WORDS_BIG_ENDIAN          -O3   stupid.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
combine.o  -DHOST_WORDS_BIG_ENDIAN          -O3   combine.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
regclass.o  -DHOST_WORDS_BIG_ENDIAN          -O3   regclass.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
local-alloc.o  -DHOST_WORDS_BIG_ENDIAN          -O3   local-alloc.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
global.o  -DHOST_WORDS_BIG_ENDIAN          -O3   global.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
reload.o  -DHOST_WORDS_BIG_ENDIAN          -O3   reload.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
reload1.o  -DHOST_WORDS_BIG_ENDIAN          -O3   reload1.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
caller-save.o  -DHOST_WORDS_BIG_ENDIAN          -O3   caller-save.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
insn-peep.o  -DHOST_WORDS_BIG_ENDIAN          -O3   insn-peep.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
reorg.o  -DHOST_WORDS_BIG_ENDIAN          -O3   reorg.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
sched.o  -DHOST_WORDS_BIG_ENDIAN          -O3   sched.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
final.o  -DHOST_WORDS_BIG_ENDIAN          -O3   final.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
recog.o  -DHOST_WORDS_BIG_ENDIAN          -O3   recog.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
reg-stack.o  -DHOST_WORDS_BIG_ENDIAN          -O3   reg-stack.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
insn-opinit.o  -DHOST_WORDS_BIG_ENDIAN          -O3   insn-opinit.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
insn-recog.o  -DHOST_WORDS_BIG_ENDIAN          -O3   insn-recog.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
insn-extract.o  -DHOST_WORDS_BIG_ENDIAN          -O3   insn-extract.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
insn-output.o  -DHOST_WORDS_BIG_ENDIAN          -O3   insn-output.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
insn-emit.o  -DHOST_WORDS_BIG_ENDIAN          -O3   insn-emit.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
insn-attrtab.o  -DHOST_WORDS_BIG_ENDIAN          -O3   insn-attrtab.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o m88k.o 
  -DHOST_WORDS_BIG_ENDIAN          -O3   m88k.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
getpwd.o  -DHOST_WORDS_BIG_ENDIAN          -O3   getpwd.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
convert.o  -DHOST_WORDS_BIG_ENDIAN          -O3   convert.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
bc-emit.o  -DHOST_WORDS_BIG_ENDIAN          -O3   bc-emit.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
bc-optab.o  -DHOST_WORDS_BIG_ENDIAN          -O3   bc-optab.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
obstack.o  -DHOST_WORDS_BIG_ENDIAN          -O3   obstack.c
/Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc 
-Wl,-native-cbe     -O3   c-parse.o c-lang.o c-lex.o c-pragma.o 
c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-iterate.o 
toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o 
function.o stmt.o expr.o calls.o expmed.o explow.o optabs.o varasm.o 
rtl.o print-rtl.o rtlanal.o emit-rtl.o real.o dbxout.o sdbout.o 
dwarfout.o xcoffout.o integrate.o jump.o cse.o loop.o unroll.o flow.o 
stupid.o combine.o regclass.o local-alloc.o global.o reload.o reload1.o 
caller-save.o insn-peep.o reorg.o sched.o final.o recog.o reg-stack.o 
insn-opinit.o insn-recog.o insn-extract.o insn-output.o insn-emit.o 
insn-attrtab.o m88k.o getpwd.o convert.o bc-emit.o bc-optab.o obstack.o 
   -lm  -o cc1
WARNING: While resolving call to function '.plain_type_6' arguments 
were dropped!
WARNING: While resolving call to function '.plain_type_6' arguments 
were dropped!
WARNING: While resolving call to function '.plain_type_6' arguments 
were dropped!
combine.c: In function `find_split_point':

combine.c:2443: warning: function returns address of local variable
combine.c:2509: warning: function returns address of local variable
combine.c:2683: warning: function returns address of local variable
combine.c:2695: warning: function returns address of local variable
combine.c:2747: warning: function returns address of local variable
WARNING: Type conflict between types named 'struct.var_refs_queue'.
     Src=' %struct.var_refs_queue'.
    Dest=' %struct.var_refs_queue'
WARNING: Type conflict between types named 'struct.sequence_stack'.
     Src=' %struct.sequence_stack'.
    Dest=' %struct.sequence_stack'
WARNING: Type conflict between types named 'struct.function'.
     Src=' %struct.function'.
    Dest=' %struct.function'
WARNING: Type conflict between types named 'struct.var_refs_queue'.
     Src=' %struct.var_refs_queue'.
    Dest=' %struct.var_refs_queue'
WARNING: Type conflict between types named 'struct.sequence_stack'.
     Src=' %struct.sequence_stack'.
    Dest=' %struct.sequence_stack'
WARNING: Type conflict between types named 'struct.function'.
     Src=' %struct.function'.
    Dest=' %struct.function'
WARNING: Type conflict between types named 'struct.var_refs_queue'.
     Src=' %struct.var_refs_queue'.
    Dest=' %struct.var_refs_queue'
WARNING: Type conflict between types named 'struct.sequence_stack'.
     Src=' %struct.sequence_stack'.
    Dest=' %struct.sequence_stack'
WARNING: Type conflict between types named 'struct.function'.
     Src=' %struct.function'.
    Dest=' %struct.function'
WARNING: Type conflict between types named 'struct.var_refs_queue'.
     Src=' %struct.var_refs_queue'.
    Dest=' %struct.var_refs_queue'
WARNING: Type conflict between types named 'struct.sequence_stack'.
     Src=' %struct.sequence_stack'.
    Dest=' %struct.sequence_stack'
WARNING: Type conflict between types named 'struct.function'.
     Src=' %struct.function'.
    Dest=' %struct.function'
WARNING: Type conflict between types named 'struct.var_refs_queue'.
     Src=' %struct.var_refs_queue'.
    Dest=' %struct.var_refs_queue'
WARNING: Type conflict between types named 'struct.sequence_stack'.
     Src=' %struct.sequence_stack'.
    Dest=' %struct.sequence_stack'
WARNING: Type conflict between types named 'struct.function'.
     Src=' %struct.function'.
    Dest=' %struct.function'
WARNING: Found global types that are not compatible:
          %struct.rtx_def* (%struct.increment_operator*, 
%union.tree_node*)* %bc_expand_increment
          void (%struct.increment_operator*, %union.tree_node*)* 
%bc_expand_increment
WARNING: Found global types that are not compatible:
          int (...)* %bc_xstrdup
          sbyte* (sbyte*)* %bc_xstrdup
WARNING: Found global types that are not compatible:
          void (...)* %dump_flow_info
          void (%struct.__sFILE*)* %dump_flow_info
          int (...)* %dump_flow_info
WARNING: Found global types that are not compatible:
          int (...)* %expand_expr
          %struct.rtx_def* (...)* %expand_expr
          %struct.rtx_def* (%union.tree_node*, %struct.rtx_def*, uint, 
uint)* %expand_expr
WARNING: Found global types that are not compatible:
          %struct.function* (%union.tree_node*)* %find_function_data
          { \2, sbyte*, %union.tree_node*, int, int, int, int, int, int, 
int, int, int, int, %struct.rtx_def*, %struct.rtx_def*, 
%union.tree_node*, int, int, %struct.rtx_def*, int, int, int, 
%struct.rtx_def**, int, %struct.rtx_def*, %struct.rtx_def*, 
%struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, 
int, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, 
%struct.rtx_def*, %union.tree_node*, %struct.rtx_def*, 
%union.tree_node*, %union.tree_node*, int, %struct.temp_slot*, int, { 
%struct.rtx_def*, uint, int, \2 }*, %struct.nesting*, %struct.nesting*, 
%struct.nesting*, %struct.nesting*, %struct.nesting*, %struct.nesting*, 
int, int, %union.tree_node*, %struct.rtx_def*, int, sbyte*, int, 
%struct.goto_fixup*, int, int, %union.tree_node*, %struct.rtx_def*, 
%struct.rtx_def*, %struct.rtx_def*, int, int, %struct.rtx_def*, 
%struct.rtx_def*, %union.tree_node*, { %struct.rtx_def*, 
%struct.rtx_def*, %union.tree_node*, \2 }*, int, int, sbyte*, sbyte*, 
int, %struct.rtx_def**, %union.tree_node*, %union.tree_node*, 
%union.tree_node*, %union.tree_node*, %union.tree_node*, int, int, 
%struct.momentary_level*, sbyte*, sbyte*, sbyte*, sbyte*, 
%struct.obstack*, %struct.obstack*, %struct.obstack*, %struct.obstack*, 
%struct.obstack*, %struct.obstack*, %struct.simple_obstack_stack*, int, 
int, %struct.machine_function*, %struct.rtx_def*, 
%struct.constant_descriptor**, %struct.pool_sym**, 
%struct.pool_constant*, %struct.pool_constant*, int }* 
(%union.tree_node*)* %find_function_data
WARNING: Found global types that are not compatible:
          %struct.function** %outer_function_chain
          { \2, sbyte*, %union.tree_node*, int, int, int, int, int, int, 
int, int, int, int, %struct.rtx_def*, %struct.rtx_def*, 
%union.tree_node*, int, int, %struct.rtx_def*, int, int, int, 
%struct.rtx_def**, int, %struct.rtx_def*, %struct.rtx_def*, 
%struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, 
int, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, 
%struct.rtx_def*, %union.tree_node*, %struct.rtx_def*, 
%union.tree_node*, %union.tree_node*, int, %struct.temp_slot*, int, { 
%struct.rtx_def*, uint, int, \2 }*, %struct.nesting*, %struct.nesting*, 
%struct.nesting*, %struct.nesting*, %struct.nesting*, %struct.nesting*, 
int, int, %union.tree_node*, %struct.rtx_def*, int, sbyte*, int, 
%struct.goto_fixup*, int, int, %union.tree_node*, %struct.rtx_def*, 
%struct.rtx_def*, %struct.rtx_def*, int, int, %struct.rtx_def*, 
%struct.rtx_def*, %union.tree_node*, { %struct.rtx_def*, 
%struct.rtx_def*, %union.tree_node*, \2 }*, int, int, sbyte*, sbyte*, 
int, %struct.rtx_def**, %union.tree_node*, %union.tree_node*, 
%union.tree_node*, %union.tree_node*, %union.tree_node*, int, int, 
%struct.momentary_level*, sbyte*, sbyte*, sbyte*, sbyte*, 
%struct.obstack*, %struct.obstack*, %struct.obstack*, %struct.obstack*, 
%struct.obstack*, %struct.obstack*, %struct.simple_obstack_stack*, int, 
int, %struct.machine_function*, %struct.rtx_def*, 
%struct.constant_descriptor**, %struct.pool_sym**, 
%struct.pool_constant*, %struct.pool_constant*, int }** 
%outer_function_chain
WARNING: While resolving call to function 'gen_call_value' arguments 
were dropped!
WARNING: While resolving call to function 'gen_call' arguments were 
dropped!
WARNING: While resolving call to function 'gen_call_value' arguments 
were dropped!
cc1.cbe.c:1560: warning: conflicting types for built-in function 
`fprintf'
cc1.cbe.c:1640: warning: conflicting types for built-in function 
`sprintf'
cc1.cbe.c:1757: warning: conflicting types for built-in function 
`strncmp'
cc1.cbe.c:1763: warning: conflicting types for built-in function 
`strchr'
cc1.cbe.c:1846: warning: conflicting types for built-in function 
`memcmp'
cc1.cbe.c:2321: warning: conflicting types for built-in function 
`strrchr'
cc1.cbe.c:3048: warning: conflicting types for built-in function 
`memcpy'
cc1.cbe.c:3049: warning: conflicting types for built-in function 
`memset'
cc1.cbe.c: In function `l2493_recog_5':
cc1.cbe.c:607726: internal compiler error: in final_scan_insn, at 
final.c:2189
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
specmake  options 2> options.err | tee options.out
COMP: /Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc -c -o 
options.o  -DHOST_WORDS_BIG_ENDIAN          -O3
LINK: /Users/patrick/Desktop/LLVM/cfrontend/ppc/llvm-gcc/bin/gcc 
-Wl,-native-cbe     -O3      -lm  -o options
   Some files did not appear to be built: cc1
*** Error building 176.gcc




More information about the llvm-dev mailing list