LLVM  3.7.0
Macros | Enumerations | Functions | Variables
ARMSubtarget.cpp File Reference
#include "ARMSubtarget.h"
#include "ARMFrameLowering.h"
#include "ARMISelLowering.h"
#include "ARMInstrInfo.h"
#include "ARMMachineFunctionInfo.h"
#include "ARMSelectionDAGInfo.h"
#include "ARMTargetMachine.h"
#include "Thumb1FrameLowering.h"
#include "Thumb1InstrInfo.h"
#include "Thumb2InstrInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "ARMGenSubtargetInfo.inc"
Include dependency graph for ARMSubtarget.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "arm-subtarget"
 
#define GET_SUBTARGETINFO_TARGET_DESC
 
#define GET_SUBTARGETINFO_CTOR
 

Enumerations

enum  AlignMode
 
enum  ITMode { DefaultIT, RestrictedIT, NoRestrictedIT }
 

Functions

static cl::opt< AlignModeAlign (cl::desc("Load/store alignment support"), cl::Hidden, cl::init(DefaultAlign), cl::values(clEnumValN(DefaultAlign,"arm-default-align","Generate unaligned accesses only on hardware/OS ""combinations that are known to support them"), clEnumValN(StrictAlign,"arm-strict-align","Disallow all unaligned memory accesses"), clEnumValN(NoStrictAlign,"arm-no-strict-align","Allow unaligned memory accesses"), clEnumValEnd))
 
static cl::opt< ITModeIT (cl::desc("IT block support"), cl::Hidden, cl::init(DefaultIT), cl::ZeroOrMore, cl::values(clEnumValN(DefaultIT,"arm-default-it","Generate IT block based on arch"), clEnumValN(RestrictedIT,"arm-restrict-it","Disallow deprecated IT based on ARMv8"), clEnumValN(NoRestrictedIT,"arm-no-restrict-it","Allow IT blocks based on ARMv7"), clEnumValEnd))
 

Variables

static cl::opt< boolReserveR9 ("arm-reserve-r9", cl::Hidden, cl::desc("Reserve R9, making it unavailable as GPR"))
 
static cl::opt< boolArmUseMOVT ("arm-use-movt", cl::init(true), cl::Hidden)
 
static cl::opt< boolUseFusedMulOps ("arm-use-mulops", cl::init(true), cl::Hidden)
 

Macro Definition Documentation

#define DEBUG_TYPE   "arm-subtarget"

Definition at line 36 of file ARMSubtarget.cpp.

#define GET_SUBTARGETINFO_CTOR

Definition at line 39 of file ARMSubtarget.cpp.

#define GET_SUBTARGETINFO_TARGET_DESC

Definition at line 38 of file ARMSubtarget.cpp.

Enumeration Type Documentation

enum AlignMode

Definition at line 54 of file ARMSubtarget.cpp.

enum ITMode
Enumerator
DefaultIT 
RestrictedIT 
NoRestrictedIT 

Definition at line 74 of file ARMSubtarget.cpp.

Function Documentation

static cl::opt<AlignMode> Align ( cl::  desc"Load/store alignment support",
cl::Hidden  ,
cl::  initDefaultAlign,
cl::  valuesclEnumValN(DefaultAlign,"arm-default-align","Generate unaligned accesses only on hardware/OS ""combinations that are known to support them"), clEnumValN(StrictAlign,"arm-strict-align","Disallow all unaligned memory accesses"), clEnumValN(NoStrictAlign,"arm-no-strict-align","Allow unaligned memory accesses"), clEnumValEnd 
)
static
static cl::opt<ITMode> IT ( cl::  desc"IT block support",
cl::Hidden  ,
cl::  initDefaultIT,
cl::ZeroOrMore  ,
cl::  valuesclEnumValN(DefaultIT,"arm-default-it","Generate IT block based on arch"), clEnumValN(RestrictedIT,"arm-restrict-it","Disallow deprecated IT based on ARMv8"), clEnumValN(NoRestrictedIT,"arm-no-restrict-it","Allow IT blocks based on ARMv7"), clEnumValEnd 
)
static

Variable Documentation

cl::opt<bool> ArmUseMOVT("arm-use-movt", cl::init(true), cl::Hidden)
static
cl::opt<bool> ReserveR9("arm-reserve-r9", cl::Hidden, cl::desc("Reserve R9, making it unavailable as GPR"))
static
cl::opt<bool> UseFusedMulOps("arm-use-mulops", cl::init(true), cl::Hidden)
static