Displaying 5 results from an estimated 5 matches for "icmp_ult".
Did you mean:
icmp_slt
2010 May 06
2
[LLVMdev] Back-edge taken count of loops
...h as:
void scop_func(long A[], long n) {
long i;
for (i = 1; i<= n; i++)
A[i] = 1;
}
after have a look at the code that computing the back-edge taken count, i
found that ScalarEvolution could only compute back-edge taken count if the
exit condition is ICMP_NE/ICMP_EQ/ICMP_SLT/ICMP_SGT/ICMP_ULT/ICMP_UGT
(ignoring "ComputeBackedgeTakenCountExhaustively"), and the function
"SimplifyICmpOperands" will try to convert other conditions to the
conditions listed above, by doing something like "i <= n" to "i < n+1", but
it refuse to do that unless it c...
2016 Sep 02
2
ScalarEvolution pass and interprocedural analysis
Hello all,
I was looking for an analysis pass that could provide comprehensive
information on pointer arithmetic in the context of whole-program
optimization. It seems that Scalar Evolution provides exactly what I'm
looking for, but it is restricted to only intraprocedural analysis.
E.g., consider this toy snippet:
void foo(int* p) { (*p)++; }
int bar() {
int i;
for (i = 0; i < n;
2010 Feb 12
2
[LLVMdev] [PATCH] Fix off-by-one errors in the doxygen documentation
...ed)
FIRST_FCMP_PREDICATE = FCMP_FALSE,
LAST_FCMP_PREDICATE = FCMP_TRUE,
BAD_FCMP_PREDICATE = FCMP_TRUE + 1,
- ICMP_EQ = 32, /// equal
- ICMP_NE = 33, /// not equal
- ICMP_UGT = 34, /// unsigned greater than
- ICMP_UGE = 35, /// unsigned greater or equal
- ICMP_ULT = 36, /// unsigned less than
- ICMP_ULE = 37, /// unsigned less or equal
- ICMP_SGT = 38, /// signed greater than
- ICMP_SGE = 39, /// signed greater or equal
- ICMP_SLT = 40, /// signed less than
- ICMP_SLE = 41, /// signed less or equal
+ ICMP_EQ = 32, ///&...
2010 May 06
0
[LLVMdev] Back-edge taken count of loops
...g n) {
> long i;
>
> for (i = 1; i<= n; i++)
> A[i] = 1;
> }
>
> after have a look at the code that computing the back-edge taken count, i found that ScalarEvolution could only compute back-edge taken count if the exit condition is ICMP_NE/ICMP_EQ/ICMP_SLT/ICMP_SGT/ICMP_ULT/ICMP_UGT (ignoring "ComputeBackedgeTakenCountExhaustively"), and the function "SimplifyICmpOperands" will try to convert other conditions to the conditions listed above, by doing something like "i <= n" to "i < n+1", but it refuse to do that unless it c...
2016 Feb 07
3
[PATCH] strlen -> strnlen optimization
...ICmpInst::ICMP_ULE:
+ case ICmpInst::ICMP_SGT:
+ case ICmpInst::ICMP_SGE:
+ case ICmpInst::ICMP_SLE:
+ // XXX: check for wrapping
+ if (con_val == UINT64_MAX)
+ return nullptr;
+ return emitStrNLen(Src, ConstantInt::get(SizeType, con_val + 1),
+ B, DL, TLI);
+ case ICmpInst::ICMP_ULT:
+ case ICmpInst::ICMP_SLT:
+ return emitStrNLen(Src, Con,
+ B, DL, TLI);
+ default:
+ return nullptr;
+ }
+
return nullptr;
}