History log of /llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp (Results 1451 – 1475 of 2089)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# ed39bb8e 05-Oct-2011 Andrew Trick <atrick@apple.com>

Typo. Thanks Bob.

llvm-svn: 141188


# f6567a13 05-Oct-2011 Chandler Carruth <chandlerc@gmail.com>

Fix a broken assert found by -Wparentheses.

llvm-svn: 141168


# e9162f1f 05-Oct-2011 Andrew Trick <atrick@apple.com>

Fix disabled SCEV analysis caused r141161 and add unit test.

I noticed during self-review that my previous checkin disabled some
analysis. Even with the reenabled analysis the test case runs in abou

Fix disabled SCEV analysis caused r141161 and add unit test.

I noticed during self-review that my previous checkin disabled some
analysis. Even with the reenabled analysis the test case runs in about
5ms. Without the fix, it will take several minutes at least.

llvm-svn: 141164

show more ...


# 3a86ba76 05-Oct-2011 Andrew Trick <atrick@apple.com>

Avoid exponential recursion in SCEV getConstantEvolvingPHI and EvaluateExpression.

Note to compiler writers: never recurse on multiple instruction
operands without memoization.
Fixes rdar://10187945

Avoid exponential recursion in SCEV getConstantEvolvingPHI and EvaluateExpression.

Note to compiler writers: never recurse on multiple instruction
operands without memoization.
Fixes rdar://10187945. Was taking 45s, now taking 5ms.

llvm-svn: 141161

show more ...


# 287682ea 04-Oct-2011 Nick Lewycky <nicholas@mxc.ca>

The product of two chrec's can always be represented as a chrec.

llvm-svn: 141066


# 31555524 03-Oct-2011 Nick Lewycky <nicholas@mxc.ca>

Reapply r140979 with fix! We never did get a testcase, but careful review of the
logic by David Meyer revealed this bug.

llvm-svn: 140992


# b1dbce14 03-Oct-2011 Nick Lewycky <nicholas@mxc.ca>

Revert r140979 due to reports of bootstrap failure.

llvm-svn: 140980


# 3c624b8d 03-Oct-2011 Nick Lewycky <nicholas@mxc.ca>

Add one more case we compute a max trip count.

llvm-svn: 140979


# ef8e4eff 28-Sep-2011 Andrew Trick <atrick@apple.com>

indvars: generalize SCEV getPreStartForSignExtend.

Handle general Add expressions to avoid leaving around redundant
32-bit IVs.

llvm-svn: 140701


# a51d74fc 10-Sep-2011 Andrew Trick <atrick@apple.com>

Set NSW/NUW flags on SCEVAddExpr when the operation is flagged as
such.

I'm doing this now for completeness because I can't think of/remember
any reason that it was left out. I'm not sure it will he

Set NSW/NUW flags on SCEVAddExpr when the operation is flagged as
such.

I'm doing this now for completeness because I can't think of/remember
any reason that it was left out. I'm not sure it will help anything,
but if we don't do it we need to explain why in comments.

llvm-svn: 139450

show more ...


# e0aa54bb 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

This transform only handles two-operand AddRec's. Prevent it from trying to
handle anything more complex. Fixes PR10383 again!

llvm-svn: 139186


# 78664db0 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

Fix typo in comment again.

llvm-svn: 139139


# 237878b7 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

Apparently we compile the code, not the comments. Thanks Eli!

llvm-svn: 139138


# 0af94cc5 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

Fix typo in comment.

llvm-svn: 139137


# 702cf1ec 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

Nope! I had it right the first time. Revert the operative part of r139135 and
add more showing of my work.

llvm-svn: 139136


# 6f86e001 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

Fix flipped sign. While there, show my math.

llvm-svn: 139135


# db66b82d 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

No no no, fix typo properly!

llvm-svn: 139134


# 658bdb51 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

The logic inside getMulExpr to simplify {a,+,b}*{c,+,d} was wrong, which was
visible given a=b=c=d=1, on iteration #1 (the second iteration). Replace it with
correct math. Fixes PR10383!

llvm-svn: 1

The logic inside getMulExpr to simplify {a,+,b}*{c,+,d} was wrong, which was
visible given a=b=c=d=1, on iteration #1 (the second iteration). Replace it with
correct math. Fixes PR10383!

llvm-svn: 139133

show more ...


# b1438c76 06-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

Revert r139126 due to selfhost failures reported by buildbots.

llvm-svn: 139130


# c4c43fbb 05-Sep-2011 Nick Lewycky <nicholas@mxc.ca>

Teach SCEV to report a max backedge count in one interesting case in
HowFarToZero; the case for a canonical loop.

llvm-svn: 139126


# bbb226a8 02-Sep-2011 Andrew Trick <atrick@apple.com>

Comment and clarifying assert.

llvm-svn: 139036


# 2b6860f0 11-Aug-2011 Andrew Trick <atrick@apple.com>

Allow loop unrolling to get known trip counts from ScalarEvolution.

SCEV unrolling can unroll loops with arbitrary induction variables. It
is a prerequisite for -disable-iv-rewrite performance. It i

Allow loop unrolling to get known trip counts from ScalarEvolution.

SCEV unrolling can unroll loops with arbitrary induction variables. It
is a prerequisite for -disable-iv-rewrite performance. It is also
easily handles loops of arbitrary structure including multiple exits
and is generally more robust.

This is under a temporary option to avoid affecting default
behavior for the next couple of weeks. It is needed so that I can
checkin unit tests for updateUnloop.

llvm-svn: 137384

show more ...


# 6d45a01b 06-Aug-2011 Andrew Trick <atrick@apple.com>

Made SCEV's UDiv expressions more canonical. When dividing a
recurrence, the initial values low bits can sometimes be ignored.

To take advantage of this, added FoldIVUser to IndVarSimplify to fold
a

Made SCEV's UDiv expressions more canonical. When dividing a
recurrence, the initial values low bits can sometimes be ignored.

To take advantage of this, added FoldIVUser to IndVarSimplify to fold
an IV operand into a udiv/lshr if the operator doesn't affect the
result.

-indvars -disable-iv-rewrite now transforms

i = phi i4
i1 = i0 + 1
idx = i1 >> (2 or more)
i4 = i + 4

into

i = phi i4
idx = i0 >> ...
i4 = i + 4

llvm-svn: 137013

show more ...


# 77c55428 02-Aug-2011 Andrew Trick <atrick@apple.com>

Use consistent terminology for loop exit/exiting blocks. Name change only.

llvm-svn: 136677


# 3ca3f98c 26-Jul-2011 Andrew Trick <atrick@apple.com>

SCEV: Added a data structure for storing not-taken info per loop
exit. Added an interfaces for querying either the loop's exact/max
backedge taken count or a specific loop exit's not-taken count.

ll

SCEV: Added a data structure for storing not-taken info per loop
exit. Added an interfaces for querying either the loop's exact/max
backedge taken count or a specific loop exit's not-taken count.

llvm-svn: 136100

show more ...


1...<<51525354555657585960>>...84