aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-06-13 16:25:49 +0000
committerDan Gohman <gohman@apple.com>2009-06-13 16:25:49 +0000
commitfc4d071a8424fda3da7d8a242f28dd20f2be379b (patch)
tree412ece01df0e34791df86cc1320d8e8a7b0f9653 /lib/Target
parente1ca7e88297afc72702609af81812a9bb9740787 (diff)
downloadexternal_llvm-fc4d071a8424fda3da7d8a242f28dd20f2be379b.zip
external_llvm-fc4d071a8424fda3da7d8a242f28dd20f2be379b.tar.gz
external_llvm-fc4d071a8424fda3da7d8a242f28dd20f2be379b.tar.bz2
Teach SCEVExpander's visitAddRecExpr to reuse an existing canonical
induction variable when the addrec to be expanded does not require a wider type. This eliminates the need for IndVarSimplify to micro-manage SCEV expansions, because SCEVExpander now automatically expands them in the form that IndVarSimplify considers to be canonical. (LSR still micro-manages its SCEV expansions, because it's optimizing for the target, rather than for other optimizations.) Also, this uses the new getAnyExtendExpr, which has more clever expression simplification logic than the IndVarSimplify code it replaces, and this cleans up some ugly expansions in code such as the included masked-iv.ll testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73294 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
0 files changed, 0 insertions, 0 deletions