• Home
  • Raw
  • Download

Lines Matching refs:Traits

69    X8664::Traits::Cond::C1,                                                    \
70 X8664::Traits::Cond::C2, \
72 X8664::Traits::Cond::pred},
80 #define X(val, C_32, C1_64, C2_64, C3_64) {X8664::Traits::Cond::C_32},
90 {X8664::Traits::Cond::C1_64, X8664::Traits::Cond::C2_64, \
91 X8664::Traits::Cond::C3_64},
115 TargetX86Base<X8664::Traits>::TypeToRegisterSet = {{}};
119 TargetX86Base<X8664::Traits>::TypeToRegisterSetUnfiltered = {{}};
123 TargetX86Base<X8664::Traits>::Traits::RegisterSet::Reg_NUM>
124 TargetX86Base<X8664::Traits>::RegisterAliases = {{}};
127 FixupKind TargetX86Base<X8664::Traits>::PcRelFixup =
128 TargetX86Base<X8664::Traits>::Traits::FK_PcRel;
131 FixupKind TargetX86Base<X8664::Traits>::AbsFixup =
132 TargetX86Base<X8664::Traits>::Traits::FK_Abs;
144 getPhysicalRegister(Traits::RegisterSet::Reg_rsp, IceType_i64); in _add_sp()
151 getPhysicalRegister(Traits::RegisterSet::Reg_esp, IceType_i32); in _add_sp()
153 getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in _add_sp()
187 Variable *esp = getPhysicalRegister(Traits::RegisterSet::Reg_esp); in _mov_sp()
189 getPhysicalRegister(Traits::RegisterSet::Reg_rsp, IceType_i64); in _mov_sp()
202 getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in _mov_sp()
211 getPhysicalRegister(Traits::RegisterSet::Reg_ebp, IceType_i32); in _push_rbp()
213 getPhysicalRegister(Traits::RegisterSet::Reg_rsp, IceType_i64); in _push_rbp()
228 Context.insert<typename Traits::Insts::Store>(ebp, TopOfStack); in _push_rbp()
233 getPhysicalRegister(Traits::RegisterSet::Reg_esp, IceType_i32); in _link_bp()
235 getPhysicalRegister(Traits::RegisterSet::Reg_rsp, Traits::WordType); in _link_bp()
237 getPhysicalRegister(Traits::RegisterSet::Reg_ebp, IceType_i32); in _link_bp()
239 getPhysicalRegister(Traits::RegisterSet::Reg_rbp, Traits::WordType); in _link_bp()
241 getPhysicalRegister(Traits::RegisterSet::Reg_r15, Traits::WordType); in _link_bp()
262 getPhysicalRegister(Traits::RegisterSet::Reg_rsp, IceType_i64); in _unlink_bp()
264 getPhysicalRegister(Traits::RegisterSet::Reg_rbp, IceType_i64); in _unlink_bp()
266 getPhysicalRegister(Traits::RegisterSet::Reg_ebp, IceType_i32); in _unlink_bp()
278 getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in _unlink_bp()
280 getPhysicalRegister(Traits::RegisterSet::Reg_rcx, IceType_i64); in _unlink_bp()
282 getPhysicalRegister(Traits::RegisterSet::Reg_ecx, IceType_i32); in _unlink_bp()
295 if (Traits::isXmm(RegNum)) { in _push_reg()
298 getPhysicalRegister(Traits::RegisterSet::Reg_rsp, Traits::WordType); in _push_reg()
300 Traits::X86OperandMem::create(Func, reg->getType(), rsp, nullptr); in _push_reg()
305 } else if (RegNum != Traits::RegisterSet::Reg_rbp || !NeedSandboxing) { in _push_reg()
306 _push(getPhysicalRegister(RegNum, Traits::WordType)); in _push_reg()
313 if (Traits::isXmm(RegNum)) { in _pop_reg()
316 getPhysicalRegister(Traits::RegisterSet::Reg_rsp, Traits::WordType); in _pop_reg()
318 Traits::X86OperandMem::create(Func, reg->getType(), rsp, nullptr); in _pop_reg()
324 _pop(getPhysicalRegister(RegNum, Traits::WordType)); in _pop_reg()
348 if ((RegNum == Traits::RegisterSet::Reg_rsp) || in isAssignedToRspOrRbp()
349 (RegNum == Traits::RegisterSet::Reg_rbp)) { in isAssignedToRspOrRbp()
357 Traits::X86OperandMem *TargetX8664::_sandbox_mem_reference(X86OperandMem *Mem) { in _sandbox_mem_reference()
465 RegNum = Traits::getGprForType(IceType_i64, T->getRegNum()); in _sandbox_mem_reference()
466 RegNum32 = Traits::getGprForType(IceType_i32, RegNum); in _sandbox_mem_reference()
469 assert(RegNum != Traits::RegisterSet::Reg_rsp); in _sandbox_mem_reference()
470 assert(RegNum != Traits::RegisterSet::Reg_rbp); in _sandbox_mem_reference()
506 _lea(NewT, Traits::X86OperandMem::create( in _sandbox_mem_reference()
508 Traits::X86OperandMem::DefaultSegment, NotRebased)); in _sandbox_mem_reference()
517 return Traits::X86OperandMem::create( in _sandbox_mem_reference()
519 Traits::X86OperandMem::DefaultSegment, IsRebased); in _sandbox_mem_reference()
524 getPhysicalRegister(Traits::RegisterSet::Reg_rsp, Traits::WordType); in _sub_sp()
528 getPhysicalRegister(Traits::RegisterSet::Reg_esp, IceType_i32); in _sub_sp()
530 getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in _sub_sp()
557 RebasePtr = getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in initRebasePtr()
570 getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in initSandbox()
627 getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in lowerIndirectJump()
691 getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in emitCallToTarget()
703 NewCall = Context.insert<Traits::Insts::Jmp>(CallTarget); in emitCallToTarget()
728 TargetReg = Traits::RegisterSet::Reg_r11; in emitCallToTarget()
748 legalizeToReg(NumFpArgs, Traits::RegisterSet::Reg_rax); in emitCallToTarget()
753 NewCall = Context.insert<Traits::Insts::Call>(ReturnReg, CallTarget); in emitCallToTarget()
761 return legalizeToReg(Value, Traits::RegisterSet::Reg_xmm0); in moveReturnValueToRegister()
766 Traits::getGprForType(ReturnType, Traits::RegisterSet::Reg_rax)); in moveReturnValueToRegister()
772 Variable *T_rcx = makeReg(IceType_i64, Traits::RegisterSet::Reg_rcx); in emitSandboxedReturn()
773 Variable *T_ecx = makeReg(IceType_i32, Traits::RegisterSet::Reg_ecx); in emitSandboxedReturn()
778 getPhysicalRegister(Traits::RegisterSet::Reg_r15, IceType_i64); in emitSandboxedReturn()
800 Variable *EAX = makeReg(IceType_i32, Traits::RegisterSet::Reg_eax); in emitStackProbe()
806 legalizeToReg(CallTarget, Traits::RegisterSet::Reg_r11); in emitStackProbe()