[LLVMbugs] [Bug 658] NEW: register allocators need callee saved regs
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Wed Nov 9 01:05:01 PST 2005
http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=658
Summary: register allocators need callee saved regs
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: minor
Priority: P2
Component: Register Allocator
AssignedTo: unassignedbugs at nondot.org
ReportedBy: duraid at octopus.com.au
on IA64, the "unix-tbl" and "unix-smail" Prolangs-C tests make llc segfault:
/home/builddonkey/builddir/llvm/Debug/bin/llc -f Output/unix-smail.llvm.bc -o
Output/unix-smail.llc.s
/home/builddonkey/builddir/llvm/Debug/bin/llc((anonymous
namespace)::PrintStackTrace()+0x30)[0x4000000001359500]
/home/builddonkey/builddir/llvm/Debug/bin/llc((anonymous
namespace)::SignalHandler(int)+0x300)[0x4000000001359c00]
[0xa0000000000107e0]
/home/builddonkey/builddir/llvm/Debug/bin/llc((anonymous
namespace)::LocalSpiller::ClobberPhysReg(unsigned int, std::map<int, unsigned
int, std::less<int>, std::allocator<std::pair<int const, unsigned int> > >&,
std::map<unsigned int, int, std::less<unsigned int>,
std::allocator<std::pair<unsigned int const, int> > >&)+0xb0)[0x4000000000da7840]
/home/builddonkey/builddir/llvm/Debug/bin/llc((anonymous
namespace)::LocalSpiller::RewriteMBB(llvm::MachineBasicBlock&, llvm::VirtRegMap
const&)+0x1b50)[0x4000000000da9490]
/home/builddonkey/builddir/llvm/Debug/bin/llc((anonymous
namespace)::LocalSpiller::runOnMachineFunction(llvm::MachineFunction&,
llvm::VirtRegMap const&)+0x350)[0x4000000000e4a4c0]
/home/builddonkey/builddir/llvm/Debug/bin/llc((anonymous
namespace)::RA::runOnMachineFunction(llvm::MachineFunction&)+0x6a0)[0x4000000000d8dfd0]
...
The reason seems to be (thanks Chris) that IA64 has *no* callee saved predicate
registers, and so the register allocator freaks out if there is a bool live
across a call.
(The workaround is of course to just define some callee-saved predicate registers.)
------- 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