LLVM 19.0.0git
DirectXSubtarget.h
Go to the documentation of this file.
1//===-- DirectXSubtarget.h - Define Subtarget for DirectX -------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file declares the DirectX specific subclass of TargetSubtargetInfo.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_DIRECTX_DIRECTXSUBTARGET_H
14#define LLVM_DIRECTX_DIRECTXSUBTARGET_H
15
17#include "DirectXInstrInfo.h"
20#include "llvm/IR/DataLayout.h"
22
23#define GET_SUBTARGETINFO_HEADER
24#include "DirectXGenSubtargetInfo.inc"
25
26namespace llvm {
27
28class DirectXTargetMachine;
29
33 DirectXInstrInfo InstrInfo;
34
35 virtual void anchor(); // virtual anchor method
36
37public:
38 DirectXSubtarget(const Triple &TT, StringRef CPU, StringRef FS,
40
41 /// Parses a subtarget feature string, setting appropriate options.
42 /// \note Definition of function is auto generated by `tblgen`.
44
45 const DirectXTargetLowering *getTargetLowering() const override {
46 return &TL;
47 }
48
49 const DirectXFrameLowering *getFrameLowering() const override { return &FL; }
50
51 const DirectXInstrInfo *getInstrInfo() const override { return &InstrInfo; }
52};
53
54} // end namespace llvm
55
56#endif // LLVM_DIRECTX_DIRECTXSUBTARGET_H
const char LLVMTargetMachineRef TM
const DirectXFrameLowering * getFrameLowering() const override
const DirectXInstrInfo * getInstrInfo() const override
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
Parses a subtarget feature string, setting appropriate options.
const DirectXTargetLowering * getTargetLowering() const override
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:50
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:44
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18