Merge-Cha-Cha

As you all have undoubtedly noticed, I recently did Yet Another Merge
to Apple's GCC top-of-tree. This merge was prompted by several
important fixes in the "blocks" implementation. There are still many
testcases that need to be moved over, but those can come at our
leisure. I compiled both the "Apple way" and the "FSF way". It also
passed the tests in llvm-test/Multitest. It should be a good merge,
but let me know if things break for you.

-bw

I'm getting the error below on Ubuntu Hardy on ia32 on r55688.

John

make[3]: Entering directory `/home/regehr/llvm-gcc/build/gcc'
gcc -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -I../../gcc/../libdecnumber -I../libdecnumber -I/home/regehr/llvm/include -I/home/regehr/llvm/include -DENABLE_LLVM -I/home/regehr/llvm/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS ../../gcc/postreload-gcse.c -o postreload-gcse.o
../../gcc/postreload-gcse.c: In function eliminate_partially_redundant_load:
../../gcc/postreload-gcse.c:1123: error: flag_darwin_rtl_pre_ignore_critical_edges undeclared (first use in this function)
../../gcc/postreload-gcse.c:1123: error: (Each undeclared identifier is reported only once
../../gcc/postreload-gcse.c:1123: error: for each function it appears in.)
make[3]: *** [postreload-gcse.o] Error 1
make[3]: Leaving directory `/home/regehr/llvm-gcc/build/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/home/regehr/llvm-gcc/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/regehr/llvm-gcc/build'
make: *** [all] Error 2
regehr@john-home:~/llvm-gcc/build$

I'm getting the error below on Ubuntu Hardy on ia32 on r55688.

I'm getting this too on Redhat. The problem is TARGET_MACHO is
defined. The error is in an
#ifdef TARGET_MACHO
block. I didn't find where TARGET_MACHO was being defined though.

Andrew

I'm getting the error below on Ubuntu Hardy on ia32 on r55688.

...

../../gcc/postreload-gcse.c:1123: error:
flag_darwin_rtl_pre_ignore_critical_edges undeclared (first use in this
function)

This is a Darwin-specific flag. I added a conditional to check for
"CONFIG_DARWIN_H" before executing the code in question. Please check
to see if it works for you.

-bw

to see if it works for you.

Works.

John