25 #define DEBUG_TYPE "wasm-isel"
45 const char *getPassName()
const override {
46 return "WebAssembly Instruction Selection";
72 return new WebAssemblyDAGToDAGISel(TM, OptLevel);
const Function * getFunction() const
getFunction - Return the LLVM function that this machine code represents
This file contains the entry points for global functions defined in the LLVM WebAssembly back-end...
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
bool runOnMachineFunction(MachineFunction &MF) override
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...
This file declares the WebAssembly-specific subclass of TargetMachine.
FunctionPass * createWebAssemblyISelDag(WebAssemblyTargetMachine &TM, CodeGenOpt::Level OptLevel)
This pass converts a legalized DAG into a WebAssembly-specific DAG, ready for instruction scheduling...
This file provides WebAssembly-specific target descriptions.
FunctionPass class - This class is used to implement most global optimizations.
Represents one node in the SelectionDAG.
SelectionDAGISel - This is the common base class used for SelectionDAG-based pattern-matching instruc...
bool hasFnAttribute(Attribute::AttrKind Kind) const
Return true if the function has the attribute.
Function must be optimized for size first.