summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorAart Bik <ajcbik@google.com>2016-10-06 11:36:57 -0700
committerAart Bik <ajcbik@google.com>2016-10-07 08:16:16 -0700
commit8c4a8542ff5f899f430a65feaa114d6288077224 (patch)
tree8582d2cbab0dcab323b984caa164f4c3bc65613d /compiler/optimizing/graph_visualizer.cc
parent78c6fefdb9008cb6dc9f0014d4616b457009c6c8 (diff)
Improved and simplified loop optimizations.
Rationale: This CL merges some common cases into one, thereby simplifying the code quite a bit. It also prepares for more general induction cycles (rather than the simple phi-add currently used). Finally, it generalizes the closed form elimination with empty loops. As a result of the latter, elaborate but weird code like: private static int waterFall() { int i = 0; for (; i < 10; i++); for (; i < 20; i++); for (; i < 30; i++); for (; i < 40; i++); for (; i < 50; i++); return i; } now becomes just this (on x86)! mov eax, 50 ret Change-Id: I8d22ce63ce9696918f57bb90f64d9a9303a4791d Test: m test-art-host
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions