[turbofan] Parameter nodes are not idempotent.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/896463004

Cr-Commit-Position: refs/heads/master@{#26403}
This commit is contained in:
bmeurer 2015-02-03 06:45:28 -08:00 committed by Commit bot
parent aeec653f49
commit 1feee1c6fc

View File

@ -204,11 +204,12 @@ struct CommonOperatorGlobalCache FINAL {
template <int kIndex> template <int kIndex>
struct ParameterOperator FINAL : public Operator1<int> { struct ParameterOperator FINAL : public Operator1<int> {
ParameterOperator() ParameterOperator()
: Operator1<int>( // -- : Operator1<int>( // --
IrOpcode::kParameter, Operator::kPure, // opcode IrOpcode::kParameter, // opcode
"Parameter", // name Operator::kFoldable | Operator::kNoThrow, // flags
1, 0, 0, 1, 0, 0, // counts, "Parameter", // name
kIndex) {} // parameter 1, 0, 0, 1, 0, 0, // counts,
kIndex) {} // parameter
}; };
#define CACHED_PARAMETER(index) \ #define CACHED_PARAMETER(index) \
ParameterOperator<index> kParameter##index##Operator; ParameterOperator<index> kParameter##index##Operator;
@ -306,11 +307,12 @@ const Operator* CommonOperatorBuilder::Parameter(int index) {
break; break;
} }
// Uncached. // Uncached.
return new (zone()) Operator1<int>( // -- return new (zone()) Operator1<int>( // --
IrOpcode::kParameter, Operator::kPure, // opcode IrOpcode::kParameter, // opcode
"Parameter", // name Operator::kFoldable | Operator::kNoThrow, // flags
1, 0, 0, 1, 0, 0, // counts "Parameter", // name
index); // parameter 1, 0, 0, 1, 0, 0, // counts
index); // parameter
} }