Chromium Code Reviews| Index: src/IceTargetLoweringARM32.h |
| diff --git a/src/IceTargetLoweringARM32.h b/src/IceTargetLoweringARM32.h |
| index 8aa3e11b5ae59b7c5f8bbe0b92b6378e52a96928..662be546604d7c06446afe9d6b91aac0b055c4d6 100644 |
| --- a/src/IceTargetLoweringARM32.h |
| +++ b/src/IceTargetLoweringARM32.h |
| @@ -172,6 +172,8 @@ protected: |
| ExtInstr ExtFunc, DivInstr DivFunc, |
| const char *DivHelperName, bool IsRemainder); |
| + void lowerCLZ(Variable *Dest, Variable *ValLo, Variable *ValHi); |
| + |
| // The following are helpers that insert lowered ARM32 instructions |
| // with minimal syntactic overhead, so that the lowering code can |
| // look as close to assembly as practical. |
| @@ -224,6 +226,10 @@ protected: |
| CondARM32::Cond Pred = CondARM32::AL) { |
| Context.insert(InstARM32Cmp::create(Func, Src0, Src1, Pred)); |
| } |
| + void _clz(Variable *Dest, Variable *Src0, |
| + CondARM32::Cond Pred = CondARM32::AL) { |
| + Context.insert(InstARM32Clz::create(Func, Dest, Src0, Pred)); |
| + } |
| void _eor(Variable *Dest, Variable *Src0, Operand *Src1, |
| CondARM32::Cond Pred = CondARM32::AL) { |
| Context.insert(InstARM32Eor::create(Func, Dest, Src0, Src1, Pred)); |
| @@ -301,6 +307,14 @@ protected: |
| for (Variable *Dest : Dests) |
| Context.insert(InstFakeDef::create(Func, Dest)); |
| } |
| + void _rbit(Variable *Dest, Variable *Src0, |
| + CondARM32::Cond Pred = CondARM32::AL) { |
| + Context.insert(InstARM32Rbit::create(Func, Dest, Src0, Pred)); |
| + } |
| + void _rev(Variable *Dest, Variable *Src0, |
| + CondARM32::Cond Pred = CondARM32::AL) { |
| + Context.insert(InstARM32Rev::create(Func, Dest, Src0, Pred)); |
| + } |
| void _ret(Variable *LR, Variable *Src0 = nullptr) { |
| Context.insert(InstARM32Ret::create(Func, LR, Src0)); |
| } |
| @@ -361,6 +375,9 @@ protected: |
| CondARM32::Cond Pred = CondARM32::AL) { |
| Context.insert(InstARM32Uxt::create(Func, Dest, Src0, Pred)); |
| } |
| + void _set_dest_nonkillable() { |
| + Context.getLastInserted()->setDestNonKillable(); |
|
John
2015/07/08 21:49:21
_set_dest_nonkillable is used in pretty much every
jvoung (off chromium)
2015/07/09 01:11:24
Done.
|
| + } |
| TargetARM32Features CPUFeatures; |
| bool UsesFramePointer = false; |