summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/arm/Codegen.h
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2012-10-30 15:48:42 -0700
committer buzbee <buzbee@google.com> 2012-11-01 12:05:35 -0700
commitb046e16d8b8da318d6055f9308950131f1255e08 (patch)
treed4472622967d02fcc87bb422bddea9a9140c75f9 /src/compiler/codegen/arm/Codegen.h
parent6e30145f1ed992be8d4e5a9973410c19f3de59f9 (diff)
Remove all TARGET_[ARM|X86|MIPS] #ifdefs
Two steps forward, one step back towards elimination of the "#include" build model for target-specific compilers. This CL does some restructuring to eliminate all of the TARGET_xxx #ifdefs and convert them to run-time tests. Considerable work is still required to fully eliminate the multiple builds. In particular, much of the "common" codegen code relies on macros defined by the target-specific [Arm|X86|Mips]Lir.h include file. Next step is more restructuring to better isolate target-independent code generation code. Change-Id: If6efbde65c48031a48423344d8dc3e2ff2c4ad9d
Diffstat (limited to 'src/compiler/codegen/arm/Codegen.h')
-rw-r--r--src/compiler/codegen/arm/Codegen.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/compiler/codegen/arm/Codegen.h b/src/compiler/codegen/arm/Codegen.h
index 22f6157228..0890c15bab 100644
--- a/src/compiler/codegen/arm/Codegen.h
+++ b/src/compiler/codegen/arm/Codegen.h
@@ -14,13 +14,7 @@
* limitations under the License.
*/
-/*
- * This file contains register alloction support and is intended to be
- * included by:
- *
- * Codegen-$(TARGET_ARCH_VARIANT).c
- *
- */
+/* This file contains register alloction support. */
#include "../../CompilerIR.h"
@@ -91,8 +85,19 @@ inline s4 s4FromSwitchData(const void* switchData) {
#endif
-extern void oatSetupResourceMasks(LIR* lir);
+extern void oatSetupResourceMasks(CompilationUnit* cUnit, LIR* lir);
extern LIR* oatRegCopyNoInsert(CompilationUnit* cUnit, int rDest, int rSrc);
+bool genAddLong(CompilationUnit* cUnit, RegLocation rlDest,
+ RegLocation rlSrc1, RegLocation rlSrc2);
+bool genSubLong(CompilationUnit* cUnit, RegLocation rlDest,
+ RegLocation rlSrc1, RegLocation rlSrc2);
+bool genAndLong(CompilationUnit* cUnit, RegLocation rlDest,
+ RegLocation rlSrc1, RegLocation rlSrc2);
+bool genOrLong(CompilationUnit* cUnit, RegLocation rlDest,
+ RegLocation rlSrc1, RegLocation rlSrc2);
+bool genXorLong(CompilationUnit* cUnit, RegLocation rlDest,
+ RegLocation rlSrc1, RegLocation rlSrc2);
+
} // namespace art