OpenASIP  2.0
Macros | Functions
TCEISelLowering.cc File Reference
#include <assert.h>
#include <string>
#include "tce_config.h"
#include <llvm/IR/Function.h>
#include <llvm/IR/DerivedTypes.h>
#include <llvm/IR/Intrinsics.h>
#include <llvm/IR/CallingConv.h>
#include <llvm/CodeGen/TargetLowering.h>
#include <llvm/CodeGen/CallingConvLower.h>
#include <llvm/CodeGen/SelectionDAG.h>
#include <llvm/CodeGen/MachineFrameInfo.h>
#include <llvm/CodeGen/MachineRegisterInfo.h>
#include <llvm/CodeGen/MachineInstrBuilder.h>
#include <llvm/Support/raw_ostream.h>
#include <llvm/Target/TargetLoweringObjectFile.h>
#include "TCEPlugin.hh"
#include "TCERegisterInfo.hh"
#include "TCETargetMachine.hh"
#include "TCETargetObjectFile.hh"
#include "TCESubtarget.hh"
#include "TCEISelLowering.hh"
#include "LLVMTCECmdLineOptions.hh"
#include "Application.hh"
#include "Machine.hh"
#include "AddressSpace.hh"
#include "MachineInfo.hh"
#include "llvm/Support/ErrorHandling.h"
#include <iostream>
#include "TCEGenCallingConv.inc"
#include "ArgRegs.hh"
Include dependency graph for TCEISelLowering.cc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DEFAULT_TYPE   MVT::i32
 
#define DEFAULT_IMM_INSTR   TCE::MOVI32ri
 
#define DEFAULT_SIZE   4
 
#define DEFAULT_REG_CLASS   TCE::R32IRegsRegClass
 

Functions

static SDValue LowerCONSTANTPOOL (SDValue Op, SelectionDAG &DAG)
 

Macro Definition Documentation

◆ DEFAULT_IMM_INSTR

#define DEFAULT_IMM_INSTR   TCE::MOVI32ri

Definition at line 79 of file TCEISelLowering.cc.

◆ DEFAULT_REG_CLASS

#define DEFAULT_REG_CLASS   TCE::R32IRegsRegClass

Definition at line 81 of file TCEISelLowering.cc.

◆ DEFAULT_SIZE

#define DEFAULT_SIZE   4

Definition at line 80 of file TCEISelLowering.cc.

◆ DEFAULT_TYPE

#define DEFAULT_TYPE   MVT::i32

Definition at line 78 of file TCEISelLowering.cc.

Function Documentation

◆ LowerCONSTANTPOOL()

static SDValue LowerCONSTANTPOOL ( SDValue  Op,
SelectionDAG &  DAG 
)
static

Definition at line 966 of file TCEISelLowering.cc.

966  {
967  // TODO: Check this.
968  llvm::MVT ptrVT = Op.getValueType().getSimpleVT();
969  ConstantPoolSDNode* cp = cast<ConstantPoolSDNode>(Op);
970  SDValue res;
971  if (cp->isMachineConstantPoolEntry()) {
972  res = DAG.getTargetConstantPool(
973  cp->getMachineCPVal(), ptrVT,
974  cp->getAlign());
975  } else {
976  res = DAG.getTargetConstantPool(
977  cp->getConstVal(), ptrVT,
978  cp->getAlign());
979 
980  }
981  return DAG.getNode(TCEISD::CONST_POOL, SDLoc(Op), DEFAULT_TYPE, res);
982 }

References TCEISD::CONST_POOL, and DEFAULT_TYPE.

Referenced by llvm::TCETargetLowering::LowerOperation().

DEFAULT_TYPE
#define DEFAULT_TYPE
Definition: TCEISelLowering.cc:78
TCEISD::CONST_POOL
@ CONST_POOL
Definition: TCEISelLowering.hh:56