1a65388f1d86bb232c2e44fecb44cebe13105d2e |
|
18-Mar-2016 |
Roland Levillain <rpl@google.com> |
Clean up art::HConstant predicates. - Make the difference between arithmetic zero and zero-bit pattern non ambiguous. - Introduce Boolean predicates in art::HIntConstant for when they are used as Booleans. - Introduce aritmetic positive and negative zero predicates for floating-point constants. Bug: 27639313 Change-Id: Ia04ecc6f6aa7450136028c5362ed429760c883bd
|
1252e976b972231a84b36e4bb73cf513bb7799d1 |
|
06-Aug-2015 |
Roland Levillain <rpl@google.com> |
Implement Optimizing's constant folding as a visitor. Refactor the logic of art::HConstantFolding::Run into a new visitor, art::HConstantFoldingVisitor. Change-Id: Id8d3c3826f6dff6cc2d18a01f6c48d79bde483b3
|
31dd3d60491148d345c1edae1ccd090a1b67dd2b |
|
16-Feb-2016 |
Roland Levillain <rpl@google.com> |
Extend constant folding to float and double operations. Change-Id: I2837064b2ceea587bc171fc520507f13355292c6
|
e34648dec914453f7e8b6c517dd272823319cd6d |
|
23-Nov-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Add stats support for existing optimizations" Breaks the build. Please ensure your changes build. This reverts commit 06241b1b07fb031b7d2cf55f4b78d3444d07cc2d. Change-Id: I68b18f99a9882719bf6654d3313531a7965b8483
|
06241b1b07fb031b7d2cf55f4b78d3444d07cc2d |
|
03-Sep-2015 |
Jean-Philippe Halimi <jean-philippe.halimi@intel.com> |
Add stats support for existing optimizations This patch adds support for the --dump-stats facility with existing optimizations. Change-Id: I68751b119a030952a11057cb651a3c63e87e73ea Signed-off-by: Jean-Philippe Halimi <jean-philippe.halimi@intel.com>
|
96709f17347cb7a6aae15816244d2200ca95a649 |
|
29-Oct-2015 |
Aart Bik <ajcbik@google.com> |
Simplify unsigned comparisons against zero (with unit tests). Rationale: Such cases occurs a lot after dynamic bound check optimization (where the lower bound is test against upper bound). Removing this unnecessary test improves quality of code. Change-Id: I3e4dc9f9d799aad342e1c344013ac60fcc3073ac
|
00d597a7e192b5d9ccf5a4bcb3783e688af7301f |
|
30-Sep-2015 |
Kenny Root <kroot@google.com> |
Tidy up spelling To match the directory "compiler/optimizing" change the spelling of comments. Change-Id: I816da4836ce86f4a44ddd2754d8e788d77a27de3
|
e82549b14c7def0a45461183964f7e6a34cbb70c |
|
06-May-2015 |
Mark Mendell <mark.p.mendell@intel.com> |
[optimizing] Fold HTypeConversion of constants While looking into optimizing long shifts on x86, I found that the compiler wasn't folding HTypeConversion of constants. Add simple conversions of constants, taking care of float/double values with NaNs and small/large values, ensuring Java conversion semantics. Add checker cases to see that constant folding of HTypeConversion is done. Ensure 422-type-conversion type conversion routiness don't get inlined to avoid compile time folding. Change-Id: I5a4eb376b64bc4e41bf908af5875bed312efb228 Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
|
3b55ebb22156e1f3496cd1ee4a05e03b4780e579 |
|
08-May-2015 |
Roland Levillain <rpl@google.com> |
Simplify floating-point comparisons with NaN in Optimizing. This change was suggested by Ian. Also, simplify some art::HFloatConstant and art::HDoubleConstant methods. Change-Id: I7908df23581a7f61c8ec79c290fe5f70798ac3be
|
8d5b8b295930aaa43255c4f0b74ece3ee8b43a47 |
|
24-Mar-2015 |
David Brazdil <dbrazdil@google.com> |
ART: Force constants into the entry block Optimizations such as GVN and BCE make the assumption that all constants are located in the entry block of the CFG, but not all passes adhere to this rule. This patch makes constructors of constants private and only accessible to friend classes - HGraph for int/long constants and SsaBuilder for float/double - which ensure that they are placed correctly and not duplicated. Note that the ArenaAllocatorAdapter was modified to not increment the ArenaAllocator's internal reference counter in order to allow for use of ArenaSafeMap inside an arena-allocated objects. Because their destructor is not called, the counter does not get decremented. Change-Id: I36a4fa29ae34fb905cdefd482ccbf386cff14166
|
b2fd7bca70b580921eebf7c45769c39d2dfd8a5a |
|
11-Mar-2015 |
Alexandre Rames <alexandre.rames@arm.com> |
Opt compiler: Basic simplification for arithmetic operations. The optimisations in this patch do not look further than the inputs of each operation. Change-Id: Iddd0ab6b360b9e7bb042db22086d51a31be85530
|
277ccbd200ea43590dfc06a93ae184a765327ad0 |
|
04-Nov-2014 |
Andreas Gampe <agampe@google.com> |
ART: More warnings Enable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general, and -Wunused-but-set-parameter for GCC builds. Change-Id: I81bbdd762213444673c65d85edae594a523836e5
|
9240d6a2baa9ed1e18ee08744b461fe49a1ee269 |
|
20-Oct-2014 |
Roland Levillain <rpl@google.com> |
Constant folding on unary operations in the optimizing compiler. Change-Id: I4b77afa2a89f5ad2eedd4d6c0c6c382585419349
|
75be28332b278cff9039b54bfb228ac72f539ccc |
|
17-Oct-2014 |
Roland Levillain <rpl@google.com> |
Revert "Revert "Introduce a class to implement optimization passes."" This reverts commit 1ddbf6d4b37979a9f11a203c12befd5ae8b65df4. Change-Id: I110a14668d1564ee0604dc958b91394b40da89fc
|
1ddbf6d4b37979a9f11a203c12befd5ae8b65df4 |
|
01-Oct-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Introduce a class to implement optimization passes." This reverts commit bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8. Change-Id: I0a483446666c9c24c45925a5fc199debdefd8b3e
|
bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8 |
|
30-Sep-2014 |
Roland Levillain <rpl@google.com> |
Introduce a class to implement optimization passes. - Add art::HOptimization. - Rename art::ConstantPropagation to art::HConstantFolding in compiler/optimizing/constant_folding.h to avoid name clashes with a class of the same name in compiler/dex/post_opt_passes.h. - Rename art::DeadCodeElimination to art::HDeadCodeElimination for consistency reasons. - Have art::HDeadCodeElimination and art::HConstantFolding derive from art::HOptimization. - Start to use these optimizations in art:OptimizingCompiler::TryCompile. Change-Id: Iaab350c122d87b2333b3760312b15c0592d7e010
|