Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(138)

Unified Diff: src/compiler/common-operator.cc

Issue 2222513002: [turbofan] Insert sigma nodes for loop variable backedge. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/compiler/common-operator.cc
diff --git a/src/compiler/common-operator.cc b/src/compiler/common-operator.cc
index bc36c5208bd2b5ad2ab98a0b41896f8aa5d09911..5862e6719cd17c7c665856692f41f984e7184ff9 100644
--- a/src/compiler/common-operator.cc
+++ b/src/compiler/common-operator.cc
@@ -221,6 +221,11 @@ RegionObservability RegionObservabilityOf(Operator const* op) {
return OpParameter<RegionObservability>(op);
}
+Type* SigmaTypeOf(Operator const* op) {
+ DCHECK_EQ(IrOpcode::kSigma, op->opcode());
+ return OpParameter<Type*>(op);
+}
+
std::ostream& operator<<(std::ostream& os,
const ZoneVector<MachineType>* types) {
// Print all the MachineTypes, separated by commas.
@@ -853,6 +858,13 @@ const Operator* CommonOperatorBuilder::Phi(MachineRepresentation rep,
rep); // parameter
}
+const Operator* CommonOperatorBuilder::Sigma(Type* type) {
+ return new (zone()) Operator1<Type*>( // --
+ IrOpcode::kSigma, Operator::kPure, // opcode
+ "Sigma", // name
+ 1, 0, 1, 1, 0, 0, // counts
+ type); // parameter
+}
const Operator* CommonOperatorBuilder::EffectPhi(int effect_input_count) {
DCHECK(effect_input_count > 0); // Disallow empty effect phis.

Powered by Google App Engine
This is Rietveld 408576698