16 #ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYSUBTARGET_H 17 #define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYSUBTARGET_H 26 #define GET_SUBTARGETINFO_HEADER 27 #include "WebAssemblyGenSubtargetInfo.inc" 38 bool HasAtomics =
false;
39 bool HasNontrappingFPToInt =
false;
40 bool HasSignExt =
false;
41 bool HasExceptionHandling =
false;
44 std::string CPUString;
68 return &FrameLowering;
81 bool useAA()
const override;
87 return SIMDLevel >= UnimplementedSIMD128;
This file defines the interfaces that WebAssembly uses to lower LLVM code into a selection DAG...
bool enableMachineScheduler() const override
This class represents lattice values for constants.
const WebAssemblyRegisterInfo & getRegisterInfo() const
bool useAA() const override
bool hasExceptionHandling() const
const WebAssemblyFrameLowering * getFrameLowering() const override
bool hasUnimplementedSIMD128() const
void ParseSubtargetFeatures(StringRef CPU, StringRef FS)
Parses features string setting specified subtarget options.
const Triple & getTargetTriple() const
const WebAssemblySelectionDAGInfo * getSelectionDAGInfo() const override
Triple - Helper class for working with autoconf configuration names.
const WebAssemblyTargetLowering * getTargetLowering() const override
This file contains the WebAssembly implementation of the TargetInstrInfo class.
This file defines the WebAssembly subclass for SelectionDAGTargetInfo.
const WebAssemblyRegisterInfo * getRegisterInfo() const override
This class implements WebAssembly-specific bits of TargetFrameLowering class.
bool isArch64Bit() const
Test whether the architecture is 64-bit.
bool hasNontrappingFPToInt() const
WebAssemblySubtarget(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.
StringRef - Represent a constant reference to a string, i.e.
const WebAssemblyInstrInfo * getInstrInfo() const override