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

Unified Diff: src/IceInst.h

Issue 1639923002: Subzero. ARM32. Vector lowering. Subtract. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « no previous file | src/IceInstARM32.cpp » ('j') | src/IceInstARM32.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceInst.h
diff --git a/src/IceInst.h b/src/IceInst.h
index 85fde52b316fdb67d4f23481a277f92997673838..085b04573df0b56724c7688e8a148024da231fe0 100644
--- a/src/IceInst.h
+++ b/src/IceInst.h
@@ -76,6 +76,60 @@ public:
};
static_assert(Target <= Target_Max, "Must not be above max.");
InstKind getKind() const { return Kind; }
+ IceString getInstName() const {
John 2016/01/26 19:07:17 Can you move the method to IceInst.cpp?
John 2016/01/26 19:07:17 this is really useful, but does not belong in this
Jim Stichnoth 2016/01/26 19:13:10 Could you also change the dump() methods in IceIns
Jim Stichnoth 2016/01/26 19:13:10 Add the following to the beginning of this method:
Eric Holk 2016/01/26 22:49:24 Sure.
Eric Holk 2016/01/26 22:49:24 Yup, I'm working on that now.
Eric Holk 2016/01/26 22:49:24 I made some of the obvious changes, but it looks l
+ switch (Kind) {
+ case Unreachable:
John 2016/01/26 19:07:17 I would suggest the following: switch (Kind) { #d
+ return "Unreachable";
+ case Alloca:
+ return "Alloca";
+ case Arithmetic:
+ return "Arithmetic";
+ case Br:
+ return "Br";
+ case Call:
+ return "Call";
+ case Cast:
+ return "Cast";
+ case ExtractElement:
+ return "ExtractElement";
+ case Fcmp:
+ return "Fcmp";
+ case Icmp:
+ return "Icmp";
+ case IntrinsicCall:
+ return "IntrinsicCall";
+ case InsertElement:
+ return "InsertElement";
+ case Load:
+ return "Load";
+ case Phi:
+ return "Phi";
+ case Ret:
+ return "Ret";
+ case Select:
+ return "Select";
+ case Store:
+ return "Store";
+ case Switch:
+ return "Switch";
+ case Assign:
+ return "Assign";
+ case BundleLock:
+ return "BundleLock";
+ case BundleUnlock:
+ return "BundleUnlock";
+ case FakeDef:
+ return "FakeDef";
+ case FakeUse:
+ return "FakeUse";
+ case FakeKill:
+ return "FakeKill";
+ case JumpTable:
+ return "JumpTable";
+ default:
+ return "Target";
Jim Stichnoth 2016/01/26 19:13:10 Add an assert: assert(Kind >= Target); just to m
Eric Holk 2016/01/26 22:49:24 Okay.
+ }
+ }
InstNumberT getNumber() const { return Number; }
void renumber(Cfg *Func);
@@ -288,6 +342,19 @@ public:
InstArithmetic(Func, Op, Dest, Source1, Source2);
}
OpKind getOp() const { return Op; }
+
+ IceString getInstName() const {
John 2016/01/26 19:07:17 add the if (!BuildDefs::dump()) return ""; and m
Jim Stichnoth 2016/01/26 19:13:10 Are you shadowing a nonvirtual method name in a ba
Eric Holk 2016/01/26 22:49:24 Okay.
Eric Holk 2016/01/26 22:49:24 I was thinking the same thing. I made it virtual.
+ switch (Op) {
+#define X(tag, str, commutative) \
+ case tag: \
+ return str;
+ ICEINSTARITHMETIC_TABLE
+#undef X
+ default:
+ return "Unknown";
+ }
+ }
+
static const char *getOpName(OpKind Op);
bool isCommutative() const;
void dump(const Cfg *Func) const override;
« no previous file with comments | « no previous file | src/IceInstARM32.cpp » ('j') | src/IceInstARM32.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698