diff --git a/src/qml/qml/v4/moth/qv4isel_moth_p.h b/src/qml/qml/v4/moth/qv4isel_moth_p.h
index cd13f6b9992e4d6c90981f2e1794b354706a520b..9c17245f67a3f6a791021afc220c11cabbce2534 100644
--- a/src/qml/qml/v4/moth/qv4isel_moth_p.h
+++ b/src/qml/qml/v4/moth/qv4isel_moth_p.h
@@ -57,7 +57,7 @@ namespace Moth {
 class StackSlotAllocator;
 
 class Q_QML_EXPORT InstructionSelection:
-        public V4IR::InstructionSelection,
+        public V4IR::IRDecoder,
         public EvalInstructionSelection
 {
 public:
diff --git a/src/qml/qml/v4/qv4isel_masm_p.h b/src/qml/qml/v4/qv4isel_masm_p.h
index bef577a90e8ed33e0ec40f30d91b3fc4c9df5655..b53b0e5c7453f43e5c141242a982f4446f03f12c 100644
--- a/src/qml/qml/v4/qv4isel_masm_p.h
+++ b/src/qml/qml/v4/qv4isel_masm_p.h
@@ -777,7 +777,7 @@ private:
 };
 
 class Q_QML_EXPORT InstructionSelection:
-        protected V4IR::InstructionSelection,
+        protected V4IR::IRDecoder,
         public EvalInstructionSelection
 {
 public:
diff --git a/src/qml/qml/v4/qv4isel_p.cpp b/src/qml/qml/v4/qv4isel_p.cpp
index 7fc3afffb04dcb977ea520073659551a11b0d345..99c363bd36df03d4241da4647b0f49682ca2a973 100644
--- a/src/qml/qml/v4/qv4isel_p.cpp
+++ b/src/qml/qml/v4/qv4isel_p.cpp
@@ -116,7 +116,7 @@ QV4::Function *EvalInstructionSelection::vmFunction(Function *f) {
     return function;
 }
 
-void InstructionSelection::visitMove(V4IR::Move *s)
+void IRDecoder::visitMove(V4IR::Move *s)
 {
     if (s->op == V4IR::OpInvalid) {
         if (V4IR::Name *n = s->target->asName()) {
@@ -241,11 +241,11 @@ void InstructionSelection::visitMove(V4IR::Move *s)
     assert(!"TODO");
 }
 
-InstructionSelection::~InstructionSelection()
+IRDecoder::~IRDecoder()
 {
 }
 
-void InstructionSelection::visitExp(V4IR::Exp *s)
+void IRDecoder::visitExp(V4IR::Exp *s)
 {
     if (V4IR::Call *c = s->expr->asCall()) {
         // These are calls where the result is ignored.
@@ -268,7 +268,7 @@ void InstructionSelection::visitExp(V4IR::Exp *s)
     }
 }
 
-void InstructionSelection::callBuiltin(V4IR::Call *call, V4IR::Temp *result)
+void IRDecoder::callBuiltin(V4IR::Call *call, V4IR::Temp *result)
 {
     V4IR::Name *baseName = call->base->asName();
     assert(baseName != 0);
diff --git a/src/qml/qml/v4/qv4isel_p.h b/src/qml/qml/v4/qv4isel_p.h
index 28ec63cdaae0b7dfe4d65fbd053dc9cad3a2af54..ca49b4c8b1f29dab3ee852c6a69920becf802160 100644
--- a/src/qml/qml/v4/qv4isel_p.h
+++ b/src/qml/qml/v4/qv4isel_p.h
@@ -88,10 +88,10 @@ public:
 };
 
 namespace V4IR {
-class Q_QML_EXPORT InstructionSelection: protected V4IR::StmtVisitor
+class Q_QML_EXPORT IRDecoder: protected V4IR::StmtVisitor
 {
 public:
-    virtual ~InstructionSelection() = 0;
+    virtual ~IRDecoder() = 0;
 
     virtual void visitPhi(V4IR::Phi *) {}