[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