[LLVMdev] llvm-gcc4_2, llvm-gcc4_2-fixed-point

Peter Wiedermann peter.wiedermann at gmx.at
Tue Mar 20 13:54:49 PDT 2007


hi!

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:

http://geldspeicher.entenhausen.at/dl/gcc-4_2_to_llvm.patch.gz

comments:
+ 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:

http://geldspeicher.entenhausen.at/dl/gcc-llvm4_2_to_fixed-point.patch.gz

comments:
+ 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
peter


ps.:
there is a particular problem i couldn't solve, which does 
not matter as long as this file is not linked to an executable:
gcc/config/i386/crtfastmath.c:
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



More information about the llvm-dev mailing list