LLVM  6.0.0svn
Namespaces | Macros | Functions | Variables
HexagonAsmPrinter.cpp File Reference
#include "HexagonAsmPrinter.h"
#include "Hexagon.h"
#include "HexagonInstrInfo.h"
#include "HexagonRegisterInfo.h"
#include "HexagonSubtarget.h"
#include "MCTargetDesc/HexagonInstPrinter.h"
#include "MCTargetDesc/HexagonMCExpr.h"
#include "MCTargetDesc/HexagonMCInstrInfo.h"
#include "MCTargetDesc/HexagonMCTargetDesc.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDirectives.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <string>
Include dependency graph for HexagonAsmPrinter.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEBUG_TYPE   "asm-printer"
 

Functions

void llvm::HexagonLowerToMC (const MCInstrInfo &MCII, const MachineInstr *MI, MCInst &MCB, HexagonAsmPrinter &AP)
 
static unsigned getHexagonRegisterPair (unsigned Reg, const MCRegisterInfo *RI)
 
static MCSymbolsmallData (AsmPrinter &AP, const MachineInstr &MI, MCStreamer &OutStreamer, const MCOperand &Imm, int AlignSize)
 
static MCInst ScaleVectorOffset (MCInst &Inst, unsigned OpNo, unsigned VectorSize, MCContext &Ctx)
 
void LLVMInitializeHexagonAsmPrinter ()
 

Variables

static cl::opt< boolAlignCalls ("hexagon-align-calls", cl::Hidden, cl::init(true), cl::desc("Insert falign after call instruction for Hexagon target"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "asm-printer"

Definition at line 63 of file HexagonAsmPrinter.cpp.

Function Documentation

◆ getHexagonRegisterPair()

static unsigned getHexagonRegisterPair ( unsigned  Reg,
const MCRegisterInfo RI 
)
inlinestatic

Definition at line 70 of file HexagonAsmPrinter.cpp.

References assert(), and contains().

Referenced by llvm::HexagonAsmPrinter::HexagonProcessInstruction().

◆ LLVMInitializeHexagonAsmPrinter()

void LLVMInitializeHexagonAsmPrinter ( )

Definition at line 747 of file HexagonAsmPrinter.cpp.

References llvm::getTheHexagonTarget(), and X.

◆ ScaleVectorOffset()

static MCInst ScaleVectorOffset ( MCInst Inst,
unsigned  OpNo,
unsigned  VectorSize,
MCContext Ctx 
)
static

◆ smallData()

static MCSymbol* smallData ( AsmPrinter AP,
const MachineInstr MI,
MCStreamer OutStreamer,
const MCOperand Imm,
int  AlignSize 
)
static

Variable Documentation

◆ AlignCalls

cl::opt<bool> AlignCalls("hexagon-align-calls", cl::Hidden, cl::init(true), cl::desc("Insert falign after call instruction for Hexagon target"))
static