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

Side by Side Diff: src/IceTargetLoweringARM32.h

Issue 1665423002: Subzero: Cleanup Inst==>Instr. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 4 years, 10 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 | « src/IceTargetLowering.cpp ('k') | src/IceTargetLoweringARM32.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/IceTargetLoweringARM32.h - ARM32 lowering ----*- C++ -*-===// 1 //===- subzero/src/IceTargetLoweringARM32.h - ARM32 lowering ----*- 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 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 protected: 181 protected:
182 explicit TargetARM32(Cfg *Func); 182 explicit TargetARM32(Cfg *Func);
183 183
184 void postLower() override; 184 void postLower() override;
185 185
186 enum SafeBoolChain { 186 enum SafeBoolChain {
187 SBC_No, 187 SBC_No,
188 SBC_Yes, 188 SBC_Yes,
189 }; 189 };
190 190
191 void lowerAlloca(const InstAlloca *Inst) override; 191 void lowerAlloca(const InstAlloca *Instr) override;
192 SafeBoolChain lowerInt1Arithmetic(const InstArithmetic *Inst); 192 SafeBoolChain lowerInt1Arithmetic(const InstArithmetic *Instr);
193 void lowerInt64Arithmetic(InstArithmetic::OpKind Op, Variable *Dest, 193 void lowerInt64Arithmetic(InstArithmetic::OpKind Op, Variable *Dest,
194 Operand *Src0, Operand *Src1); 194 Operand *Src0, Operand *Src1);
195 void lowerArithmetic(const InstArithmetic *Inst) override; 195 void lowerArithmetic(const InstArithmetic *Instr) override;
196 void lowerAssign(const InstAssign *Inst) override; 196 void lowerAssign(const InstAssign *Instr) override;
197 void lowerBr(const InstBr *Inst) override; 197 void lowerBr(const InstBr *Instr) override;
198 void lowerCall(const InstCall *Inst) override; 198 void lowerCall(const InstCall *Instr) override;
199 void lowerCast(const InstCast *Inst) override; 199 void lowerCast(const InstCast *Instr) override;
200 void lowerExtractElement(const InstExtractElement *Inst) override; 200 void lowerExtractElement(const InstExtractElement *Instr) override;
201 201
202 /// CondWhenTrue is a helper type returned by every method in the lowering 202 /// CondWhenTrue is a helper type returned by every method in the lowering
203 /// that emits code to set the condition codes. 203 /// that emits code to set the condition codes.
204 class CondWhenTrue { 204 class CondWhenTrue {
205 public: 205 public:
206 explicit CondWhenTrue(CondARM32::Cond T0, 206 explicit CondWhenTrue(CondARM32::Cond T0,
207 CondARM32::Cond T1 = CondARM32::kNone) 207 CondARM32::Cond T1 = CondARM32::kNone)
208 : WhenTrue0(T0), WhenTrue1(T1) { 208 : WhenTrue0(T0), WhenTrue1(T1) {
209 assert(T1 == CondARM32::kNone || T0 != CondARM32::kNone); 209 assert(T1 == CondARM32::kNone || T0 != CondARM32::kNone);
210 assert(T1 != T0 || T0 == CondARM32::kNone); 210 assert(T1 != T0 || T0 == CondARM32::kNone);
(...skipping 22 matching lines...) Expand all
233 CondWhenTrue lowerInt8AndInt16IcmpCond(InstIcmp::ICond Condition, 233 CondWhenTrue lowerInt8AndInt16IcmpCond(InstIcmp::ICond Condition,
234 Operand *Src0, Operand *Src1); 234 Operand *Src0, Operand *Src1);
235 CondWhenTrue lowerInt32IcmpCond(InstIcmp::ICond Condition, Operand *Src0, 235 CondWhenTrue lowerInt32IcmpCond(InstIcmp::ICond Condition, Operand *Src0,
236 Operand *Src1); 236 Operand *Src1);
237 CondWhenTrue lowerInt64IcmpCond(InstIcmp::ICond Condition, Operand *Src0, 237 CondWhenTrue lowerInt64IcmpCond(InstIcmp::ICond Condition, Operand *Src0,
238 Operand *Src1); 238 Operand *Src1);
239 CondWhenTrue lowerIcmpCond(const InstIcmp *Instr); 239 CondWhenTrue lowerIcmpCond(const InstIcmp *Instr);
240 void lowerIcmp(const InstIcmp *Instr) override; 240 void lowerIcmp(const InstIcmp *Instr) override;
241 void lowerAtomicRMW(Variable *Dest, uint32_t Operation, Operand *Ptr, 241 void lowerAtomicRMW(Variable *Dest, uint32_t Operation, Operand *Ptr,
242 Operand *Val); 242 Operand *Val);
243 void lowerIntrinsicCall(const InstIntrinsicCall *Inst) override; 243 void lowerIntrinsicCall(const InstIntrinsicCall *Instr) override;
244 void lowerInsertElement(const InstInsertElement *Inst) override; 244 void lowerInsertElement(const InstInsertElement *Instr) override;
245 void lowerLoad(const InstLoad *Inst) override; 245 void lowerLoad(const InstLoad *Instr) override;
246 void lowerPhi(const InstPhi *Inst) override; 246 void lowerPhi(const InstPhi *Instr) override;
247 void lowerRet(const InstRet *Inst) override; 247 void lowerRet(const InstRet *Instr) override;
248 void lowerSelect(const InstSelect *Inst) override; 248 void lowerSelect(const InstSelect *Instr) override;
249 void lowerStore(const InstStore *Inst) override; 249 void lowerStore(const InstStore *Instr) override;
250 void lowerSwitch(const InstSwitch *Inst) override; 250 void lowerSwitch(const InstSwitch *Instr) override;
251 void lowerUnreachable(const InstUnreachable *Inst) override; 251 void lowerUnreachable(const InstUnreachable *Instr) override;
252 void prelowerPhis() override; 252 void prelowerPhis() override;
253 uint32_t getCallStackArgumentsSizeBytes(const InstCall *Instr) override; 253 uint32_t getCallStackArgumentsSizeBytes(const InstCall *Instr) override;
254 void genTargetHelperCallFor(Inst *Instr) override; 254 void genTargetHelperCallFor(Inst *Instr) override;
255 void doAddressOptLoad() override; 255 void doAddressOptLoad() override;
256 void doAddressOptStore() override; 256 void doAddressOptStore() override;
257 void randomlyInsertNop(float Probability, 257 void randomlyInsertNop(float Probability,
258 RandomNumberGenerator &RNG) override; 258 RandomNumberGenerator &RNG) override;
259 259
260 OperandARM32Mem *formMemoryOperand(Operand *Ptr, Type Ty); 260 OperandARM32Mem *formMemoryOperand(Operand *Ptr, Type Ty);
261 261
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 }; 1079 };
1080 1080
1081 private: 1081 private:
1082 ENABLE_MAKE_UNIQUE; 1082 ENABLE_MAKE_UNIQUE;
1083 1083
1084 OperandARM32Mem *formAddressingMode(Type Ty, Cfg *Func, const Inst *LdSt, 1084 OperandARM32Mem *formAddressingMode(Type Ty, Cfg *Func, const Inst *LdSt,
1085 Operand *Base); 1085 Operand *Base);
1086 1086
1087 void postambleCtpop64(const InstCall *Instr); 1087 void postambleCtpop64(const InstCall *Instr);
1088 void preambleDivRem(const InstCall *Instr); 1088 void preambleDivRem(const InstCall *Instr);
1089 std::unordered_map<Operand *, void (TargetARM32::*)(const InstCall *Inst)> 1089 std::unordered_map<Operand *, void (TargetARM32::*)(const InstCall *Instr)>
1090 ARM32HelpersPreamble; 1090 ARM32HelpersPreamble;
1091 std::unordered_map<Operand *, void (TargetARM32::*)(const InstCall *Inst)> 1091 std::unordered_map<Operand *, void (TargetARM32::*)(const InstCall *Instr)>
1092 ARM32HelpersPostamble; 1092 ARM32HelpersPostamble;
1093 1093
1094 class ComputationTracker { 1094 class ComputationTracker {
1095 public: 1095 public:
1096 ComputationTracker() = default; 1096 ComputationTracker() = default;
1097 ~ComputationTracker() = default; 1097 ~ComputationTracker() = default;
1098 1098
1099 void forgetProducers() { KnownComputations.clear(); } 1099 void forgetProducers() { KnownComputations.clear(); }
1100 void recordProducers(CfgNode *Node); 1100 void recordProducers(CfgNode *Node);
1101 1101
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
1216 private: 1216 private:
1217 ~TargetHeaderARM32() = default; 1217 ~TargetHeaderARM32() = default;
1218 1218
1219 TargetARM32Features CPUFeatures; 1219 TargetARM32Features CPUFeatures;
1220 }; 1220 };
1221 1221
1222 } // end of namespace ARM32 1222 } // end of namespace ARM32
1223 } // end of namespace Ice 1223 } // end of namespace Ice
1224 1224
1225 #endif // SUBZERO_SRC_ICETARGETLOWERINGARM32_H 1225 #endif // SUBZERO_SRC_ICETARGETLOWERINGARM32_H
OLDNEW
« no previous file with comments | « src/IceTargetLowering.cpp ('k') | src/IceTargetLoweringARM32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698