OLD | NEW |
1 //===- subzero/src/IceTargetLoweringX86BaseImpl.h - x86 lowering -*- C++ -*-==// | 1 //===- subzero/src/IceTargetLoweringX86BaseImpl.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 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 if (Func->getContext()->getFlags().getTargetInstructionSet() != | 317 if (Func->getContext()->getFlags().getTargetInstructionSet() != |
318 TargetInstructionSet::BaseInstructionSet) { | 318 TargetInstructionSet::BaseInstructionSet) { |
319 InstructionSet = static_cast<InstructionSetEnum>( | 319 InstructionSet = static_cast<InstructionSetEnum>( |
320 (Func->getContext()->getFlags().getTargetInstructionSet() - | 320 (Func->getContext()->getFlags().getTargetInstructionSet() - |
321 TargetInstructionSet::X86InstructionSet_Begin) + | 321 TargetInstructionSet::X86InstructionSet_Begin) + |
322 Traits::InstructionSet::Begin); | 322 Traits::InstructionSet::Begin); |
323 } | 323 } |
324 } | 324 } |
325 | 325 |
326 template <typename TraitsType> | 326 template <typename TraitsType> |
327 void TargetX86Base<TraitsType>::staticInit(const ClFlags &Flags) { | 327 void TargetX86Base<TraitsType>::staticInit(GlobalContext *Ctx) { |
328 Traits::initRegisterSet(&TypeToRegisterSet, &RegisterAliases, &ScratchRegs); | 328 Traits::initRegisterSet(&TypeToRegisterSet, &RegisterAliases, &ScratchRegs); |
329 PcRelFixup = Traits::FK_PcRel; | 329 PcRelFixup = Traits::FK_PcRel; |
330 AbsFixup = Flags.getUseNonsfi() ? Traits::FK_Gotoff : Traits::FK_Abs; | 330 AbsFixup = |
| 331 Ctx->getFlags().getUseNonsfi() ? Traits::FK_Gotoff : Traits::FK_Abs; |
331 } | 332 } |
332 | 333 |
333 template <typename TraitsType> void TargetX86Base<TraitsType>::translateO2() { | 334 template <typename TraitsType> void TargetX86Base<TraitsType>::translateO2() { |
334 TimerMarker T(TimerStack::TT_O2, Func); | 335 TimerMarker T(TimerStack::TT_O2, Func); |
335 | 336 |
336 if (!Traits::Is64Bit && Func->getContext()->getFlags().getUseNonsfi()) { | 337 if (!Traits::Is64Bit && Func->getContext()->getFlags().getUseNonsfi()) { |
337 GotVar = Func->makeVariable(IceType_i32); | 338 GotVar = Func->makeVariable(IceType_i32); |
338 } | 339 } |
339 genTargetHelperCalls(); | 340 genTargetHelperCalls(); |
340 Func->dump("After target helper call insertion"); | 341 Func->dump("After target helper call insertion"); |
(...skipping 6214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6555 } | 6556 } |
6556 // the offset is not eligible for blinding or pooling, return the original | 6557 // the offset is not eligible for blinding or pooling, return the original |
6557 // mem operand | 6558 // mem operand |
6558 return MemOperand; | 6559 return MemOperand; |
6559 } | 6560 } |
6560 | 6561 |
6561 } // end of namespace X86NAMESPACE | 6562 } // end of namespace X86NAMESPACE |
6562 } // end of namespace Ice | 6563 } // end of namespace Ice |
6563 | 6564 |
6564 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASEIMPL_H | 6565 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASEIMPL_H |
OLD | NEW |