[LLVMbugs] [Bug 857] NEW: inline asm only handles one code so far
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Mon Jul 31 19:54:44 PDT 2006
http://llvm.org/bugs/show_bug.cgi?id=857
Summary: inline asm only handles one code so far
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Backend: X86
AssignedTo: unassignedbugs at nondot.org
ReportedBy: nicholas at mxc.ca
It looks like inline assembly support isn't entirely complete yet. This
particular assertion failure is blocking builds of the Linux kernel on x86:
$ cat bugpoint-reduced-simplified.ll
; ModuleID = 'bugpoint-reduced-simplified.bc'
target endian = little
target pointersize = 32
target triple = "i686-pc-linux-gnu"
implementation ; Functions:
void %run_init_process() {
entry:
%tmp = call int asm sideeffect "push %ebx ; movl $2,%ebx ; int $$0x80
; pop %ebx", "={ax},0,ri,{cx},{dx},~{dirflag},~{fpsr},~{flags},~{memory}"( int
11, int 0, int 0, int 0 ) ; <int> [#uses=0]
unreachable
}
$ llc bugpoint-reduced-simplified.bc
llc: SelectionDAGISel.cpp:2030: void
llvm::SelectionDAGLowering::visitInlineAsm(llvm::CallInst&): Assertion
`Constraints[i].Codes.size() == 1 && "Only handles one code so far!"' failed.
llc((anonymous namespace)::PrintStackTrace()+0x1a)[0x885fef8]
llc((anonymous namespace)::SignalHandler(int)+0x108)[0x88601b4]
[0xffffe500]
[0xffffe405]
/lib/tls/i686/cmov/libc.so.6(gsignal+0x51)[0x5570f8b1]
/lib/tls/i686/cmov/libc.so.6(abort+0x109)[0x55711049]
/lib/tls/i686/cmov/libc.so.6(__assert_fail+0x10f)[0x5570908f]
llc(llvm::SelectionDAGLowering::visitInlineAsm(llvm::CallInst&)+0x299)[0x8650793]
llc(llvm::SelectionDAGLowering::visitCall(llvm::CallInst&)+0x83b)[0x8654de9]
llc(llvm::SelectionDAGLowering::visit(unsigned int, llvm::User&)+0x2d4)[0x866f7fc]
llc(llvm::SelectionDAGLowering::visit(llvm::Instruction&)+0x28)[0x866f8e4]
llc(llvm::SelectionDAGISel::BuildSelectionDAG(llvm::SelectionDAG&,
llvm::BasicBlock*, std::vector<std::pair<llvm::MachineInstr*, unsigned int>,
std::allocator<std::pair<llvm::MachineInstr*, unsigned int> > >&,
llvm::FunctionLoweringInfo&)+0x168)[0x865a1ea]
llc(llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::MachineFunction&, llvm::FunctionLoweringInfo&)+0x98)[0x865ab94]
llc(llvm::SelectionDAGISel::runOnFunction(llvm::Function&)+0x493)[0x865bfc7]
llc[0x84197c9]
llc(llvm::FunctionPassManagerT::runPass(llvm::FunctionPass*,
llvm::Function*)+0x1f)[0x87deb65]
llc(llvm::PassManagerT<llvm::FTraits>::runPasses(llvm::Function*,
std::map<llvm::Pass*, std::vector<llvm::Pass*, std::allocator<llvm::Pass*> >,
std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const,
std::vector<llvm::Pass*, std::allocator<llvm::Pass*> > > > >&)+0x136)[0x87f53da]
llc(llvm::PassManagerT<llvm::FTraits>::runOnUnit(llvm::Function*)+0x188)[0x87f5efe]
llc(llvm::FunctionPassManagerT::runOnFunction(llvm::Function&)+0x23)[0x87dec0b]
llc(llvm::FunctionPass::runOnModule(llvm::Module&)+0xa0)[0x87dc7be]
llc(llvm::ModulePassManager::runPass(llvm::ModulePass*,
llvm::Module*)+0x1f)[0x87debbb]
llc(llvm::PassManagerT<llvm::MTraits>::runPasses(llvm::Module*,
std::map<llvm::Pass*, std::vector<llvm::Pass*, std::allocator<llvm::Pass*> >,
std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const,
std::vector<llvm::Pass*, std::allocator<llvm::Pass*> > > > >&)+0x136)[0x87f5968]
llc(llvm::PassManagerT<llvm::MTraits>::runOnUnit(llvm::Module*)+0x188)[0x87f60c0]
llc(llvm::ModulePassManager::runOnModule(llvm::Module&)+0x23)[0x87dc1cf]
llc(llvm::PassManager::run(llvm::Module&)+0x23)[0x87dc247]
llc(main+0xdd9)[0x839a80b]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xc8)[0x556fbea8]
llc(__gxx_personality_v0+0x169)[0x8399031]
Aborted
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the llvm-bugs
mailing list