LLVM 19.0.0git
ARCSubtarget.cpp
Go to the documentation of this file.
1//===- ARCSubtarget.cpp - ARC Subtarget Information -------------*- 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 implements the ARC specific subclass of TargetSubtargetInfo.
10//
11//===----------------------------------------------------------------------===//
12
13#include "ARCSubtarget.h"
14#include "ARC.h"
16
17using namespace llvm;
18
19#define DEBUG_TYPE "arc-subtarget"
20
21#define GET_SUBTARGETINFO_TARGET_DESC
22#define GET_SUBTARGETINFO_CTOR
23#include "ARCGenSubtargetInfo.inc"
24
25void ARCSubtarget::anchor() {}
26
27ARCSubtarget::ARCSubtarget(const Triple &TT, const std::string &CPU,
28 const std::string &FS, const TargetMachine &TM)
29 : ARCGenSubtargetInfo(TT, CPU, /*TuneCPU=*/CPU, FS), InstrInfo(*this),
30 FrameLowering(*this), TLInfo(TM, *this) {}
const char LLVMTargetMachineRef TM
ARCSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS, const TargetMachine &TM)
This constructor initializes the data members to match that of the specified triple.
Primary interface to the complete machine description for the target machine.
Definition: TargetMachine.h:76
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