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

Side by Side Diff: src/IceInstX8632.cpp

Issue 673783002: Subzero: Improve debugging controls, plus minor refactoring. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « src/IceClFlags.h ('k') | src/IceLiveness.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- subzero/src/IceInstX8632.cpp - X86-32 instruction implementation ---===// 1 //===- subzero/src/IceInstX8632.cpp - X86-32 instruction implementation ---===//
2 // 2 //
3 // The Subzero Code Generator 3 // The Subzero Code Generator
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // This file implements the InstX8632 and OperandX8632 classes, 10 // This file implements the InstX8632 and OperandX8632 classes,
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 addSource(Dest); 129 addSource(Dest);
130 addSource(Source1); 130 addSource(Source1);
131 addSource(Source2); 131 addSource(Source2);
132 } 132 }
133 133
134 InstX8632Label::InstX8632Label(Cfg *Func, TargetX8632 *Target) 134 InstX8632Label::InstX8632Label(Cfg *Func, TargetX8632 *Target)
135 : InstX8632(Func, InstX8632::Label, 0, NULL), 135 : InstX8632(Func, InstX8632::Label, 0, NULL),
136 Number(Target->makeNextLabelNumber()) {} 136 Number(Target->makeNextLabelNumber()) {}
137 137
138 IceString InstX8632Label::getName(const Cfg *Func) const { 138 IceString InstX8632Label::getName(const Cfg *Func) const {
139 char buf[30]; 139 return ".L" + Func->getFunctionName() + "$local$__" + std::to_string(Number);
140 snprintf(buf, llvm::array_lengthof(buf), "%u", Number);
141 return ".L" + Func->getFunctionName() + "$local$__" + buf;
142 } 140 }
143 141
144 InstX8632Br::InstX8632Br(Cfg *Func, const CfgNode *TargetTrue, 142 InstX8632Br::InstX8632Br(Cfg *Func, const CfgNode *TargetTrue,
145 const CfgNode *TargetFalse, 143 const CfgNode *TargetFalse,
146 const InstX8632Label *Label, CondX86::BrCond Condition) 144 const InstX8632Label *Label, CondX86::BrCond Condition)
147 : InstX8632(Func, InstX8632::Br, 0, NULL), Condition(Condition), 145 : InstX8632(Func, InstX8632::Br, 0, NULL), Condition(Condition),
148 TargetTrue(TargetTrue), TargetFalse(TargetFalse), Label(Label) {} 146 TargetTrue(TargetTrue), TargetFalse(TargetFalse), Label(Label) {}
149 147
150 bool InstX8632Br::optimizeBranch(const CfgNode *NextNode) { 148 bool InstX8632Br::optimizeBranch(const CfgNode *NextNode) {
151 // If there is no next block, then there can be no fallthrough to 149 // If there is no next block, then there can be no fallthrough to
(...skipping 2724 matching lines...) Expand 10 before | Expand all | Expand 10 after
2876 } 2874 }
2877 Str << "("; 2875 Str << "(";
2878 if (Func) 2876 if (Func)
2879 Var->dump(Func); 2877 Var->dump(Func);
2880 else 2878 else
2881 Var->dump(Str); 2879 Var->dump(Str);
2882 Str << ")"; 2880 Str << ")";
2883 } 2881 }
2884 2882
2885 } // end of namespace Ice 2883 } // end of namespace Ice
OLDNEW
« no previous file with comments | « src/IceClFlags.h ('k') | src/IceLiveness.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698