search for: willnotoverflowsignedadd

Displaying 6 results from an estimated 6 matches for "willnotoverflowsignedadd".

2014 Sep 02
2
[LLVMdev] Preserving NSW/NUW bits
...mp = trunc i64 %indvars.iv.next to i32 %cmp = icmp sle i32 %tmp, %0 br i1 %cmp, label %for.body, label %for.end.loopexit However, AFAICT the NSW bits must be set. In what cases can we propagate the NSW bit from the first add to the second, if any? If a case exists, can this be handled by the WillNotOverflowSignedAdd function? Chad
2011 Mar 06
0
[LLVMdev] First Patch
On Sun, Mar 6, 2011 at 10:11 AM, Sanjoy Das <sanjoy at playingwithpointers.com> wrote: > While I was at it, I also took a stab at finishing up one of the TODOs. I've > attached the patch for review. Comments inline. For those of you following at home, this code is in InstCombiner::WillNotOverflowSignedAdd(), and the first line of the initial comment is: // If one of the operands only has one non-zero bit, and if the other operand > --- lib/Transforms/InstCombine/InstCombineAddSub.cpp (revision 126747) > +++ lib/Transforms/InstCombine/InstCombineAddSub.cpp (working copy) > @@ -77,9 +77,...
2011 Mar 06
1
[LLVMdev] First Patch
Hi all! I've been tinkering with LLVM's code-base for a few days, hoping to start on one of the ideas mentioned in the "Open Projects" page (I was told 'Improving the current system'/'Miscellaneous Improvements'/5 would be a good start). While I was at it, I also took a stab at finishing up one of the TODOs. I've attached the patch for review. --
2011 Mar 02
3
[LLVMdev] live variable analysis
Hi As I understand live variable analysis will set the def/kill properties of operands. In that case, is it still needed to set the kill flags when possible during lowering? thanks dz
2011 Mar 08
0
[LLVMdev] First Patch
...only bit width-2 zero. That isn't what you want, right? > + > + if ((mask & otherKnownZero).getBoolValue()) > + return true; > + > + return false; This can be more concisely written as just return (mask & otherKnownZero).getBoolValue(); > +} > + > /// WillNotOverflowSignedAdd - Return true if we can prove that: > /// (sext (add LHS, RHS)) === (add (sext LHS), (sext RHS)) > /// This basically requires proving that the add in the original type would not > @@ -77,9 +101,19 @@ > // has a known-zero bit in a more significant place than it (not including...
2011 Mar 08
2
[LLVMdev] First Patch
Hi! I've attached a patch which takes care of the issues mentioned (and adds two tests). -- Sanjoy Das http://playingwithpointers.com -------------- next part -------------- A non-text attachment was scrubbed... Name: ripple-bucket.diff Type: text/x-diff Size: 3318 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110308/0814e3e8/attachment.diff>