[LLVMbugs] [Bug 5198] New: Wrong live-out from a simple code after backend optimizations
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Thu Oct 15 10:23:54 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=5198
Summary: Wrong live-out from a simple code after backend
optimizations
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: quickslyver at free.fr
CC: llvmbugs at cs.uiuc.edu
with this simple code:
int f(int a,int b)
{
if(a>b)
{
return a;
}
else if(a<-20)
{
return 10-a;
}
return a+18;
}
and compiled with:
clang-cc -S -verify-machineinstrs --triple=arm-unknown-unknwon test-live.c
-debug -o - -O3
output:
[...]
*** Bad machine code: Live-in physical register is not live-out from
predecessor ***
- function: f
- basic block: if.else 0xb4f1db0 (#1)
Register R0 is not live-out from MBB #0.
*** Bad machine code: Live-in physical register is not live-out from
predecessor ***
- function: f
- basic block: return 0xb4f1e94 (#4)
Register R0 is not live-out from MBB #0.
same problem with:
--triple=sparc-unknown-unknown
--triple=msp430-unknown-unknown
--triple=thumb-unknown-unknown
(so it's not target dependent)
There is a kill/def problem that seems to occur during SIMPLE REGISTER
COALESCING phase.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list