LLVM API Documentation

Defines | Enumerations | Functions | Variables
AArch64A57FPLoadBalancing.cpp File Reference
#include "AArch64.h"
#include "AArch64InstrInfo.h"
#include "AArch64Subtarget.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/EquivalenceClasses.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegisterScavenging.h"
#include "llvm/CodeGen/RegisterClassInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <list>
Include dependency graph for AArch64A57FPLoadBalancing.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "aarch64-a57-fp-load-balancing"

Enumerations

enum  Color

Functions

static bool isMul (MachineInstr *MI)
static bool isMla (MachineInstr *MI)

Variables

static cl::opt< boolTransformAll ("aarch64-a57-fp-load-balancing-force-all", cl::desc("Always modify dest registers regardless of color"), cl::init(false), cl::Hidden)
static cl::opt< unsignedOverrideBalance ("aarch64-a57-fp-load-balancing-override", cl::desc("Ignore balance information, always return ""(1: Even, 2: Odd)."), cl::init(0), cl::Hidden)

Define Documentation

#define DEBUG_TYPE   "aarch64-a57-fp-load-balancing"

Definition at line 49 of file AArch64A57FPLoadBalancing.cpp.


Enumeration Type Documentation

enum Color

A "color", which is either even or odd. Yes, these aren't really colors but the algorithm is conceptually doing two-color graph coloring.

Definition at line 104 of file AArch64A57FPLoadBalancing.cpp.


Function Documentation

static bool isMla ( MachineInstr MI) [static]

Definition at line 83 of file AArch64A57FPLoadBalancing.cpp.

References llvm::MachineInstr::getOpcode().

static bool isMul ( MachineInstr MI) [static]

Definition at line 70 of file AArch64A57FPLoadBalancing.cpp.

References llvm::MachineInstr::getOpcode().


Variable Documentation

cl::opt<unsigned> OverrideBalance("aarch64-a57-fp-load-balancing-override", cl::desc("Ignore balance information, always return ""(1: Even, 2: Odd)."), cl::init(0), cl::Hidden) [static]
cl::opt<bool> TransformAll("aarch64-a57-fp-load-balancing-force-all", cl::desc("Always modify dest registers regardless of color"), cl::init(false), cl::Hidden) [static]