[LLVMdev] Code generation issues

Bill Wendling isanbard at gmail.com
Tue May 29 15:06:55 PDT 2007


Hi Bram,

Could you submit bug reports for all of these problems?

Thanks!
-bw

On 5/29/07, Bram Adams <bram.adams at ugent.be> wrote:
> Hi,
>
> Today I managed to link ioquake3, but generating a binary does not
> work yet.
>
>
> 1) On OSX, I get:
>
> Error: Code generator does not support intrinsic function
> 'llvm.ppc.altivec.lvsl'!
>
> when I do:  llc file.bc -march=c -o file.c
>
>
> 2) On Linux X86, llc does not give any problem, but I get this while
> compiling the generated .c file:
>
> error: unknown register name 'S' in 'asm'
>
> This is the offending line (notice the "S" on the last line):
>
>    __asm__ volatile ("\tpushal\t\t\t\t\n\tmovl %0,%%esi\t\t\n\tmovl %
> 1,%%edi\t\t\n\tcall *%2\t\t\t\n\tmovl %%esi,%0\t\t\n\tmo\
> vl %%edi,%1\t\t\n\tpopal\t\t\t\t\n"
>          :"=m"(memProgramStack_2E_5872),"=m"(memOpStack_2E_5873)
>          :"m"(memEntryPoint_2E_5874),"m"(memProgramStack_2E_5872),"m"(me
> mOpStack_2E_5873)
>          :"D","S");
>
> Apparently, leaving out "S" helps (compiling the .c file works), but
> what does it do and why is it here?
>
>
> 3) Regarding bug 1446 (http://llvm.org/bugs/show_bug.cgi?id=1446):
> the proposed patch for the file called sv_client.c indeed works on
> OSX, but on Linux X86 -O3 it still does not work. More in particular,
> the frontend is now stuck inside the for-loop on lines 176-->391 of
> PromoteMemoryToRegister.cpp when in the control flow of -scalarrepl:
>
> #4  0x08764f72 in (anonymous namespace)::PromoteMem2Reg::run
> (this=0xbff9bfa0)
>      at /home/bram/workspace/svn/aspicere2/trunk/llvm/lib/Transforms/
> Utils/PromoteMemoryToRegister.cpp:271
> #5  0x08767021 in llvm::PromoteMemToReg (Allocas=@0xbff9c120,
> ET=@0x8b14c10, DF=@0x8b14d98, AST=0x0)
>      at /home/bram/workspace/svn/aspicere2/trunk/llvm/lib/Transforms/
> Utils/PromoteMemoryToRegister.cpp:812
> #6  0x08744713 in (anonymous namespace)::SROA::performPromotion
> (this=0x8b14f38, F=@0x8bc8468)
>      at /home/bram/workspace/svn/aspicere2/trunk/llvm/lib/Transforms/
> Scalar/ScalarReplAggregates.cpp:130
> #7  0x087445ba in (anonymous namespace)::SROA::runOnFunction
> (this=0x8b14f38, F=@0x8bc8468)
>      at /home/bram/workspace/svn/aspicere2/trunk/llvm/lib/Transforms/
> Scalar/ScalarReplAggregates.cpp:101
> #8  0x08826499 in llvm::FPPassManager::runOnFunction (this=0x8b15d00,
> F=@0x8bc8468)
>      at /home/bram/workspace/svn/aspicere2/trunk/llvm/lib/VMCore/
> PassManager.cpp:1145
> #9  0x08826237 in llvm::FunctionPassManagerImpl::run (this=0x8b14e78,
> F=@0x8bc8468)
>      at /home/bram/workspace/svn/aspicere2/trunk/llvm/lib/VMCore/
> PassManager.cpp:1103
> #10 0x0882611f in llvm::FunctionPassManager::run (this=0x8b156e8,
> F=@0x8bc8468)
>      at /home/bram/workspace/svn/aspicere2/trunk/llvm/lib/VMCore/
> PassManager.cpp:1048
>
>
>
> Kind regards,
>
>
> Bram Adams
> GH-SEL, INTEC, Ghent University (Belgium)
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



More information about the llvm-dev mailing list