-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Description
| Bugzilla Link | 2740 |
| Resolution | FIXED |
| Resolved on | Sep 11, 2008 12:55 |
| Version | unspecified |
| OS | Linux |
| CC | @efriedma-quic,@sunfishcode |
Extended Description
Seen on r55591 on Ubuntu Hardy on ia32.
regehr@john-home:~/volatile/tmp18$ llvm-gcc -O1 small.c
cc1: InstructionCombining.cpp:3261: llvm::Instruction*::InstCombiner::InsertRangeTest(llvm::Value*, llvm::Constant*, llvm::Constant*, bool, bool, llvm::Instruction&): Assertion `cast(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@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)));
}