llvm-project/llvm/lib/Transforms
Sanjoy Das 3502511548 [IndVars] Ignore (s|z)exts that don't extend the induction variable
`IVVisitor::visitCast` used to have the invariant that if the
instruction it was passed was a sext or zext instruction, the result of
the instruction would be wider than the induction variable.  This is no
longer true after rL275037, so this change teaches `IndVarSimplify` s
implementation of `IVVisitor::visitCast` to work with the relaxed
invariant.

A corresponding change to SimplifyIndVar to preserve the said invariant
after rL275037 would also work, but given how `IVVisitor::visitCast` is
spelled (no indication of said invariant), I figured the current fix is
cleaner.

Fixes PR28935.

llvm-svn: 278584
2016-08-13 00:58:31 +00:00
..
Coroutines [Coroutines] Move class into anonymous namespace. 2016-08-12 08:47:13 +00:00
Hello Add auto-exporting of symbols from tools so that plugins work on Windows 2016-05-26 11:16:43 +00:00
IPO Fine tuning of sample profile propagation algorithm. 2016-08-12 16:22:12 +00:00
InstCombine constify InstCombine::foldAllocaCmp. NFC. 2016-08-12 17:13:28 +00:00
Instrumentation Fix some Clang-tidy modernize and Include What You Use warnings. 2016-08-11 17:20:18 +00:00
ObjCARC Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
Scalar [IndVars] Ignore (s|z)exts that don't extend the induction variable 2016-08-13 00:58:31 +00:00
Utils [Inliner] Don't treat inalloca allocas as static 2016-08-12 22:23:04 +00:00
Vectorize [LSV] Use a set rather than an ArraySlice at the end of getVectorizablePrefix. NFC 2016-08-13 00:04:12 +00:00
CMakeLists.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00
LLVMBuild.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00