summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/code_generator_arm_vixl.h
diff options
context:
space:
mode:
authorAnton Kirilov <anton.kirilov@linaro.org>2017-05-10 12:46:57 +0100
committerAnton Kirilov <anton.kirilov@linaro.org>2017-05-24 11:35:08 +0100
commitfd522533bf8cea5a8334f233922c39536b1a3d29 (patch)
tree8394d517d43c6b0a78b053ac7fe9f7bc61f387fa /compiler/optimizing/code_generator_arm_vixl.h
parenta4bf3c33e501758fa8e707ef30f9ee67ea20511e (diff)
downloadart-fd522533bf8cea5a8334f233922c39536b1a3d29.tar.gz
art-fd522533bf8cea5a8334f233922c39536b1a3d29.tar.bz2
art-fd522533bf8cea5a8334f233922c39536b1a3d29.zip
ARM: Specify if some branches go to far targets
Also avoids some branches to branches. Test: m test-art-target Change-Id: I839bcaa6ba5fba7aaa8474bee5532366ac0cc4ac
Diffstat (limited to 'compiler/optimizing/code_generator_arm_vixl.h')
-rw-r--r--compiler/optimizing/code_generator_arm_vixl.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_arm_vixl.h b/compiler/optimizing/code_generator_arm_vixl.h
index 91f7524c8e..91e9a3edc4 100644
--- a/compiler/optimizing/code_generator_arm_vixl.h
+++ b/compiler/optimizing/code_generator_arm_vixl.h
@@ -400,7 +400,8 @@ class InstructionCodeGeneratorARMVIXL : public InstructionCodeGenerator {
bool far_target = true);
void GenerateCompareTestAndBranch(HCondition* condition,
vixl::aarch32::Label* true_target,
- vixl::aarch32::Label* false_target);
+ vixl::aarch32::Label* false_target,
+ bool is_far_target = true);
void DivRemOneOrMinusOne(HBinaryOperation* instruction);
void DivRemByPowerOfTwo(HBinaryOperation* instruction);
void GenerateDivRemWithAnyConstant(HBinaryOperation* instruction);