LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 1308 - instrs with multiple frame indices don't get them all rewritten
Summary: instrs with multiple frame indices don't get them all rewritten
Status: RESOLVED FIXED
Alias: None
Product: libraries
Classification: Unclassified
Component: Common Code Generator Code (show other bugs)
Version: trunk
Hardware: PC Linux
: P normal
Assignee: Chris Lattner
URL:
Keywords: compile-fail
Depends on:
Blocks:
 
Reported: 2007-04-04 17:27 PDT by Jack Robinson
Modified: 2010-02-22 12:51 PST (History)
1 user (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jack Robinson 2007-04-04 17:27:32 PDT
$ cat|llvm-as|llc >/dev/null
define void @stuff(i32, ...) {
        %foo = alloca i8*
        %bar = alloca i32*
        %tmp10.i.i57 = call i32 asm sideeffect "movl   $4,%edi", "={ax},0,i,m,m"( i32 0, i32 120, i8** %foo, 
i32** %bar )
        ret void
}
^D
llc: /usr/local/code/llvm/llvm/include/llvm/CodeGen/MachineInstr.h:233: unsigned int 
llvm::MachineOperand::getReg() const: Assertion `isRegister() && "This is not a register operand!"' 
failed.
llc((anonymous namespace)::PrintStackTrace()+0x19)[0x861ee09]
Aborted
Comment 1 Jack Robinson 2007-04-04 17:33:48 PDT
Also, if I run this in bugpoint I get a crash:
Read input file      : 'foo.bc'
*** All input ok
Found gcc: /usr/bin/gcc
Initializing execution environment: Running the code generator to test for a crash: <llc>terminate called 
after throwing an instance of 'llvm::ToolExecutionError'
bugpoint((anonymous namespace)::PrintStackTrace()+0x19)[0x83b6949]
Aborted
Comment 2 Chris Lattner 2007-04-08 19:48:01 PDT
Fixed, testcase here: CodeGen/Generic/2007-04-08-MultipleFrameIndices.ll

Patch here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070402/047034.html

Thanks!

-Chris