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

Side by Side Diff: src/IceCfg.h

Issue 2380023002: [SubZero] Vector types support for MIPS (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « no previous file | src/IceCfg.cpp » ('j') | src/IceCfg.cpp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- subzero/src/IceCfg.h - Control flow graph ----------------*- C++ -*-===// 1 //===- subzero/src/IceCfg.h - Control flow graph ----------------*- C++ -*-===//
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 /// \file 10 /// \file
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 const VarList &getVariables() const { return Variables; } 126 const VarList &getVariables() const { return Variables; }
127 /// @} 127 /// @}
128 128
129 /// \name Manage arguments to the function. 129 /// \name Manage arguments to the function.
130 /// @{ 130 /// @{
131 void addArg(Variable *Arg); 131 void addArg(Variable *Arg);
132 const VarList &getArgs() const { return Args; } 132 const VarList &getArgs() const { return Args; }
133 VarList &getArgs() { return Args; } 133 VarList &getArgs() { return Args; }
134 void addImplicitArg(Variable *Arg); 134 void addImplicitArg(Variable *Arg);
135 const VarList &getImplicitArgs() const { return ImplicitArgs; } 135 const VarList &getImplicitArgs() const { return ImplicitArgs; }
136 void setImplicitRet(Variable *Ret) { ImplicitRet = Ret; }
137 Variable *getImplicitRet() const { return ImplicitRet; }
136 /// @} 138 /// @}
137 139
138 /// \name Manage the jump tables. 140 /// \name Manage the jump tables.
139 /// @{ 141 /// @{
140 void addJumpTable(InstJumpTable *JumpTable) { 142 void addJumpTable(InstJumpTable *JumpTable) {
141 JumpTables.emplace_back(JumpTable); 143 JumpTables.emplace_back(JumpTable);
142 } 144 }
143 /// @} 145 /// @}
144 146
145 /// \name Manage the Globals used by this function. 147 /// \name Manage the Globals used by this function.
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 GlobalString FunctionName; 320 GlobalString FunctionName;
319 Type ReturnType = IceType_void; 321 Type ReturnType = IceType_void;
320 bool IsInternalLinkage = false; 322 bool IsInternalLinkage = false;
321 bool HasError = false; 323 bool HasError = false;
322 bool FocusedTiming = false; 324 bool FocusedTiming = false;
323 std::string ErrorMessage = ""; 325 std::string ErrorMessage = "";
324 CfgNode *Entry = nullptr; /// entry basic block 326 CfgNode *Entry = nullptr; /// entry basic block
325 NodeList Nodes; /// linearized node list; Entry should be first 327 NodeList Nodes; /// linearized node list; Entry should be first
326 InstNumberT NextInstNumber; 328 InstNumberT NextInstNumber;
327 VarList Variables; 329 VarList Variables;
328 VarList Args; /// subset of Variables, in argument order 330 VarList Args; /// subset of Variables, in argument order
329 VarList ImplicitArgs; /// subset of Variables 331 VarList ImplicitArgs; /// subset of Variables
332 Variable *ImplicitRet; /// Implicit return
330 // Separate string pools for CfgNode and Variable names, due to a combination 333 // Separate string pools for CfgNode and Variable names, due to a combination
331 // of the uniqueness requirement, and assumptions in lit tests. 334 // of the uniqueness requirement, and assumptions in lit tests.
332 std::unique_ptr<StringPool> NodeStrings; 335 std::unique_ptr<StringPool> NodeStrings;
333 std::unique_ptr<StringPool> VarStrings; 336 std::unique_ptr<StringPool> VarStrings;
334 std::unique_ptr<Liveness> Live; 337 std::unique_ptr<Liveness> Live;
335 std::unique_ptr<TargetLowering> Target; 338 std::unique_ptr<TargetLowering> Target;
336 std::unique_ptr<VariablesMetadata> VMetadata; 339 std::unique_ptr<VariablesMetadata> VMetadata;
337 std::unique_ptr<Assembler> TargetAssembler; 340 std::unique_ptr<Assembler> TargetAssembler;
338 /// Globals required by this CFG. Mostly used for the profiler's globals. 341 /// Globals required by this CFG. Mostly used for the profiler's globals.
339 std::unique_ptr<VariableDeclarationList> GlobalInits; 342 std::unique_ptr<VariableDeclarationList> GlobalInits;
(...skipping 23 matching lines...) Expand all
363 using OwnerType = Cfg; 366 using OwnerType = Cfg;
364 static StringPool *getStrings(const OwnerType *PoolOwner) { 367 static StringPool *getStrings(const OwnerType *PoolOwner) {
365 return PoolOwner->getVarStrings(); 368 return PoolOwner->getVarStrings();
366 } 369 }
367 }; 370 };
368 using VariableString = StringID<VariableStringPoolTraits>; 371 using VariableString = StringID<VariableStringPoolTraits>;
369 372
370 } // end of namespace Ice 373 } // end of namespace Ice
371 374
372 #endif // SUBZERO_SRC_ICECFG_H 375 #endif // SUBZERO_SRC_ICECFG_H
OLDNEW
« no previous file with comments | « no previous file | src/IceCfg.cpp » ('j') | src/IceCfg.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698