diff options
| author | 2012-02-02 16:46:25 -0800 | |
|---|---|---|
| committer | 2012-02-02 16:46:25 -0800 | |
| commit | 1ff1b98327b8056e20cd959963d759697a2b2f11 (patch) | |
| tree | b5f93a7ca614ab8f34551cf179f9bdb41bd4adf4 /src/compiler/codegen/arm/ArmLIR.h | |
| parent | 3c92a1833dcf1bda1b6180e053ffa4334866d1f9 (diff) | |
| parent | 5abfa3ea35781464df8fae60aaf03f48a295e965 (diff) | |
Merge "Compiler tuning" into dalvik-dev
Diffstat (limited to 'src/compiler/codegen/arm/ArmLIR.h')
| -rw-r--r-- | src/compiler/codegen/arm/ArmLIR.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/codegen/arm/ArmLIR.h b/src/compiler/codegen/arm/ArmLIR.h index e77bed3d3a..3c5daad990 100644 --- a/src/compiler/codegen/arm/ArmLIR.h +++ b/src/compiler/codegen/arm/ArmLIR.h @@ -739,6 +739,7 @@ typedef enum ArmOpFeatureFlags { kUsesCCodes, kMemLoad, kMemStore, + kPCRelFixup, } ArmOpFeatureFlags; #define IS_LOAD (1 << kMemLoad) @@ -770,6 +771,7 @@ typedef enum ArmOpFeatureFlags { #define IS_IT (1 << kIsIT) #define SETS_CCODES (1 << kSetsCCodes) #define USES_CCODES (1 << kUsesCCodes) +#define NEEDS_FIXUP (1 << kPCRelFixup) /* Common combo register usage patterns */ #define REG_USE01 (REG_USE0 | REG_USE1) @@ -844,9 +846,10 @@ typedef struct ArmLIR { bool isNop:1; // LIR is optimized away bool insertWrapper:1; // insert branch to emulate memory accesses bool squashed:1; // Eliminated def + bool pcRelFixup:1; // May need pc-relative fixup unsigned int age:4; // default is 0, set lazily by the optimizer unsigned int size:3; // bytes (2 for thumb, 2/4 for thumb2) - unsigned int unused:22; + unsigned int unused:21; } flags; int aliasInfo; // For Dalvik register & litpool disambiguation u8 useMask; // Resource mask for use |