History log of /art/compiler/optimizing/bounds_check_elimination.h
Revision Date Author Comments
09e8d5ffe52c738c6a74984b1cbc7ad4bc8f5e2c 23-Jan-2016 Aart Bik <ajcbik@google.com> Some minor simplifications in code and tests.

Background:
This is actually a resubmit of an earlier cl that was
reverted because was test was less robust against
inlining changes (it assumed a virtual call would
never be inlined).

original cl: If8ada79dfd70bea991c11d2b18661b951b6c4cd4
revert cl: I739aaaccd0509d02a62ef01e797a6d45bfe941df

Change-Id: I952680d60ff488874907f066bfdf156a45b409ba
69fd1b56021ac62c17e188bd0d4dd22fc911558e 22-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Revert "Some minor simplifications in code and tests."

Fails 530-checker-loops on arm

This reverts commit bf03fcd10a3ffa15468d335f26697b0473e45b36.

Change-Id: I739aaaccd0509d02a62ef01e797a6d45bfe941df
bf03fcd10a3ffa15468d335f26697b0473e45b36 04-Jan-2016 Aart Bik <ajcbik@google.com> Some minor simplifications in code and tests.

Rationale: fell through the cracks of previous "intrinsics" CL.

Change-Id: If8ada79dfd70bea991c11d2b18661b951b6c4cd4
4a34277c55279ba57ab361f7580db846a201d9b1 30-Nov-2015 Aart Bik <ajcbik@google.com> Dynamic BCE (based on induction range analysis)

Rationale:
A rewritten dynamic BCE that uses induction variable analysis
to generate the run-time tests before a loop in order to
eliminate bounds-checks from its body. This CL removes now
obsoleted induction related code inside the BCE module.
Also, the dynamic test generation is placed more strategically,
since we missed a few cases where static analysis does better.

Most significant performance improvements (filtering noise) is about:

Linpack +20%
LU > +10%

Change-Id: I03d7631857154b6a131b132f26a2dc568af1b3a1
d59c70627cc42878cc30b46bd29ff497b4483b22 21-Nov-2015 Aart Bik <ajcbik@google.com> Revert "Dynamic BCE (based on induction range analysis)"

This reverts commit 0b5849be045c5683d4a6b6b6c306abadba5f0fcc.


Change-Id: Id33f5da42bbdfb1aff7e2281417c8a7aa492df05
Rationale: so close :-( but bullhead-userdebug (linux) build in git_mnc-dr-dev-plus-aosp reported a breakage with a type inconsistency (long vs int in probably the codegen of dynamic bce); no time to investigate and fix this fully before my trip, so rolling back for now
0b5849be045c5683d4a6b6b6c306abadba5f0fcc 19-Oct-2015 Aart Bik <ajcbik@google.com> Dynamic BCE (based on induction range analysis)

Rationale: A rewritten dynamic BCE that uses induction variable analysis
to generate the run-time tests before a loop in order to
eliminate bounds-checks from its body. This CL removes now
obsoleted induction related code inside the BCE module.
Also, the dynamic test generation is placed more strategically,
since we missed a few cases where static analysis does better.

Most significant performance improvements (after filtering noise) is about:
Linpack +20%
LU > +10%

Change-Id: I4e7b8bab0288beff6f98a14856e3536103d32742
22af3bee34d0ab1a4bd186c71ccab00366882259 10-Sep-2015 Aart Bik <ajcbik@google.com> Use induction variable range analysis in BCE (statically).

Rationale: Finally! After lots of very large CLs, now a small CL
that uses the new induction variable analysis in BCE
(statically, using this dynamically with de-opt is TBD).
Despite its relative small size, be aware though,
since the CL introduces a new phase to the compiler.

Change-Id: If5555a173fd5d55d147c63138ef51fc296fa1414
69ba7b7112c2277ac225615b37e6df74c055740d 23-Jun-2015 David Brazdil <dbrazdil@google.com> ART: Run GraphChecker after Builder and SsaBuilder

This patch refactors the way GraphChecker is invoked, utilizing the
same scoping mechanism as pass timing and graph visualizer. Therefore,
GraphChecker will now run not just after instances of HOptimization
but after the builders and reg alloc, too.

Change-Id: I8173b98b79afa95e1fcbf3ac9630a873d7f6c1d4
7c3952f423b8213083d60596a5f0bf4237ca3f7b 20-Feb-2015 Andreas Gampe <agampe@google.com> ART: Add -Wunused

Until the global CFLAGS are fixed, add Wunused. Fix declarations
in the optimizing compiler.

Change-Id: Ic4553f08e809dc54f3d82af57ac592622c98e000
0418b5b20587c645b6bf9d8cb65d3d6a9f074d96 05-Dec-2014 Andreas Gampe <agampe@google.com> ART: Fix linting errors

Fix bounds_check_elimination linting errors.

Change-Id: I040433ecbc84d740bff331c37df0bfcc64dc244e
f384f88d4d1e89df82f47fbc7245a8acc9c2d49c 23-Oct-2014 Mingyao Yang <mingyao@google.com> Bounds check elimination.

Change-Id: Ia0d6a4226c1f9f1ff1dd35347a38db1dc4265319