Displaying 4 results from an estimated 4 matches for "getextendedoperandrecurr".
2012 Sep 20
3
[LLVMdev] sign extensions, SCEVs, and wrap flags
...sion can be hoisted.
>
> But if you run your analysis after -indvars, the sign-extension should be
> removed if possible. The algorithm walks the derived induction variables
> specifically looking for add nsw/nuw and replacing only those IR users with
> a wide induction variable. See GetExtendedOperandRecurrence.
>
> If you have a situation where the sign extends cannot removed, then you
> may need your own IR-level analysis to determine whether you can ignore
> them. Otherwise, you may run into trouble operating on SCEVs that contain
> sext/zext/truncs. Are all your array indices unifor...
2012 Sep 20
0
[LLVMdev] sign extensions, SCEVs, and wrap flags
...ted.
>
> But if you run your analysis after -indvars, the sign-extension should be
> removed if possible. The algorithm walks the derived induction variables
> specifically looking for add nsw/nuw and replacing only those IR users with
> a wide induction variable. See GetExtendedOperandRecurrence.
>
> If you have a situation where the sign extends cannot removed, then you may
> need your own IR-level analysis to determine whether you can ignore them.
> Otherwise, you may run into trouble operating on SCEVs that contain
> sext/zext/truncs. Are all your arra...
2012 Sep 20
0
[LLVMdev] sign extensions, SCEVs, and wrap flags
...ean that sign/zero extension can be hoisted.
But if you run your analysis after -indvars, the sign-extension should be removed if possible. The algorithm walks the derived induction variables specifically looking for add nsw/nuw and replacing only those IR users with a wide induction variable. See GetExtendedOperandRecurrence.
If you have a situation where the sign extends cannot removed, then you may need your own IR-level analysis to determine whether you can ignore them. Otherwise, you may run into trouble operating on SCEVs that contain sext/zext/truncs. Are all your array indices uniformly sign-extended? I don...
2012 Sep 19
2
[LLVMdev] sign extensions, SCEVs, and wrap flags
On Tue, Sep 18, 2012 at 10:59 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Sep 18, 2012, at 8:21 PM, Preston Briggs <preston.briggs at gmail.com>
> wrote:
>
> Given the following SCEV,
>
> *(sext i32 {2,+,1}<nw><%for.body> to i64)*
>
>
> from the following C source,
>
> *void strong3(int *A, int *B, int n) {*
> * for (int i =