diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-10-08 21:07:48 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-10-09 15:21:57 +0100 |
commit | 360231a056e796c36ffe62348507e904dc9efb9b (patch) | |
tree | a62ff73c11eaa6694649c98e4c2d872e89149b0c /compiler/optimizing/code_generator_arm.h | |
parent | 2072c465cfff077da257bdf14f1f1b2690c946c8 (diff) |
Fix code generation of materialized conditions.
Move the logic for knowing if a condition needs to be materialized
in an optimization pass (so that the information does not change
as a side effect of another optimization).
Also clean-up arm and x86_64 codegen:
- arm: ldr and str are for power-users when a constant is
in play. We should use LoadFromOffset and StoreToOffset.
- x86_64: fix misuses of movq instead of movl.
Change-Id: I01a03b91803624be2281a344a13ad5efbf4f3ef3
Diffstat (limited to 'compiler/optimizing/code_generator_arm.h')
-rw-r--r-- | compiler/optimizing/code_generator_arm.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator_arm.h b/compiler/optimizing/code_generator_arm.h index 9da26e8767..c5a8e55ae8 100644 --- a/compiler/optimizing/code_generator_arm.h +++ b/compiler/optimizing/code_generator_arm.h @@ -91,7 +91,7 @@ class LocationsBuilderARM : public HGraphVisitor { LocationsBuilderARM(HGraph* graph, CodeGeneratorARM* codegen) : HGraphVisitor(graph), codegen_(codegen) {} -#define DECLARE_VISIT_INSTRUCTION(name) \ +#define DECLARE_VISIT_INSTRUCTION(name, super) \ virtual void Visit##name(H##name* instr); FOR_EACH_CONCRETE_INSTRUCTION(DECLARE_VISIT_INSTRUCTION) @@ -111,7 +111,7 @@ class InstructionCodeGeneratorARM : public HGraphVisitor { public: InstructionCodeGeneratorARM(HGraph* graph, CodeGeneratorARM* codegen); -#define DECLARE_VISIT_INSTRUCTION(name) \ +#define DECLARE_VISIT_INSTRUCTION(name, super) \ virtual void Visit##name(H##name* instr); FOR_EACH_CONCRETE_INSTRUCTION(DECLARE_VISIT_INSTRUCTION) |