15#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYSUBTARGET_H
16#define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYSUBTARGET_H
26#define GET_SUBTARGETINFO_HEADER
27#include "WebAssemblyGenSubtargetInfo.inc"
32extern const SubtargetFeatureKV
42 bool HasAtomics =
false;
43 bool HasBulkMemory =
false;
44 bool HasBulkMemoryOpt =
false;
45 bool HasCallIndirectOverlong =
false;
46 bool HasExceptionHandling =
false;
47 bool HasExtendedConst =
false;
49 bool HasMultiMemory =
false;
50 bool HasMultivalue =
false;
51 bool HasMutableGlobals =
false;
52 bool HasNontrappingFPToInt =
false;
53 bool HasReferenceTypes =
false;
54 bool HasSignExt =
false;
55 bool HasTailCall =
false;
56 bool HasWideArithmetic =
false;
79 return &FrameLowering;
94 bool useAA()
const override;
This class implements WebAssembly-specific bits of TargetFrameLowering class.
This file defines the interfaces that WebAssembly uses to lower LLVM code into a selection DAG.
This file contains the WebAssembly implementation of the TargetInstrInfo class.
This file provides WebAssembly-specific target descriptions.
This file defines the WebAssembly subclass for SelectionDAGTargetInfo.
StringRef - Represent a constant reference to a string, i.e.
Primary interface to the complete machine description for the target machine.
Triple - Helper class for working with autoconf configuration names.
bool isArch64Bit() const
Test whether the architecture is 64-bit.
const WebAssemblyRegisterInfo & getRegisterInfo() const
bool hasCallIndirectOverlong() const
bool hasExtendedConst() const
bool enableAtomicExpand() const override
const WebAssemblySelectionDAGInfo * getSelectionDAGInfo() const override
const Triple & getTargetTriple() const
bool hasMultiMemory() const
bool enableIndirectBrExpand() const override
const WebAssemblyTargetLowering * getTargetLowering() const override
const WebAssemblyInstrInfo * getInstrInfo() const override
bool hasBulkMemoryOpt() const
bool hasBulkMemory() const
const WebAssemblyRegisterInfo * getRegisterInfo() const override
bool enableMachineScheduler() const override
bool hasMultivalue() const
bool hasWideArithmetic() const
bool hasReferenceTypes() const
bool hasExceptionHandling() const
bool hasMutableGlobals() const
bool hasRelaxedSIMD() const
bool hasNontrappingFPToInt() const
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
Parses features string setting specified subtarget options.
const WebAssemblyFrameLowering * getFrameLowering() const override
bool useAA() const override
This is an optimization pass for GlobalISel generic memory operations.
const SubtargetFeatureKV WebAssemblyFeatureKV[WebAssembly::NumSubtargetFeatures]