diff options
author | Vladimir Marko <vmarko@google.com> | 2015-02-09 12:35:05 +0000 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2015-02-10 18:09:21 +0000 |
commit | 6a8946ba3d170fee0ff06de42209be4b14e6aff3 (patch) | |
tree | 096e0cf6e9d4b529e22b417dad8432c42b9a8c82 /compiler/dex/mir_graph.h | |
parent | 4ba86c428f839cb75f5838b8327e893694377590 (diff) | |
download | android_art-6a8946ba3d170fee0ff06de42209be4b14e6aff3.tar.gz android_art-6a8946ba3d170fee0ff06de42209be4b14e6aff3.tar.bz2 android_art-6a8946ba3d170fee0ff06de42209be4b14e6aff3.zip |
Quick: Rewrite Phi node insertion.
Delay Phi node insertion to the SSAConversion pass to allow
updating the vreg_to_ssa_map_ with INVALID_SREG when we omit
a Phi in the pruned SSA form.
Change-Id: I450dee21f7dc4353d25fc66f4d0ee01671de6e0e
Diffstat (limited to 'compiler/dex/mir_graph.h')
-rw-r--r-- | compiler/dex/mir_graph.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/dex/mir_graph.h b/compiler/dex/mir_graph.h index 5914245f5b..27dca658e8 100644 --- a/compiler/dex/mir_graph.h +++ b/compiler/dex/mir_graph.h @@ -1201,7 +1201,7 @@ class MIRGraph { void ComputeDominators(); void CompilerInitializeSSAConversion(); virtual void InitializeBasicBlockDataFlow(); - void InsertPhiNodes(); + void FindPhiNodeBlocks(); void DoDFSPreOrderSSARename(BasicBlock* block); bool DfsOrdersUpToDate() const { @@ -1378,6 +1378,7 @@ class MIRGraph { size_t num_vregs; ArenaBitVector* work_live_vregs; ArenaBitVector** def_block_matrix; // num_vregs x num_blocks_. + ArenaBitVector** phi_node_blocks; // num_vregs x num_blocks_. } ssa; // Global value numbering. struct { |