From 7862fa2ae8e32791cf048e7f179601b05b054988 Mon Sep 17 00:00:00 2001 From: "bmeurer@chromium.org" Date: Mon, 22 Sep 2014 09:48:26 +0000 Subject: [PATCH] [turbofan] Remove extra attributes from MachineOperatorBuilder methods. R=titzer@chromium.org Review URL: https://codereview.chromium.org/585413002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/compiler/machine-operator-reducer-unittest.cc | 2 +- src/compiler/machine-operator-unittest.cc | 2 +- src/compiler/machine-operator.cc | 8 +- src/compiler/machine-operator.h | 120 +++++++++++----------- 4 files changed, 65 insertions(+), 67 deletions(-) diff --git a/src/compiler/machine-operator-reducer-unittest.cc b/src/compiler/machine-operator-reducer-unittest.cc index 616f5d4..6b27b12 100644 --- a/src/compiler/machine-operator-reducer-unittest.cc +++ b/src/compiler/machine-operator-reducer-unittest.cc @@ -165,7 +165,7 @@ static const uint32_t kUint32Values[] = { namespace { struct UnaryOperator { - const Operator* (MachineOperatorBuilder::*constructor)() const; + const Operator* (MachineOperatorBuilder::*constructor)(); const char* constructor_name; }; diff --git a/src/compiler/machine-operator-unittest.cc b/src/compiler/machine-operator-unittest.cc index 5842872..5b34000 100644 --- a/src/compiler/machine-operator-unittest.cc +++ b/src/compiler/machine-operator-unittest.cc @@ -169,7 +169,7 @@ INSTANTIATE_TEST_CASE_P( namespace { struct PureOperator { - const Operator* (MachineOperatorBuilder::*constructor)() const; + const Operator* (MachineOperatorBuilder::*constructor)(); IrOpcode::Value opcode; int value_input_count; int value_output_count; diff --git a/src/compiler/machine-operator.cc b/src/compiler/machine-operator.cc index 9dea037..fb46a98 100644 --- a/src/compiler/machine-operator.cc +++ b/src/compiler/machine-operator.cc @@ -194,14 +194,12 @@ MachineOperatorBuilder::MachineOperatorBuilder(MachineType word) #define PURE(Name, properties, input_count, output_count) \ - const Operator* MachineOperatorBuilder::Name() const { \ - return &impl_.k##Name; \ - } + const Operator* MachineOperatorBuilder::Name() { return &impl_.k##Name; } PURE_OP_LIST(PURE) #undef PURE -const Operator* MachineOperatorBuilder::Load(LoadRepresentation rep) const { +const Operator* MachineOperatorBuilder::Load(LoadRepresentation rep) { switch (rep) { #define LOAD(Type) \ case k##Type: \ @@ -217,7 +215,7 @@ const Operator* MachineOperatorBuilder::Load(LoadRepresentation rep) const { } -const Operator* MachineOperatorBuilder::Store(StoreRepresentation rep) const { +const Operator* MachineOperatorBuilder::Store(StoreRepresentation rep) { switch (rep.machine_type()) { #define STORE(Type) \ case k##Type: \ diff --git a/src/compiler/machine-operator.h b/src/compiler/machine-operator.h index ec911f4..bff0821 100644 --- a/src/compiler/machine-operator.h +++ b/src/compiler/machine-operator.h @@ -62,84 +62,84 @@ class MachineOperatorBuilder FINAL { public: explicit MachineOperatorBuilder(MachineType word = kMachPtr); - const Operator* Word32And() const WARN_UNUSED_RESULT; - const Operator* Word32Or() const WARN_UNUSED_RESULT; - const Operator* Word32Xor() const WARN_UNUSED_RESULT; - const Operator* Word32Shl() const WARN_UNUSED_RESULT; - const Operator* Word32Shr() const WARN_UNUSED_RESULT; - const Operator* Word32Sar() const WARN_UNUSED_RESULT; - const Operator* Word32Ror() const WARN_UNUSED_RESULT; - const Operator* Word32Equal() const WARN_UNUSED_RESULT; - - const Operator* Word64And() const WARN_UNUSED_RESULT; - const Operator* Word64Or() const WARN_UNUSED_RESULT; - const Operator* Word64Xor() const WARN_UNUSED_RESULT; - const Operator* Word64Shl() const WARN_UNUSED_RESULT; - const Operator* Word64Shr() const WARN_UNUSED_RESULT; - const Operator* Word64Sar() const WARN_UNUSED_RESULT; - const Operator* Word64Ror() const WARN_UNUSED_RESULT; - const Operator* Word64Equal() const WARN_UNUSED_RESULT; - - const Operator* Int32Add() const WARN_UNUSED_RESULT; - const Operator* Int32AddWithOverflow() const WARN_UNUSED_RESULT; - const Operator* Int32Sub() const WARN_UNUSED_RESULT; - const Operator* Int32SubWithOverflow() const WARN_UNUSED_RESULT; - const Operator* Int32Mul() const WARN_UNUSED_RESULT; - const Operator* Int32Div() const WARN_UNUSED_RESULT; - const Operator* Int32UDiv() const WARN_UNUSED_RESULT; - const Operator* Int32Mod() const WARN_UNUSED_RESULT; - const Operator* Int32UMod() const WARN_UNUSED_RESULT; - const Operator* Int32LessThan() const WARN_UNUSED_RESULT; - const Operator* Int32LessThanOrEqual() const WARN_UNUSED_RESULT; - const Operator* Uint32LessThan() const WARN_UNUSED_RESULT; - const Operator* Uint32LessThanOrEqual() const WARN_UNUSED_RESULT; - - const Operator* Int64Add() const WARN_UNUSED_RESULT; - const Operator* Int64Sub() const WARN_UNUSED_RESULT; - const Operator* Int64Mul() const WARN_UNUSED_RESULT; - const Operator* Int64Div() const WARN_UNUSED_RESULT; - const Operator* Int64UDiv() const WARN_UNUSED_RESULT; - const Operator* Int64Mod() const WARN_UNUSED_RESULT; - const Operator* Int64UMod() const WARN_UNUSED_RESULT; - const Operator* Int64LessThan() const WARN_UNUSED_RESULT; - const Operator* Int64LessThanOrEqual() const WARN_UNUSED_RESULT; + const Operator* Word32And(); + const Operator* Word32Or(); + const Operator* Word32Xor(); + const Operator* Word32Shl(); + const Operator* Word32Shr(); + const Operator* Word32Sar(); + const Operator* Word32Ror(); + const Operator* Word32Equal(); + + const Operator* Word64And(); + const Operator* Word64Or(); + const Operator* Word64Xor(); + const Operator* Word64Shl(); + const Operator* Word64Shr(); + const Operator* Word64Sar(); + const Operator* Word64Ror(); + const Operator* Word64Equal(); + + const Operator* Int32Add(); + const Operator* Int32AddWithOverflow(); + const Operator* Int32Sub(); + const Operator* Int32SubWithOverflow(); + const Operator* Int32Mul(); + const Operator* Int32Div(); + const Operator* Int32UDiv(); + const Operator* Int32Mod(); + const Operator* Int32UMod(); + const Operator* Int32LessThan(); + const Operator* Int32LessThanOrEqual(); + const Operator* Uint32LessThan(); + const Operator* Uint32LessThanOrEqual(); + + const Operator* Int64Add(); + const Operator* Int64Sub(); + const Operator* Int64Mul(); + const Operator* Int64Div(); + const Operator* Int64UDiv(); + const Operator* Int64Mod(); + const Operator* Int64UMod(); + const Operator* Int64LessThan(); + const Operator* Int64LessThanOrEqual(); // Convert representation of integers between float64 and int32/uint32. // The precise rounding mode and handling of out of range inputs are *not* // defined for these operators, since they are intended only for use with // integers. - const Operator* ChangeInt32ToFloat64() const WARN_UNUSED_RESULT; - const Operator* ChangeUint32ToFloat64() const WARN_UNUSED_RESULT; - const Operator* ChangeFloat64ToInt32() const WARN_UNUSED_RESULT; - const Operator* ChangeFloat64ToUint32() const WARN_UNUSED_RESULT; + const Operator* ChangeInt32ToFloat64(); + const Operator* ChangeUint32ToFloat64(); + const Operator* ChangeFloat64ToInt32(); + const Operator* ChangeFloat64ToUint32(); // Sign/zero extend int32/uint32 to int64/uint64. - const Operator* ChangeInt32ToInt64() const WARN_UNUSED_RESULT; - const Operator* ChangeUint32ToUint64() const WARN_UNUSED_RESULT; + const Operator* ChangeInt32ToInt64(); + const Operator* ChangeUint32ToUint64(); // Truncate double to int32 using JavaScript semantics. - const Operator* TruncateFloat64ToInt32() const WARN_UNUSED_RESULT; + const Operator* TruncateFloat64ToInt32(); // Truncate the high order bits and convert the remaining bits to int32. - const Operator* TruncateInt64ToInt32() const WARN_UNUSED_RESULT; + const Operator* TruncateInt64ToInt32(); // Floating point operators always operate with IEEE 754 round-to-nearest. - const Operator* Float64Add() const WARN_UNUSED_RESULT; - const Operator* Float64Sub() const WARN_UNUSED_RESULT; - const Operator* Float64Mul() const WARN_UNUSED_RESULT; - const Operator* Float64Div() const WARN_UNUSED_RESULT; - const Operator* Float64Mod() const WARN_UNUSED_RESULT; + const Operator* Float64Add(); + const Operator* Float64Sub(); + const Operator* Float64Mul(); + const Operator* Float64Div(); + const Operator* Float64Mod(); // Floating point comparisons complying to IEEE 754. - const Operator* Float64Equal() const WARN_UNUSED_RESULT; - const Operator* Float64LessThan() const WARN_UNUSED_RESULT; - const Operator* Float64LessThanOrEqual() const WARN_UNUSED_RESULT; + const Operator* Float64Equal(); + const Operator* Float64LessThan(); + const Operator* Float64LessThanOrEqual(); // load [base + index] - const Operator* Load(LoadRepresentation rep) const WARN_UNUSED_RESULT; + const Operator* Load(LoadRepresentation rep); // store [base + index], value - const Operator* Store(StoreRepresentation rep) const WARN_UNUSED_RESULT; + const Operator* Store(StoreRepresentation rep); // Target machine word-size assumed by this builder. bool Is32() const { return word() == kRepWord32; } @@ -167,7 +167,7 @@ class MachineOperatorBuilder FINAL { V(Int, LessThan) \ V(Int, LessThanOrEqual) #define PSEUDO_OP(Prefix, Suffix) \ - const Operator* Prefix##Suffix() const { \ + const Operator* Prefix##Suffix() { \ return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \ } PSEUDO_OP_LIST(PSEUDO_OP) -- 2.7.4