summaryrefslogtreecommitdiff
path: root/compiler/optimizing/dominator_test.cc
AgeCommit message (Collapse)Author
2023-02-13Don't run ReferenceTypePropagation without a Thread Santiago Aboy Solanes
Update some of our gtests to create a Runtime, as ReferenceTypePropagation expects to have one. Test: run gtests Change-Id: I75986b1a9dc0227ee05f507f2b03ffa8aa8f8e58
2022-11-07Reland "Make compiler/optimizing/ symbols hidden." VladimĂ­r Marko
This reverts commit 0a51605ddd81635135463dab08b6f7c21b58ffb0. Reason for revert: Reland after some of the required work was merged in other CLs. Also address a TODO from the original CL to mark required symbols with EXPORT in `intrinsic_objects.h`. Also mark symbols in new files as HIDDEN. Bug: 186902856 Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Change-Id: I936d448983928af23614ca82c2d0bf9a645e2c52
2019-10-14Revert "Make compiler/optimizing/ symbols hidden." Vladimir Marko
This reverts commit e2727154f25e0db9a5bb92af494d8e47b181dfcf. Reason for revert: Breaks ASAN tests (ODR violation). Bug: 142365358 Change-Id: I38103d74a1297256c81d90872b6902ff1e9ef7a4
2019-10-14Make compiler/optimizing/ symbols hidden. Vladimir Marko
Make symbols in compiler/optimizing hidden by a namespace attribute. The unit intrinsic_objects.{h,cc} is excluded as it is needed by dex2oat. As the symbols are no longer exported, gtests are now linked with the static version of the libartd-compiler library. libart-compiler.so size: - before: arm: 2396152 arm64: 3345280 - after: arm: 2016176 (-371KiB, -15.9%) arm64: 2874480 (-460KiB, -14.1%) Test: m test-art-host-gtest Test: testrunner.py --host --optimizing --jit Bug: 142365358 Change-Id: I1fb04a33351f53f00b389a1642e81a68e40912a8
2018-01-13Change compiler tests to have aligned code item Mathieu Chartier
Previously, the code item was not necessarily 32 bit aligned. This caused bus errors on armv7. Also create a real dexfile object instead of casting 0 initialized memory to a dex file pointer. We just got lucky before that the cdex boolean was false. Test: test-art-target-gtest Bug: 63756964 Bug: 71605148 Change-Id: Ic7199f2b97bbd421de1d702efa5c6531ff45c022
2018-01-05Create dex subdirectory David Sehr
Move all the DexFile related source to a common subdirectory dex/ of runtime. Bug: 71361973 Test: make -j 50 test-art-host Change-Id: I59e984ed660b93e0776556308be3d653722f5223
2017-10-06ART: Use ScopedArenaAllocator for pass-local data. Vladimir Marko
Passes using local ArenaAllocator were hiding their memory usage from the allocation counting, making it difficult to track down where memory was used. Using ScopedArenaAllocator reveals the memory usage. This changes the HGraph constructor which requires a lot of changes in tests. Refactor these tests to limit the amount of work needed the next time we change that constructor. Test: m test-art-host-gtest Test: testrunner.py --host Test: Build with kArenaAllocatorCountAllocations = true. Bug: 64312607 Change-Id: I34939e4086b500d6e827ff3ef2211d1a421ac91a
2016-02-15ART: Run SsaBuilder from HGraphBuilder David Brazdil
First step towards merging the two passes, which will later result in HGraphBuilder directly producing SSA form. This CL mostly just updates tests broken by not being able to inspect the pre-SSA form. Using HLocals outside the HGraphBuilder is now deprecated. Bug: 27150508 Change-Id: I00fb6050580f409dcc5aa5b5aa3a536d6e8d759e
2016-01-22Revert "Revert "Inline methods with loops."" Nicolas Geoffray
Bug: 26689526 This reverts commit 451ad8d1be9a1949ea3c3e3a713a9e76198a8b2d. Change-Id: If484fe4c0744254dd7568fd5006e574d621a1855
2016-01-20Revert "Fix gtests after loop inlining support." Andreas Gampe
This reverts commit 0e342cd5ccf0f648e165fa4fd270b44dfbea8be6. Loop inlining exposes BCE issues. Bug: 26689526 Change-Id: Iab0f8f502d8b389af4efc2e99e28cae59c00ee9b
2016-01-20Fix gtests after loop inlining support. Nicolas Geoffray
Change-Id: Id6288fff8911ec9545e83d97f90ae566e13a75af
2015-10-08Add DCHECKs to ArenaVector and ScopedArenaVector. Vladimir Marko
Implement dchecked_vector<> template that DCHECK()s element access and insert()/emplace()/erase() positions. Change the ArenaVector<> and ScopedArenaVector<> aliases to use the new template instead of std::vector<>. Remove DCHECK()s that have now become unnecessary from the Optimizing compiler. Change-Id: Ib8506bd30d223f68f52bd4476c76d9991acacadc
2015-09-16Optimizing: Tag arena allocations in HGraph. Vladimir Marko
Replace GrowableArray with ArenaVector in HGraph and related classes HEnvironment, HLoopInformation, HInvoke and HPhi, and tag allocations with new arena allocation types. Change-Id: I3d79897af405b9a1a5b98bfc372e70fe0b3bc40d
2015-05-11Add a parent environment to HEnvironment. Nicolas Geoffray
This code has no functionality change. It adds a placeholder for chaining inlined frames. Change-Id: I5ec57335af76ee406052345b947aad98a6a4423a
2015-04-15Remove dead blocks for the blocks_ array. Nicolas Geoffray
This prevents crashing because of structurally incorrect blocks. Also we now don't need to remove its instructions. Test case courtesy of Serguei I Katkov. Change-Id: Ia3ef9580549fc3546e8cd5f346079b1f0ceb2a61
2015-02-19Move arenas into runtime Mathieu Chartier
Moved arena pool into the runtime. Motivation: Allow GC to use arena allocators, recycle arena pool for linear alloc. Bug: 19264997 Change-Id: I8ddbb6d55ee923a980b28fb656c758c5d7697c2f
2015-02-04Create HGraph outside Builder, print timings David Brazdil
This patch refactors the way HGraph objects are created, moving the instantiation out of the Builder class and creating the CodeGenerator earlier. The patch uses this to build a single interface for printing timings info and dumping the CFG. Change-Id: I2eb63eabf28e2d0f5cdc7affaa690c3a4b1bdd21
2014-05-13Add loop recognition and CFG simplifications in new compiler. Nicolas Geoffray
We do three simplifications: - Split critical edges, for code generation from SSA (new). - Ensure one back edge per loop, to simplify loop recognition (new). - Ensure only one pre header for a loop, to simplify SSA creation (existing). Change-Id: I9bfccd4b236a00486a261078627b091c8a68be33
2014-05-07Build live-in, live-out and kill sets for each block. Nicolas Geoffray
This information will be used when computing live ranges of instructions. Change-Id: I345ee833c1ccb4a8e725c7976453f6d58d350d74
2014-03-18Plug new optimizing compiler in compilation pipeline. Nicolas Geoffray
Also rename accessors to ART's conventions. Change-Id: I344807055b98aa4b27215704ec362191464acecc
2014-03-10Fix lint errors. Nicolas Geoffray
Change-Id: Ibefa43522ec68ed2a13bd034005d6f424e92957c
2014-03-10Add register support to the optimizing compiler. Nicolas Geoffray
Also make if take an input and build the use list for instructions. Change-Id: I1938cee7dce5bd4c66b259fa2b431d2c79b3cf82
2014-02-26Add conditional branches, and build dominator tree. Nicolas Geoffray
Change-Id: I4b151a07b72692961235a1419b54b6b45cf54e63