26 #define DEBUG_TYPE "wasm-isel" 47 return "WebAssembly Instruction Selection";
52 "********** Function: " 63 bool SelectInlineAsmMemoryOperand(
const SDValue &
Op,
unsigned ConstraintID,
64 std::vector<SDValue> &OutOps)
override;
67 #include "WebAssemblyGenDAGISel.inc" 95 bool WebAssemblyDAGToDAGISel::SelectInlineAsmMemoryOperand(
96 const SDValue &
Op,
unsigned ConstraintID, std::vector<SDValue> &OutOps) {
97 switch (ConstraintID) {
102 OutOps.push_back(Op);
115 return new WebAssemblyDAGToDAGISel(TM, OptLevel);
raw_ostream & errs()
This returns a reference to a raw_ostream for standard error.
This class represents lattice values for constants.
bool hasFnAttribute(Attribute::AttrKind Kind) const
Return true if the function has the attribute.
void setNodeId(int Id)
Set unique node id.
This file contains the entry points for global functions defined in the LLVM WebAssembly back-end...
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.
StringRef getName() const
getName - Return the name of the corresponding LLVM function.
FunctionPass * createWebAssemblyISelDag(WebAssemblyTargetMachine &TM, CodeGenOpt::Level OptLevel)
This pass converts a legalized DAG into a WebAssembly-specific DAG, ready for instruction scheduling...
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
This file provides WebAssembly-specific target descriptions.
FunctionPass class - This class is used to implement most global optimizations.
bool isMachineOpcode() const
Test if this node has a post-isel opcode, directly corresponding to a MachineInstr opcode...
void dump() const
Dump this node, for debugging.
Represents one node in the SelectionDAG.
SelectionDAGISel - This is the common base class used for SelectionDAG-based pattern-matching instruc...
const Function & getFunction() const
Return the LLVM function that this machine code represents.
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
StringRef - Represent a constant reference to a string, i.e.
Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation...