| 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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 /// | 53 /// |
| 54 /// but that does not work: the compiler does not know that Machine inherits | 54 /// but that does not work: the compiler does not know that Machine inherits |
| 55 /// from TargetX86Base at this point in translation. | 55 /// from TargetX86Base at this point in translation. |
| 56 template <typename TraitsType> class TargetX86Base : public TargetLowering { | 56 template <typename TraitsType> class TargetX86Base : public TargetLowering { |
| 57 TargetX86Base() = delete; | 57 TargetX86Base() = delete; |
| 58 TargetX86Base(const TargetX86Base &) = delete; | 58 TargetX86Base(const TargetX86Base &) = delete; |
| 59 TargetX86Base &operator=(const TargetX86Base &) = delete; | 59 TargetX86Base &operator=(const TargetX86Base &) = delete; |
| 60 | 60 |
| 61 public: | 61 public: |
| 62 using Traits = TraitsType; | 62 using Traits = TraitsType; |
| 63 using BoolFolding = BoolFolding<Traits>; | |
| 64 using ConcreteTarget = typename Traits::ConcreteTarget; | 63 using ConcreteTarget = typename Traits::ConcreteTarget; |
| 65 using InstructionSetEnum = typename Traits::InstructionSet; | 64 using InstructionSetEnum = typename Traits::InstructionSet; |
| 66 | 65 |
| 67 using BrCond = typename Traits::Cond::BrCond; | 66 using BrCond = typename Traits::Cond::BrCond; |
| 68 using CmppsCond = typename Traits::Cond::CmppsCond; | 67 using CmppsCond = typename Traits::Cond::CmppsCond; |
| 69 | 68 |
| 70 using X86Address = typename Traits::Address; | 69 using X86Address = typename Traits::Address; |
| 71 using X86Operand = typename Traits::X86Operand; | 70 using X86Operand = typename Traits::X86Operand; |
| 72 using X86OperandMem = typename Traits::X86OperandMem; | 71 using X86OperandMem = typename Traits::X86OperandMem; |
| 73 using SegmentRegisters = typename Traits::X86OperandMem::SegmentRegisters; | 72 using SegmentRegisters = typename Traits::X86OperandMem::SegmentRegisters; |
| (...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 829 typename std::enable_if<T::Is64Bit, void>::type lowerIcmp64(const InstIcmp *, | 828 typename std::enable_if<T::Is64Bit, void>::type lowerIcmp64(const InstIcmp *, |
| 830 const Inst *) { | 829 const Inst *) { |
| 831 llvm::report_fatal_error( | 830 llvm::report_fatal_error( |
| 832 "Hey, yo! This is x86-64. Watcha doin'? (lowerIcmp64)"); | 831 "Hey, yo! This is x86-64. Watcha doin'? (lowerIcmp64)"); |
| 833 } | 832 } |
| 834 /// x86lowerIcmp64 handles 64-bit icmp lowering. | 833 /// x86lowerIcmp64 handles 64-bit icmp lowering. |
| 835 template <typename T = Traits> | 834 template <typename T = Traits> |
| 836 typename std::enable_if<!T::Is64Bit, void>::type | 835 typename std::enable_if<!T::Is64Bit, void>::type |
| 837 lowerIcmp64(const InstIcmp *Icmp, const Inst *Consumer); | 836 lowerIcmp64(const InstIcmp *Icmp, const Inst *Consumer); |
| 838 | 837 |
| 839 BoolFolding FoldingInfo; | 838 BoolFolding<Traits> FoldingInfo; |
| 840 | 839 |
| 841 static FixupKind PcRelFixup; | 840 static FixupKind PcRelFixup; |
| 842 static FixupKind AbsFixup; | 841 static FixupKind AbsFixup; |
| 843 }; | 842 }; |
| 844 } // end of namespace X86NAMESPACE | 843 } // end of namespace X86NAMESPACE |
| 845 } // end of namespace Ice | 844 } // end of namespace Ice |
| 846 | 845 |
| 847 #include "IceTargetLoweringX86BaseImpl.h" | 846 #include "IceTargetLoweringX86BaseImpl.h" |
| 848 | 847 |
| 849 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASE_H | 848 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASE_H |
| OLD | NEW |