[LLVMbugs] [Bug 2740] New: Lo is not <= Hi in range emission code!
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Sun Aug 31 15:53:04 PDT 2008
http://llvm.org/bugs/show_bug.cgi?id=2740
Summary: Lo is not <= Hi in range emission code!
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: regehr at cs.utah.edu
CC: llvmbugs at cs.uiuc.edu
Seen on r55591 on Ubuntu Hardy on ia32.
regehr at john-home:~/volatile/tmp18$ llvm-gcc -O1 small.c
cc1: InstructionCombining.cpp:3261:
llvm::Instruction*<unnamed>::InstCombiner::InsertRangeTest(llvm::Value*,
llvm::Constant*, llvm::Constant*, bool, bool, llvm::Instruction&): Assertion
`cast<ConstantInt>(ConstantExpr::getICmp((isSigned ?
ICmpInst::ICMP_SLE:ICmpInst::ICMP_ULE), Lo, Hi))->getZExtValue() && "Lo is not
<= Hi in range emission code!"' failed.
small.c: In function ‘func_75’:
small.c:19: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
regehr at john-home:~/volatile/tmp18$ cat small.c
typedef short int int16_t;
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
static inline int
safe_mod_s_s (int si1, int si2)
{
return si1 / si2;
}
static inline unsigned int
safe_div_u_u (unsigned int ui1, unsigned int ui2)
{
return ui1;
}
uint8_t g_6;
uint32_t
func_75 (int16_t p_76, uint8_t p_78, uint32_t p_79, uint32_t p_80,
uint32_t p_81, uint8_t p_82)
{
uint32_t l_106 = 0xB0CEA4F5L;
uint32_t l_92 = -1L;
1, (func_97
((safe_mod_s_s ((safe_div_s_s (p_79, 1)) >= 1, l_106)) ==
(safe_div_u_u (l_92, 1)), 1) <= (safe_div_u_u (g_6, 1)));
}
--
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