search for: simplifyicmpinst

Displaying 5 results from an estimated 5 matches for "simplifyicmpinst".

Did you mean: simplifycmpinst
2015 Jun 10
2
[LLVMdev] should InstCombine preserve @llvm.assume?
...ret i32 %sum } removing the @llvm.assume call so later optimizations won't know sum is non-negative any more. (Note that the opt I use here is with http://reviews.llvm.org/D10283 patched. This patch fixes a bug in ValueTracking). The reasons that InstCombine removes this assume call are: 1) SimplifyICmpInst proves %1 is true based on the assume call. 2) then, InstCombine ( http://llvm.org/docs/doxygen/html/InstCombineCompares_8cpp_source.html#l02649) replaces all uses of %1 with true including the use in the assume call. 3) Somewhere later, llvm.assume(true) is considered trivially dead and thus remov...
2013 Jan 15
2
[LLVMdev] [cfe-dev] no-alias generated as result of restrict function arguments
...the alias analysis and provides the conservative logic for when pointers are not equal. The only really problematic part would be InlineCost.cc, since that could try to replace NoAlias/ByVal arguments with allocas in the same function. For the moment, the inline cost estimation doesn't use the SimplifyICmpInst interface and there are other parts that need to be carefully validated before it can. It doesn't look too bad to add an explicit argument whether interprocedural analysis is being done and restrict the tests for that, but I am leaving this out as it is currently unnecessary. I am also not doi...
2012 Dec 12
0
[LLVMdev] [cfe-dev] no-alias generated as result of restrict function arguments
On Wed, Dec 12, 2012 at 1:26 PM, Joerg Sonnenberger <joerg at britannica.bec.de> wrote: > On Wed, Dec 12, 2012 at 11:01:01AM -0800, Dan Gohman wrote: >> > Is that >> > assumption violated if I explicitly cast away const and pass the result >> > to a function with NoAlias argument? >> >> Not immediately, no. It means that you can't access the
2012 Dec 12
3
[LLVMdev] [cfe-dev] no-alias generated as result of restrict function arguments
On Wed, Dec 12, 2012 at 11:01:01AM -0800, Dan Gohman wrote: > > Is that > > assumption violated if I explicitly cast away const and pass the result > > to a function with NoAlias argument? > > Not immediately, no. It means that you can't access the constant > pointer's pointee directly within the noalias argument's scope. Access > to that object must go
2013 Jan 16
0
[LLVMdev] [cfe-dev] no-alias generated as result of restrict function arguments
...-- Index: lib/Analysis/InlineCost.cpp =================================================================== --- lib/Analysis/InlineCost.cpp (revision 172366) +++ lib/Analysis/InlineCost.cpp (working copy) @@ -484,6 +484,8 @@ } bool CallAnalyzer::visitICmp(ICmpInst &I) { + // Do not just call SimplifyICmpInst as it can result in undefined + // changes when the operands involve NoAlias or ByVal arguments. Value *LHS = I.getOperand(0), *RHS = I.getOperand(1); // First try to handle simplified comparisons. if (!isa<Constant>(LHS)) Index: lib/Analysis/InstructionSimplify.cpp ================...