llvm-gcc4_2, llvm-gcc4_2-fixed-point


because i read that other people may be interested
in llvm-gcc4_2 in the google-soc thread, here is the
status of my work:

i merged llvm-gcc and the current gcc4_2.
this is the patch from official gcc4_2 to my llvm-gcc4_2:


+ i left out most APPLE LOCAL* marked regions of llvm-gcc4 which
  were not concerning llvm
+ this patch works at least for "simple" c-programs, but it
  isn't done yet.
  i will have to track down further errors with the testsuite.
  at the time i know of several problems compiling c++ code.
+ this patch was applied to the actual gcc-4_2 checked out a few weeks
ago (i didn't check differences since then)

i prted the fixed-point extensions which are developed
in an gcc_4_3 branch back to llvm-gcc4_2:


+ the fixed-point support is highly experimental and incomplete,
the operations are mapped to intrinsics.

the calls of the intrinsics are lowered in the virtual machine, i have
no patch for this part, because i don't like the current solution.

kind regards

there is a particular problem i couldn't solve, which does
not matter as long as this file is not linked to an executable:
line 104:
asm volatile ("fxsave %0" : "=m" (fxsave) : "m" (fxsave));

the problem occurs during compilation of llvm-gcc4_2.
llvm cannot handle the struct arguments at this
level, the following errormsg is the result:

cc1: .../llvm/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:2211: llvm::MVT::ValueType llvm::TargetLowering::getValueType(const llvm::Type*) const: Assertion `0 && "Unknown type!"' failed.

at the moment i did comment the line out, but i would like to
here your opinions