| Index: src/IceInstMIPS32.h
|
| diff --git a/src/IceInstMIPS32.h b/src/IceInstMIPS32.h
|
| index 5dc836713db774ea7a2f25b74f08b2c6af2a1425..16bd5948ac0f160c4a24391602a2fa087e50b5bd 100644
|
| --- a/src/IceInstMIPS32.h
|
| +++ b/src/IceInstMIPS32.h
|
| @@ -201,6 +201,8 @@ public:
|
|
|
| static const char *getWidthString(Type Ty);
|
|
|
| + CondMIPS32::Cond getOppositeCondition(CondMIPS32::Cond Cond);
|
| +
|
| void dump(const Cfg *Func) const override;
|
|
|
| void dumpOpcode(Ostream &Str, const char *Opcode, Type Ty) const {
|
| @@ -669,7 +671,9 @@ public:
|
|
|
| const CfgNode *getTargetTrue() const { return TargetTrue; }
|
| const CfgNode *getTargetFalse() const { return TargetFalse; }
|
| -
|
| + CondMIPS32::Cond getPredicate() const { return Predicate; }
|
| + void setPredicate(CondMIPS32::Cond Pred) { Predicate = Pred; }
|
| + bool optimizeBranch(const CfgNode *NextNode);
|
| bool isUnconditionalBranch() const override {
|
| return Predicate == CondMIPS32::AL;
|
| }
|
| @@ -694,7 +698,7 @@ private:
|
| const CfgNode *TargetTrue;
|
| const CfgNode *TargetFalse;
|
| const InstMIPS32Label *Label; // Intra-block branch target
|
| - const CondMIPS32::Cond Predicate;
|
| + CondMIPS32::Cond Predicate;
|
| };
|
|
|
| class InstMIPS32Call : public InstMIPS32 {
|
|
|