summaryrefslogtreecommitdiff
path: root/compiler/dex/mir_graph.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2015-04-07 09:36:09 +0100
committer Vladimir Marko <vmarko@google.com> 2015-04-07 19:13:40 +0100
commitcc23481b66fd1f2b459d82da4852073e32f033aa (patch)
treef2192d5fff8591e4e5b87d04fa6fce770f7e7f08 /compiler/dex/mir_graph.h
parente5c76c515a481074aaa6b869aa16490a47ba98bc (diff)
Promote pointer to dex cache arrays on arm.
Do the use-count analysis on temps (ArtMethod* and the new PC-relative temp) in Mir2Lir, rather than MIRGraph. MIRGraph isn't really supposed to know how the ArtMethod* is used by the backend. Change-Id: Iaf56a46ae203eca86281b02b54f39a80fe5cc2dd
Diffstat (limited to 'compiler/dex/mir_graph.h')
-rw-r--r--compiler/dex/mir_graph.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/dex/mir_graph.h b/compiler/dex/mir_graph.h
index 3298af1162..d4a9eb938b 100644
--- a/compiler/dex/mir_graph.h
+++ b/compiler/dex/mir_graph.h
@@ -960,6 +960,12 @@ class MIRGraph {
*/
CompilerTemp* GetNewCompilerTemp(CompilerTempType ct_type, bool wide);
+ /**
+ * @brief Used to remove last created compiler temporary when it's not needed.
+ * @param temp the temporary to remove.
+ */
+ void RemoveLastCompilerTemp(CompilerTempType ct_type, bool wide, CompilerTemp* temp);
+
bool MethodIsLeaf() {
return attributes_ & METHOD_IS_LEAF;
}
@@ -1185,6 +1191,12 @@ class MIRGraph {
void DoConstantPropagation(BasicBlock* bb);
/**
+ * @brief Get use count weight for a given block.
+ * @param bb the BasicBlock.
+ */
+ uint32_t GetUseCountWeight(BasicBlock* bb) const;
+
+ /**
* @brief Count the uses in the BasicBlock
* @param bb the BasicBlock
*/