summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/dead_code_elimination_test.cc
Commit message (Collapse)AuthorAgeFilesLines
* Be careful with predecessor/successor index.Nicolas Geoffray2015-06-221-3/+3
| | | | | | | | | | | | | When we simplify the CFG, we must preserve things that were already simplified. For example, the index in the predecessor list or successor list of a block must be preserved for ensuring the first block is a loop pre header. bug:21867463 (cherry picked from commit 8b20f88b0a8d1b374dd5eaae289d19734c77b8f8) Change-Id: I2581b5a50942290da96cd9ec876f6f2573e0a6c4
* ART: Fix gtests broken by dead block eliminationDavid Brazdil2015-04-241-14/+19
| | | | Change-Id: If5de97f928f9e214d64871eabfbfb3f2d15451b7
* [optimizing] Name the last DCE pass.Calin Juravle2015-04-221-1/+1
| | | | | | This will allow Checker to differentiate between them. Change-Id: I972d452a64f1c19d370567b9ef3d620f9b835a9a
* Run DCE again after all the other optimizations have run.Calin Juravle2015-04-221-1/+1
| | | | On docs this doubles the amount of instructions removed.
* Revert "fix optimizing gtests"Nicolas Geoffray2015-04-211-1/+1
| | | | | | This reverts commit 69dcf64251d70f616ae6c435d4788545130d42f0. Change-Id: I1e01c17a3aa8b001ad5659260802e5f5073bf14e
* fix optimizing gtestsCalin Juravle2015-04-211-1/+1
| | | | Change-Id: I207398d8a65482650fba87db12a3b51e8b114694
* [optimizing] Implement x86/x86_64 math intrinsicsMark Mendell2015-04-011-1/+4
| | | | | | | | | | | | | | | | | | | Implement floor/ceil/round/RoundFloat on x86 and x86_64. Implement RoundDouble on x86_64. Add support for roundss and roundsd on both architectures. Support them in the disassembler as well. Add the instruction set features for x86, as the 'round' instruction is only supported if SSE4.1 is supported. Fix the tests to handle the addition of passing the instruction set features to x86 and x86_64. Add assembler tests for roundsd and roundss to x86_64 assembler tests. Change-Id: I9742d5930befb0bbc23f3d6c83ce0183ed9fe04f Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
* Add implicit null checks for the optimizing compilerCalin Juravle2015-01-161-1/+2
| | | | | | | | | - for backends: arm, arm64, x86, x86_64 - fixed parameter passing for CodeGenerator - 003-omnibus-opcodes test verifies that NullPointerExceptions work as expected Change-Id: I1b302acd353342504716c9169a80706cf3aba2c8
* Inlining support in optimizing.Nicolas Geoffray2014-12-151-2/+1
| | | | | | | | | | Currently only inlines simple things that don't require an environment, such as: - Returning a constant. - Returning a parameter. - Returning an arithmetic operation. Change-Id: Ie844950cb44f69e104774a3cf7a8dea66bc85661
* Use HOptimization abstraction for running optimizations.Nicolas Geoffray2014-11-191-2/+1
| | | | | | Move existing optimizations to it. Change-Id: I3b43f9997faf4ed8875162e3a3abdf99375478dd
* Revert "Revert "Introduce a class to implement optimization passes.""Roland Levillain2014-10-171-7/+10
| | | | | | This reverts commit 1ddbf6d4b37979a9f11a203c12befd5ae8b65df4. Change-Id: I110a14668d1564ee0604dc958b91394b40da89fc
* Implement default traversals in CFG & SSA graph checkers.Roland Levillain2014-10-141-1/+1
| | | | | | | - Check CFG graphs using an insertion order traversal. - Check SSA form graphs using a reverse post-order traversal. Change-Id: Ib9062599bdbf3c17b9f213b743274b2d71a9fa90
* Revert "Introduce a class to implement optimization passes."Nicolas Geoffray2014-10-011-10/+7
| | | | | | This reverts commit bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8. Change-Id: I0a483446666c9c24c45925a5fc199debdefd8b3e
* Introduce a class to implement optimization passes.Roland Levillain2014-10-011-7/+10
| | | | | | | | | | | | | | | | - 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
* Initiate a dead code elimination pass in the optimizing compiler.Roland Levillain2014-09-171-0/+185
Change-Id: Ie9db5d8e2c2c30e34145a0f7d2386b8ec58cfc4e