| OLD | NEW |
| 1 //===- subzero/src/IceTargetLoweringX86Base.h - x86 lowering ----*- C++ -*-===// | 1 //===- subzero/src/IceTargetLoweringX86Base.h - x86 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 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 void initSandbox() { | 240 void initSandbox() { |
| 241 assert(SandboxingType != ST_None); | 241 assert(SandboxingType != ST_None); |
| 242 dispatchToConcrete(&Traits::ConcreteTarget::initSandbox); | 242 dispatchToConcrete(&Traits::ConcreteTarget::initSandbox); |
| 243 } | 243 } |
| 244 | 244 |
| 245 void lowerAlloca(const InstAlloca *Instr) override; | 245 void lowerAlloca(const InstAlloca *Instr) override; |
| 246 void lowerArguments() override; | 246 void lowerArguments() override; |
| 247 void lowerArithmetic(const InstArithmetic *Instr) override; | 247 void lowerArithmetic(const InstArithmetic *Instr) override; |
| 248 void lowerAssign(const InstAssign *Instr) override; | 248 void lowerAssign(const InstAssign *Instr) override; |
| 249 void lowerBr(const InstBr *Instr) override; | 249 void lowerBr(const InstBr *Instr) override; |
| 250 void lowerBreakpoint(const InstBreakpoint *Instr) override; |
| 250 void lowerCall(const InstCall *Instr) override; | 251 void lowerCall(const InstCall *Instr) override; |
| 251 void lowerCast(const InstCast *Instr) override; | 252 void lowerCast(const InstCast *Instr) override; |
| 252 void lowerExtractElement(const InstExtractElement *Instr) override; | 253 void lowerExtractElement(const InstExtractElement *Instr) override; |
| 253 void lowerFcmp(const InstFcmp *Instr) override; | 254 void lowerFcmp(const InstFcmp *Instr) override; |
| 254 void lowerIcmp(const InstIcmp *Instr) override; | 255 void lowerIcmp(const InstIcmp *Instr) override; |
| 255 | 256 |
| 256 void lowerIntrinsicCall(const InstIntrinsicCall *Instr) override; | 257 void lowerIntrinsicCall(const InstIntrinsicCall *Instr) override; |
| 257 void lowerInsertElement(const InstInsertElement *Instr) override; | 258 void lowerInsertElement(const InstInsertElement *Instr) override; |
| 258 void lowerLoad(const InstLoad *Instr) override; | 259 void lowerLoad(const InstLoad *Instr) override; |
| 259 void lowerPhi(const InstPhi *Instr) override; | 260 void lowerPhi(const InstPhi *Instr) override; |
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 649 Context.insert<typename Traits::Insts::Imul>(Dest, Src0); | 650 Context.insert<typename Traits::Insts::Imul>(Dest, Src0); |
| 650 } | 651 } |
| 651 void _imul_imm(Variable *Dest, Operand *Src0, Constant *Imm) { | 652 void _imul_imm(Variable *Dest, Operand *Src0, Constant *Imm) { |
| 652 AutoMemorySandboxer<> _(this, &Dest, &Src0); | 653 AutoMemorySandboxer<> _(this, &Dest, &Src0); |
| 653 Context.insert<typename Traits::Insts::ImulImm>(Dest, Src0, Imm); | 654 Context.insert<typename Traits::Insts::ImulImm>(Dest, Src0, Imm); |
| 654 } | 655 } |
| 655 void _insertps(Variable *Dest, Operand *Src0, Operand *Src1) { | 656 void _insertps(Variable *Dest, Operand *Src0, Operand *Src1) { |
| 656 AutoMemorySandboxer<> _(this, &Dest, &Src0, &Src1); | 657 AutoMemorySandboxer<> _(this, &Dest, &Src0, &Src1); |
| 657 Context.insert<typename Traits::Insts::Insertps>(Dest, Src0, Src1); | 658 Context.insert<typename Traits::Insts::Insertps>(Dest, Src0, Src1); |
| 658 } | 659 } |
| 660 void _int3() { Context.insert<typename Traits::Insts::Int3>(); } |
| 659 void _jmp(Operand *Target) { | 661 void _jmp(Operand *Target) { |
| 660 AutoMemorySandboxer<> _(this, &Target); | 662 AutoMemorySandboxer<> _(this, &Target); |
| 661 Context.insert<typename Traits::Insts::Jmp>(Target); | 663 Context.insert<typename Traits::Insts::Jmp>(Target); |
| 662 } | 664 } |
| 663 void _lea(Variable *Dest, Operand *Src0) { | 665 void _lea(Variable *Dest, Operand *Src0) { |
| 664 Context.insert<typename Traits::Insts::Lea>(Dest, Src0); | 666 Context.insert<typename Traits::Insts::Lea>(Dest, Src0); |
| 665 } | 667 } |
| 666 void _link_bp() { dispatchToConcrete(&Traits::ConcreteTarget::_link_bp); } | 668 void _link_bp() { dispatchToConcrete(&Traits::ConcreteTarget::_link_bp); } |
| 667 void _push_reg(Variable *Reg) { | 669 void _push_reg(Variable *Reg) { |
| 668 dispatchToConcrete(&Traits::ConcreteTarget::_push_reg, std::move(Reg)); | 670 dispatchToConcrete(&Traits::ConcreteTarget::_push_reg, std::move(Reg)); |
| (...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1126 | 1128 |
| 1127 explicit TargetHeaderX86(GlobalContext *Ctx) : TargetHeaderLowering(Ctx) {} | 1129 explicit TargetHeaderX86(GlobalContext *Ctx) : TargetHeaderLowering(Ctx) {} |
| 1128 }; | 1130 }; |
| 1129 | 1131 |
| 1130 } // end of namespace X86NAMESPACE | 1132 } // end of namespace X86NAMESPACE |
| 1131 } // end of namespace Ice | 1133 } // end of namespace Ice |
| 1132 | 1134 |
| 1133 #include "IceTargetLoweringX86BaseImpl.h" | 1135 #include "IceTargetLoweringX86BaseImpl.h" |
| 1134 | 1136 |
| 1135 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASE_H | 1137 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASE_H |
| OLD | NEW |