LLVM API Documentation
typedef const PassInfo* llvm::AnalysisID |
typedef InstIterator<const iplist<BasicBlock>, Function::const_iterator, BasicBlock::const_iterator, const Instruction> llvm::const_inst_iterator |
Definition at line 126 of file InstIterator.h.
Definition at line 235 of file IntervalIterator.h.
Definition at line 31 of file lib/ExecutionEngine/Interpreter/Interpreter.h.
Definition at line 82 of file GetElementPtrTypeIterator.h.
typedef InstIterator<iplist<BasicBlock>, Function::iterator, BasicBlock::iterator, Instruction> llvm::inst_iterator |
Definition at line 122 of file InstIterator.h.
typedef unsigned llvm::InstrSchedClass |
Definition at line 39 of file TargetInstrInfo.h.
Definition at line 236 of file IntervalIterator.h.
typedef short llvm::MachineOpCode |
Definition at line 32 of file TargetInstrInfo.h.
typedef uintptr_t llvm::PointerTy |
Definition at line 22 of file GenericValue.h.
typedef PredIterator<const BasicBlock, Value::use_const_iterator> llvm::pred_const_iterator |
typedef int llvm::ResourceId |
Definition at line 25 of file SchedGraphCommon.h.
typedef SuccIterator<const TerminatorInst*, const BasicBlock> llvm::succ_const_iterator |
typedef SuccIterator<TerminatorInst*, BasicBlock> llvm::succ_iterator |
typedef std::map<const Value *, Value *> llvm::ValueMapTy |
Definition at line 22 of file ValueMapper.h.
typedef std::vector<GenericValue> llvm::ValuePlaneTy |
Definition at line 65 of file lib/ExecutionEngine/Interpreter/Interpreter.h.
typedef std::set<const Value*> llvm::ValueSet |
Definition at line 34 of file ValueSet.h.
typedef std::map<const Value*, const Type*> llvm::ValueTypeCache |
Definition at line 78 of file TransformInternals.h.
anonymous enum |
Definition at line 59 of file MachineDebugInfo.h.
enum llvm::PassDebugLevel |
Definition at line 42 of file PassManagerT.h.
enum llvm::SCEVTypes |
scConstant | |
scTruncate | |
scZeroExtend | |
scAddExpr | |
scMulExpr | |
scSDivExpr | |
scAddRecExpr | |
scUnknown | |
scCouldNotCompute |
Definition at line 23 of file ScalarEvolutionExpressions.h.
An enumeration to specify the action to be taken if errors found.
This enumeration is used in the functions below to indicate what should happen if the verifier finds errors. Each of the functions that uses this enumeration as an argument provides a default value for it. The actions are listed below.
AbortProcessAction | verifyModule will print to stderr and abort() |
PrintMessageAction | verifyModule will print to stderr and return true |
ReturnStatusAction | verifyModule will just return true |
Definition at line 38 of file Verifier.h.
const MachineInstrBuilder & llvm::addConstantPoolReference | ( | const MachineInstrBuilder & | MIB, | |
unsigned | CPI, | |||
int | Offset = 0 | |||
) | [inline] |
addConstantPoolReference - This function is used to add a reference to the base of a constant value spilled to the per-function constant pool. The reference has base register ConstantPoolIndex offset which is retained until either machine code emission or assembly output. This allows an optional offset to be added as well.
Definition at line 44 of file IA64InstrBuilder.h.
References llvm::MachineInstrBuilder::addConstantPoolIndex(), llvm::MachineInstrBuilder::addImm(), and Offset.
const MachineInstrBuilder& llvm::addDirectMem | ( | const MachineInstrBuilder & | MIB, | |
unsigned | Reg | |||
) | [inline] |
addDirectMem - This function is used to add a direct memory reference to the current instruction -- that is, a dereference of an address in a register, with no scale, index or displacement. An example is: DWORD PTR [EAX].
Definition at line 60 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
const MachineInstrBuilder& llvm::addFrameReference | ( | const MachineInstrBuilder & | MIB, | |
int | FI, | |||
int | Offset = 0 | |||
) | [inline] |
addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. This reference has base register as the FrameIndex offset until it is resolved. This allows a constant offset to be specified as well...
Definition at line 107 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), and Offset.
const MachineInstrBuilder & llvm::addFrameReference | ( | const MachineInstrBuilder & | MIB, | |
int | FI, | |||
int | Offset = 0 , |
|||
bool | mem = true | |||
) | [inline] |
addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. This reference has base register as the FrameIndex offset until it is resolved. This allows a constant offset to be specified as well...
Definition at line 29 of file IA64InstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), and Offset.
Referenced by llvm::PPCRegisterInfo::foldMemoryOperand(), llvm::X86TargetLowering::InsertAtEndOfBasicBlock(), llvm::X86RegisterInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::loadRegFromStackSlot(), MakeM0Inst(), MakeMIInst(), MakeMInst(), MakeMRIInst(), MakeMRInst(), MakeRMIInst(), MakeRMInst(), llvm::X86RegisterInfo::storeRegToStackSlot(), and llvm::PPCRegisterInfo::storeRegToStackSlot().
const MachineInstrBuilder& llvm::addFullAddress | ( | const MachineInstrBuilder & | MIB, | |
const X86AddressMode & | AM | |||
) | [inline] |
Definition at line 84 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::X86AddressMode::Base, llvm::X86AddressMode::BaseType, llvm::X86AddressMode::Disp, llvm::X86AddressMode::FrameIndex, llvm::X86AddressMode::FrameIndexBase, llvm::X86AddressMode::GV, llvm::X86AddressMode::IndexReg, llvm::X86AddressMode::Reg, llvm::X86AddressMode::RegBase, and llvm::X86AddressMode::Scale.
Referenced by llvm::X86InstrInfo::convertToThreeAddress(), and llvm::X86TargetLowering::InsertAtEndOfBasicBlock().
void llvm::addNodeToInterval | ( | Interval * | Int, | |
Interval * | I | |||
) | [inline] |
void llvm::addNodeToInterval | ( | Interval * | Int, | |
BasicBlock * | BB | |||
) | [inline] |
const MachineInstrBuilder& llvm::addRegOffset | ( | const MachineInstrBuilder & | MIB, | |
unsigned | Reg, | |||
int | Offset | |||
) | [inline] |
addRegOffset - This function is used to add a memory reference of the form [Reg + Offset], i.e., one with no scale or index, but with a displacement. An example is: DWORD PTR [EAX + 4].
Definition at line 72 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
Referenced by llvm::X86InstrInfo::convertToThreeAddress(), and llvm::X86RegisterInfo::emitPrologue().
const MachineInstrBuilder& llvm::addRegReg | ( | const MachineInstrBuilder & | MIB, | |
unsigned | Reg1, | |||
unsigned | Reg2 | |||
) | [inline] |
addRegReg - This function is used to add a memory reference of the form: [Reg + Reg].
Definition at line 79 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
Referenced by llvm::X86InstrInfo::convertToThreeAddress().
void llvm::addX86ELFObjectWriterPass | ( | PassManager & | FPM, | |
std::ostream & | O, | |||
X86TargetMachine & | TM | |||
) |
addX86ELFObjectWriterPass - Returns a pass that outputs the generated code as an ELF object file.
Definition at line 34 of file X86ELFWriter.cpp.
References llvm::PassManager::add(), createX86CodeEmitterPass(), and TM.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile().
void llvm::addX86ELFObjectWriterPass | ( | PassManager & | FPM, | |
std::ostream & | O, | |||
X86TargetMachine & | TM | |||
) |
addX86ELFObjectWriterPass - Returns a pass that outputs the generated code as an ELF object file.
Definition at line 34 of file X86ELFWriter.cpp.
References llvm::PassManager::add(), createX86CodeEmitterPass(), and TM.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile().
Module* llvm::AnalyzeBytecodeBuffer | ( | const unsigned char * | Buffer, | |
unsigned | BufferSize, | |||
const std::string & | ModuleID, | |||
BytecodeAnalysis & | Results, | |||
std::string * | ErrorStr = 0 , |
|||
std::ostream * | output = 0 | |||
) |
Analyze contents of a bytecode buffer.
This function is an alternate entry point into the bytecode analysis library. It allows you to provide an arbitrary memory buffer which is assumed to contain a complete bytecode file. The Buffer
is analyzed and the Results
are filled in.
Buffer | Pointer to start of bytecode buffer |
Length | Size of the bytecode buffer |
ModuleID | Identifier for the module |
bca | The results of the analysis |
ErrorStr | Errors, if any. |
output | Dump output, if any |
Definition at line 328 of file ReaderWrappers.cpp.
References bca, createBytecodeAnalyzerHandler(), and getBytecodeBufferModuleProvider().
Module* llvm::AnalyzeBytecodeBuffer | ( | const unsigned char * | Buffer, | |
unsigned | BufferSize, | |||
const std::string & | ModuleID, | |||
BytecodeAnalysis & | Results, | |||
std::string * | ErrorStr = 0 , |
|||
std::ostream * | output = 0 | |||
) |
Analyze contents of a bytecode buffer.
This function is an alternate entry point into the bytecode analysis library. It allows you to provide an arbitrary memory buffer which is assumed to contain a complete bytecode file. The Buffer
is analyzed and the Results
are filled in.
Buffer | Pointer to start of bytecode buffer |
BufferSize | Size of the bytecode buffer |
ModuleID | Identifier for the module |
Results | The results of the analysis |
ErrorStr | Errors, if any. |
output | Stream for dump output, if wanted |
Definition at line 328 of file ReaderWrappers.cpp.
References bca, createBytecodeAnalyzerHandler(), and getBytecodeBufferModuleProvider().
Module* llvm::AnalyzeBytecodeFile | ( | const std::string & | Filename, | |
BytecodeAnalysis & | Results, | |||
std::string * | ErrorStr = 0 , |
|||
std::ostream * | output = 0 | |||
) |
Analyze contents of a bytecode File.
This function is the main entry point into the bytecode analysis library. It allows you to simply provide a filename
and storage for the Results
that will be filled in with the analysis results.
Filename | File to analyze |
bca | Statistical output |
ErrorStr | Error output |
output | Dump output |
Definition at line 309 of file ReaderWrappers.cpp.
References bca, createBytecodeAnalyzerHandler(), and getBytecodeModuleProvider().
Module* llvm::AnalyzeBytecodeFile | ( | const std::string & | Filename, | |
BytecodeAnalysis & | Results, | |||
std::string * | ErrorStr = 0 , |
|||
std::ostream * | output = 0 | |||
) |
Analyze contents of a bytecode File.
This function is the main entry point into the bytecode analysis library. It allows you to simply provide a filename
and storage for the Results
that will be filled in with the analysis results.
Filename | The name of the bytecode file to read |
Results | The results of the analysis |
ErrorStr | Errors, if any. |
output | Stream for dump output, if wanted |
Definition at line 309 of file ReaderWrappers.cpp.
References bca, createBytecodeAnalyzerHandler(), and getBytecodeModuleProvider().
static uint64_t llvm::atoull | ( | const char * | Buffer | ) | [static] |
double llvm::BitsToDouble | ( | uint64_t | Bits | ) | [inline] |
Definition at line 258 of file MathExtras.h.
Referenced by CastConstantPacked(), llvm::ConstantCreator< ConstantFP, Type, uint64_t >::create(), and llvm::SelectionDAG::getNode().
float llvm::BitsToFloat | ( | uint32_t | Bits | ) | [inline] |
Definition at line 269 of file MathExtras.h.
Referenced by CastConstantPacked(), llvm::ConstantCreator< ConstantFP, Type, uint32_t >::create(), and llvm::SelectionDAG::getNode().
MachineInstrBuilder llvm::BuildMI | ( | MachineBasicBlock * | BB, | |
int | Opcode, | |||
unsigned | NumOperands, | |||
unsigned | DestReg | |||
) | [inline] |
BuildMI - This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and sets up the first operand as a destination virtual register. NumOperands is the number of additional add* calls that are expected, not including the destination register.
Definition at line 145 of file MachineInstrBuilder.h.
References BB, and llvm::BasicBlock::end().
Referenced by BuildMI().
MachineInstrBuilder llvm::BuildMI | ( | MachineBasicBlock * | BB, | |
int | Opcode, | |||
unsigned | NumOperands | |||
) | [inline] |
BuildMI - This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and does NOT take a destination register.
Definition at line 134 of file MachineInstrBuilder.h.
References BB, BuildMI(), and llvm::BasicBlock::end().
MachineInstrBuilder llvm::BuildMI | ( | MachineBasicBlock & | BB, | |
MachineBasicBlock::iterator | I, | |||
int | Opcode, | |||
unsigned | NumOperands | |||
) | [inline] |
BuildMI - This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and does NOT take a destination register.
Definition at line 122 of file MachineInstrBuilder.h.
MachineInstrBuilder llvm::BuildMI | ( | MachineBasicBlock & | BB, | |
MachineBasicBlock::iterator | I, | |||
int | Opcode, | |||
unsigned | NumOperands, | |||
unsigned | DestReg | |||
) | [inline] |
BuildMI - This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and sets up the first operand as a destination virtual register. NumOperands is the number of additional add* calls that are expected, not including the destination register.
Definition at line 109 of file MachineInstrBuilder.h.
MachineInstrBuilder llvm::BuildMI | ( | int | Opcode, | |
unsigned | NumOperands, | |||
unsigned | DestReg, | |||
MachineOperand::UseType | useType = MachineOperand::Def | |||
) | [inline] |
BuildMI - This version of the builder sets up the first operand as a destination virtual register. NumOperands is the number of additional add* calls that are expected, not including the destination register.
Definition at line 95 of file MachineInstrBuilder.h.
References llvm::MachineInstrBuilder::addReg().
MachineInstrBuilder llvm::BuildMI | ( | int | Opcode, | |
unsigned | NumOperands | |||
) | [inline] |
BuildMI - Builder interface. Specify how to create the initial instruction itself. NumOperands is the number of operands to the machine instruction to allow for memory efficient representation of machine instructions.
Definition at line 87 of file MachineInstrBuilder.h.
Referenced by llvm::X86InstrInfo::commuteInstruction(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::X86RegisterInfo::copyRegToReg(), llvm::SparcRegisterInfo::copyRegToReg(), llvm::PPCRegisterInfo::copyRegToReg(), llvm::IA64RegisterInfo::copyRegToReg(), llvm::ARMRegisterInfo::copyRegToReg(), llvm::AlphaRegisterInfo::copyRegToReg(), llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateCallFramePseudoInstr(), llvm::IA64RegisterInfo::eliminateCallFramePseudoInstr(), llvm::AlphaRegisterInfo::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::ARMRegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::emitEpilogue(), llvm::SparcRegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::IA64RegisterInfo::emitEpilogue(), llvm::ARMRegisterInfo::emitEpilogue(), llvm::AlphaRegisterInfo::emitEpilogue(), llvm::X86RegisterInfo::emitPrologue(), llvm::SparcRegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), llvm::IA64RegisterInfo::emitPrologue(), llvm::ARMRegisterInfo::emitPrologue(), llvm::AlphaRegisterInfo::emitPrologue(), llvm::SparcRegisterInfo::foldMemoryOperand(), llvm::PPCRegisterInfo::foldMemoryOperand(), llvm::AlphaRegisterInfo::foldMemoryOperand(), llvm::FunctionLoweringInfo::FunctionLoweringInfo(), HandleVRSaveUpdate(), llvm::X86TargetLowering::InsertAtEndOfBasicBlock(), llvm::PPCTargetLowering::InsertAtEndOfBasicBlock(), llvm::X86InstrInfo::insertGoto(), llvm::PPCInstrInfo::insertNoop(), llvm::X86RegisterInfo::loadRegFromStackSlot(), llvm::SparcRegisterInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::loadRegFromStackSlot(), llvm::IA64RegisterInfo::loadRegFromStackSlot(), llvm::ARMRegisterInfo::loadRegFromStackSlot(), llvm::AlphaRegisterInfo::loadRegFromStackSlot(), llvm::IA64TargetLowering::LowerArguments(), MakeM0Inst(), MakeMIInst(), MakeMInst(), MakeMRIInst(), MakeMRInst(), MakeRMIInst(), MakeRMInst(), llvm::AlphaTargetLowering::restoreGP(), llvm::AlphaTargetLowering::restoreRA(), llvm::X86InstrInfo::reverseBranchCondition(), llvm::X86RegisterInfo::storeRegToStackSlot(), llvm::SparcRegisterInfo::storeRegToStackSlot(), llvm::PPCRegisterInfo::storeRegToStackSlot(), llvm::IA64RegisterInfo::storeRegToStackSlot(), llvm::ARMRegisterInfo::storeRegToStackSlot(), and llvm::AlphaRegisterInfo::storeRegToStackSlot().
unsigned short llvm::ByteSwap_16 | ( | unsigned short | Value | ) | [inline] |
Definition at line 97 of file MathExtras.h.
References SPISD::Hi, and SPISD::Lo.
Referenced by ConstantFoldCall(), and llvm::SelectionDAG::getNode().
unsigned llvm::ByteSwap_32 | ( | unsigned | Value | ) | [inline] |
Definition at line 105 of file MathExtras.h.
Referenced by ByteSwap_64(), ConstantFoldCall(), and llvm::SelectionDAG::getNode().
uint64_t llvm::ByteSwap_64 | ( | uint64_t | Value | ) | [inline] |
Definition at line 115 of file MathExtras.h.
References ByteSwap_32(), SPISD::Hi, and SPISD::Lo.
Referenced by ConstantFoldCall(), and llvm::SelectionDAG::getNode().
Pass* llvm::callDefaultCtor | ( | ) |
Definition at line 186 of file PassSupport.h.
bool llvm::canConstantFoldCallTo | ( | Function * | F | ) |
canConstantFoldCallTo - Return true if its even possible to fold a call to the specified function.
Definition at line 34 of file Analysis/ConstantFolding.cpp.
References llvm::Intrinsic::bswap_i16, llvm::Intrinsic::bswap_i32, llvm::Intrinsic::bswap_i64, F, llvm::Intrinsic::isunordered_f32, llvm::Intrinsic::isunordered_f64, Name, llvm::Intrinsic::sqrt_f32, and llvm::Intrinsic::sqrt_f64.
Referenced by CanConstantFold(), and ConstantFoldInstOperands().
bool llvm::canConstantFoldCallTo | ( | Function * | F | ) |
canConstantFoldCallTo - Return true if its even possible to fold a call to the specified function.
Definition at line 34 of file Analysis/ConstantFolding.cpp.
References llvm::Intrinsic::bswap_i16, llvm::Intrinsic::bswap_i32, llvm::Intrinsic::bswap_i64, F, llvm::Intrinsic::isunordered_f32, llvm::Intrinsic::isunordered_f64, Name, llvm::Intrinsic::sqrt_f32, and llvm::Intrinsic::sqrt_f64.
Referenced by CanConstantFold(), and ConstantFoldInstOperands().
cast_retty<X, Y>::ret_type llvm::cast | ( | const Y & | Val | ) | [inline] |
cast_retty<X, Y*>::ret_type llvm::cast_or_null | ( | Y * | Val | ) | [inline] |
bool llvm::CheckBytecodeOutputToConsole | ( | std::ostream * | stream_to_check, | |
bool | print_warning = true | |||
) |
Check for output written to a console.
Determine if the ostream provided is connected to the std::cout and displayed or not (to a console window). If so, generate a warning message advising against display of bytecode and return true. Otherwise just return false
stream_to_check | The stream to be checked |
print_warning | Control whether warnings are printed |
Definition at line 21 of file SystemUtils.cpp.
References llvm::sys::Process::StandardOutIsDisplayed().
bool llvm::CheckBytecodeOutputToConsole | ( | std::ostream * | stream_to_check, | |
bool | print_warning = true | |||
) |
Check for output written to a console.
Determine if the ostream provided is connected to the std::cout and displayed or not (to a console window). If so, generate a warning message advising against display of bytecode and return true. Otherwise just return false
stream_to_check | The stream to be checked |
print_warning | Control whether warnings are printed |
Definition at line 21 of file SystemUtils.cpp.
References llvm::sys::Process::StandardOutIsDisplayed().
void llvm::CloneAndPruneFunctionInto | ( | Function * | NewFunc, | |
const Function * | OldFunc, | |||
std::map< const Value *, Value * > & | ValueMap, | |||
std::vector< ReturnInst * > & | Returns, | |||
const char * | NameSuffix, | |||
ClonedCodeInfo * | CodeInfo | |||
) |
CloneAndPruneFunctionInto - This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly. The effect of this is to copy significantly less code in cases where (for example) a function call with constant arguments is inlined, and those constant arguments cause a significant amount of code in the callee to be dead. Since this doesn't produce an exactly copy of the input, it can't be used for things like CloneFunction or CloneModule.
Definition at line 308 of file CloneFunction.cpp.
References llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::BasicBlock::begin(), llvm::Function::begin(), CodeInfo, E, llvm::BasicBlock::end(), llvm::Function::end(), llvm::Instruction::eraseFromParent(), llvm::UndefValue::get(), llvm::Function::getEntryBlock(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::PHINode::getNumIncomingValues(), llvm::Value::getType(), MapValue(), NewFunc, OldFunc, PI, pred_begin(), pred_end(), RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::Value::replaceAllUsesWith(), llvm::PHINode::setIncomingBlock(), and llvm::PHINode::setIncomingValue().
Referenced by InlineFunction().
void llvm::CloneAndPruneFunctionInto | ( | Function * | NewFunc, | |
const Function * | OldFunc, | |||
std::map< const Value *, Value * > & | ValueMap, | |||
std::vector< ReturnInst * > & | Returns, | |||
const char * | NameSuffix, | |||
ClonedCodeInfo * | CodeInfo | |||
) |
CloneAndPruneFunctionInto - This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly. The effect of this is to copy significantly less code in cases where (for example) a function call with constant arguments is inlined, and those constant arguments cause a significant amount of code in the callee to be dead. Since this doesn't produce an exactly copy of the input, it can't be used for things like CloneFunction or CloneModule.
Definition at line 308 of file CloneFunction.cpp.
References llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::Function::begin(), llvm::BasicBlock::begin(), CodeInfo, E, llvm::Function::end(), llvm::BasicBlock::end(), llvm::Instruction::eraseFromParent(), llvm::UndefValue::get(), llvm::Function::getEntryBlock(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::PHINode::getNumIncomingValues(), llvm::Value::getType(), MapValue(), NewFunc, OldFunc, PI, pred_begin(), pred_end(), RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::Value::replaceAllUsesWith(), llvm::PHINode::setIncomingBlock(), and llvm::PHINode::setIncomingValue().
Referenced by InlineFunction().
BasicBlock* llvm::CloneBasicBlock | ( | const BasicBlock * | BB, | |
std::map< const Value *, Value * > & | ValueMap, | |||
const char * | NameSuffix = "" , |
|||
Function * | F = 0 , |
|||
ClonedCodeInfo * | CodeInfo = 0 | |||
) |
CloneBasicBlock - Return a copy of the specified basic block, but without embedding the block into a particular function. The block returned is an exact copy of the specified basic block, without any remapping having been performed. Because of this, this is only suitable for applications where the basic block will be inserted into the same function that it was cloned from (loop unrolling would use this, for example).
Also, note that this function makes a direct copy of the basic block, and can thus produce illegal LLVM code. In particular, it will copy any PHI nodes from the original block, even though there are no predecessors for the newly cloned block (thus, phi nodes will have to be updated). Also, this block will branch to the old successors of the original block: these successors will have to have any PHI nodes updated to account for the new incoming edges.
The correlation between instructions in the source and result basic blocks is recorded in the ValueMap map.
If you have a particular suffix you'd like to use to add to any cloned names, specify it as the optional third parameter.
If you would like the basic block to be auto-inserted into the end of a function, you can specify it as the optional fourth parameter.
If you would like to collect additional information about the cloned function, you can specify a ClonedCodeInfo object with the optional fifth parameter.
Definition at line 27 of file CloneFunction.cpp.
References AI, llvm::ISD::BasicBlock, BB, llvm::BasicBlock::begin(), CodeInfo, llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::ClonedCodeInfo::ContainsUnwinds, llvm::BasicBlock::end(), F, llvm::Function::front(), llvm::AllocationInst::getArraySize(), llvm::BasicBlock::getInstList(), llvm::TargetInstrInfo::getName(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::hasName(), II, and llvm::Value::setName().
Referenced by CloneFunctionInto(), CloneTrace(), and CloneTraceInto().
BasicBlock* llvm::CloneBasicBlock | ( | const BasicBlock * | BB, | |
std::map< const Value *, Value * > & | ValueMap, | |||
const char * | NameSuffix = "" , |
|||
Function * | F = 0 , |
|||
ClonedCodeInfo * | CodeInfo = 0 | |||
) |
CloneBasicBlock - Return a copy of the specified basic block, but without embedding the block into a particular function. The block returned is an exact copy of the specified basic block, without any remapping having been performed. Because of this, this is only suitable for applications where the basic block will be inserted into the same function that it was cloned from (loop unrolling would use this, for example).
Also, note that this function makes a direct copy of the basic block, and can thus produce illegal LLVM code. In particular, it will copy any PHI nodes from the original block, even though there are no predecessors for the newly cloned block (thus, phi nodes will have to be updated). Also, this block will branch to the old successors of the original block: these successors will have to have any PHI nodes updated to account for the new incoming edges.
The correlation between instructions in the source and result basic blocks is recorded in the ValueMap map.
If you have a particular suffix you'd like to use to add to any cloned names, specify it as the optional third parameter.
If you would like the basic block to be auto-inserted into the end of a function, you can specify it as the optional fourth parameter.
If you would like to collect additional information about the cloned function, you can specify a ClonedCodeInfo object with the optional fifth parameter.
Definition at line 27 of file CloneFunction.cpp.
References AI, llvm::ISD::BasicBlock, BB, llvm::BasicBlock::begin(), CodeInfo, llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::ClonedCodeInfo::ContainsUnwinds, llvm::BasicBlock::end(), F, llvm::Function::front(), llvm::AllocationInst::getArraySize(), llvm::BasicBlock::getInstList(), llvm::Value::getName(), llvm::TargetInstrInfo::getName(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::hasName(), II, and llvm::Value::setName().
Referenced by CloneFunctionInto(), CloneTrace(), and CloneTraceInto().
Function* llvm::CloneFunction | ( | const Function * | F, | |
std::map< const Value *, Value * > & | ValueMap, | |||
ClonedCodeInfo * | CodeInfo | |||
) |
CloneFunction - Return a copy of the specified function, but without embedding the function into another module. Also, any references specified in the ValueMap are changed to refer to their mapped value instead of the original one. If any of the arguments to the function are in the ValueMap, the arguments are deleted from the resultant function. The ValueMap is updated to include mappings from all of the instructions and basicblocks in the function from their old to new values.
Definition at line 114 of file CloneFunction.cpp.
References CloneFunctionInto(), CodeInfo, E, F, llvm::FunctionType::get(), and Returns.
Referenced by CloneFunction().
Function* llvm::CloneFunction | ( | const Function * | F, | |
ClonedCodeInfo * | CodeInfo = 0 | |||
) | [inline] |
Function* llvm::CloneFunction | ( | const Function * | F, | |
std::map< const Value *, Value * > & | ValueMap, | |||
ClonedCodeInfo * | CodeInfo | |||
) |
CloneFunction - Return a copy of the specified function, but without embedding the function into another module. Also, any references specified in the ValueMap are changed to refer to their mapped value instead of the original one. If any of the arguments to the function are in the ValueMap, the arguments are deleted from the resultant function. The ValueMap is updated to include mappings from all of the instructions and basicblocks in the function from their old to new values.
Definition at line 114 of file CloneFunction.cpp.
References CloneFunctionInto(), CodeInfo, E, F, llvm::FunctionType::get(), and Returns.
Referenced by CloneFunction().
void llvm::CloneFunctionInto | ( | Function * | NewFunc, | |
const Function * | OldFunc, | |||
std::map< const Value *, Value * > & | ValueMap, | |||
std::vector< ReturnInst * > & | Returns, | |||
const char * | NameSuffix = "" , |
|||
ClonedCodeInfo * | CodeInfo = 0 | |||
) |
Clone OldFunc into NewFunc, transforming the old arguments into references to ArgMap values. Note that if NewFunc already has basic blocks, the ones cloned into it will be added to the end of the function. This function fills in a list of return instructions, and can optionally append the specified suffix to all values cloned.
Definition at line 67 of file CloneFunction.cpp.
References llvm::Function::arg_begin(), llvm::Function::arg_end(), BB, llvm::BasicBlock::begin(), llvm::Function::begin(), CloneBasicBlock(), CodeInfo, E, llvm::BasicBlock::end(), llvm::Function::end(), llvm::BasicBlock::getTerminator(), II, NewFunc, OldFunc, and RemapInstruction().
Referenced by CloneFunction(), and CloneModule().
void llvm::CloneFunctionInto | ( | Function * | NewFunc, | |
const Function * | OldFunc, | |||
std::map< const Value *, Value * > & | ValueMap, | |||
std::vector< ReturnInst * > & | Returns, | |||
const char * | NameSuffix = "" , |
|||
ClonedCodeInfo * | CodeInfo = 0 | |||
) |
Clone OldFunc into NewFunc, transforming the old arguments into references to ArgMap values. Note that if NewFunc already has basic blocks, the ones cloned into it will be added to the end of the function. This function fills in a list of return instructions, and can optionally append the specified suffix to all values cloned.
Definition at line 67 of file CloneFunction.cpp.
References llvm::Function::arg_begin(), llvm::Function::arg_end(), BB, llvm::Function::begin(), llvm::BasicBlock::begin(), CloneBasicBlock(), CodeInfo, E, llvm::Function::end(), llvm::BasicBlock::end(), llvm::BasicBlock::getTerminator(), II, NewFunc, OldFunc, and RemapInstruction().
Referenced by CloneFunction(), and CloneModule().
Definition at line 36 of file CloneModule.cpp.
References llvm::Module::addLibrary(), llvm::Module::addTypeName(), llvm::Module::begin(), CloneFunctionInto(), E, llvm::Module::end(), llvm::GlobalValue::ExternalLinkage, F, llvm::Module::getEndianness(), llvm::Module::getModuleIdentifier(), llvm::Module::getModuleInlineAsm(), llvm::Module::getPointerSize(), llvm::Module::getSymbolTable(), llvm::Module::getTargetTriple(), llvm::Module::global_begin(), llvm::Module::global_end(), GV, llvm::Module::lib_begin(), llvm::Module::lib_end(), M, MapValue(), Returns, llvm::Module::setEndianness(), llvm::GlobalValue::setLinkage(), llvm::Module::setModuleInlineAsm(), llvm::Module::setPointerSize(), llvm::Module::setTargetTriple(), llvm::SymbolTable::type_begin(), and llvm::SymbolTable::type_end().
CloneModule - Return an exact copy of the specified module. This is not as easy as it might seem because we have to worry about making copies of global variables and functions, and making their (initializers and references, respectively) refer to the right globals.
Definition at line 28 of file CloneModule.cpp.
References CloneModule(), and M.
Definition at line 36 of file CloneModule.cpp.
References llvm::Module::addLibrary(), llvm::Module::addTypeName(), llvm::Module::begin(), CloneFunctionInto(), E, llvm::Module::end(), llvm::GlobalValue::ExternalLinkage, F, llvm::Module::getEndianness(), llvm::Module::getModuleIdentifier(), llvm::Module::getModuleInlineAsm(), llvm::Module::getPointerSize(), llvm::Module::getSymbolTable(), llvm::Module::getTargetTriple(), llvm::Module::global_begin(), llvm::Module::global_end(), GV, llvm::Module::lib_begin(), llvm::Module::lib_end(), M, MapValue(), Returns, llvm::Module::setEndianness(), llvm::GlobalValue::setLinkage(), llvm::Module::setModuleInlineAsm(), llvm::Module::setPointerSize(), llvm::Module::setTargetTriple(), llvm::SymbolTable::type_begin(), and llvm::SymbolTable::type_end().
CloneModule - Return an exact copy of the specified module. This is not as easy as it might seem because we have to worry about making copies of global variables and functions, and making their (initializers and references, respectively) refer to the right globals.
Definition at line 28 of file CloneModule.cpp.
Referenced by CloneModule().
std::vector<BasicBlock *> llvm::CloneTrace | ( | const std::vector< BasicBlock * > & | origTrace | ) |
CloneTrace - Returns a copy of the specified trace. It takes a vector of basic blocks clones the basic blocks, removes internal phi nodes, adds it to the same function as the original (although there is no jump to it) and returns the new vector of basic blocks.
Definition at line 27 of file CloneTrace.cpp.
References BB, llvm::BasicBlock::begin(), CloneBasicBlock(), E, Op, T, and V.
std::vector<BasicBlock *> llvm::CloneTrace | ( | const std::vector< BasicBlock * > & | origTrace | ) |
CloneTrace - Returns a copy of the specified trace. It takes a vector of basic blocks clones the basic blocks, removes internal phi nodes, adds it to the same function as the original (although there is no jump to it) and returns the new vector of basic blocks.
Definition at line 27 of file CloneTrace.cpp.
References BB, llvm::BasicBlock::begin(), CloneBasicBlock(), E, Op, T, and V.
void llvm::CloneTraceInto | ( | Function * | NewFunc, | |
Trace & | T, | |||
std::map< const Value *, Value * > & | ValueMap, | |||
const char * | NameSuffix | |||
) |
CloneTraceInto - Clone T into NewFunc. Original<->clone mapping is saved in ValueMap.
Definition at line 94 of file CloneTrace.cpp.
References BB, llvm::BasicBlock::begin(), CloneBasicBlock(), llvm::BasicBlock::end(), llvm::Function::end(), II, NewFunc, RemapInstruction(), and T.
void llvm::CloneTraceInto | ( | Function * | NewFunc, | |
Trace & | T, | |||
std::map< const Value *, Value * > & | ValueMap, | |||
const char * | NameSuffix | |||
) |
CloneTraceInto - Clone T into NewFunc. Original<->clone mapping is saved in ValueMap.
Definition at line 94 of file CloneTrace.cpp.
References BB, llvm::BasicBlock::begin(), CloneBasicBlock(), llvm::Function::end(), llvm::BasicBlock::end(), II, NewFunc, RemapInstruction(), and T.
constant_iterator llvm::constant_begin | ( | const Function * | F | ) | [inline] |
Definition at line 84 of file ConstantsScanner.h.
References F.
Referenced by llvm::SlotCalculator::incorporateFunction().
constant_iterator llvm::constant_end | ( | const Function * | F | ) | [inline] |
Definition at line 88 of file ConstantsScanner.h.
References F.
Referenced by llvm::SlotCalculator::incorporateFunction().
Constant * llvm::ConstantFoldBinaryInstruction | ( | unsigned | Opcode, | |
const Constant * | V1, | |||
const Constant * | V2 | |||
) |
Definition at line 1179 of file VMCore/ConstantFolding.cpp.
References llvm::Type::BoolTy, C, llvm::Instruction::Cast, evaluateRelation(), llvm::ConstantBool::False, llvm::ConstantBool::get(), llvm::UndefValue::get(), llvm::ConstantIntegral::getAllOnesValue(), llvm::ConstantExpr::getNot(), llvm::Constant::getNullValue(), llvm::SetCondInst::getSwappedCondition(), llvm::Instruction::isRelational(), llvm::Instruction::Shl, and llvm::ConstantBool::True.
Referenced by llvm::ConstantExpr::getShiftTy(), and llvm::ConstantExpr::getTy().
ConstantFoldCall - Attempt to constant fold a call to the specified function with the specified arguments, returning null if unsuccessful.
Definition at line 100 of file Analysis/ConstantFolding.cpp.
References ByteSwap_16(), ByteSwap_32(), ByteSwap_64(), ConstantFoldFP(), F, llvm::ConstantBool::get(), llvm::ConstantUInt::get(), llvm::ConstantFP::get(), IsNAN(), Name, Op, Ty, and V.
Referenced by ConstantFold(), ConstantFoldInstOperands(), and EvaluateFunction().
ConstantFoldCall - Attempt to constant fold a call to the specified function with the specified arguments, returning null if unsuccessful.
Definition at line 100 of file Analysis/ConstantFolding.cpp.
References ByteSwap_16(), ByteSwap_32(), ByteSwap_64(), ConstantFoldFP(), F, llvm::ConstantFP::get(), llvm::ConstantUInt::get(), llvm::ConstantBool::get(), IsNAN(), Name, Op, Ty, and V.
Referenced by ConstantFold(), ConstantFoldInstOperands(), and EvaluateFunction().
Definition at line 722 of file VMCore/ConstantFolding.cpp.
References llvm::Type::BoolTy, llvm::Type::BoolTyID, llvm::Instruction::Cast, CastConstantPacked(), CP, llvm::Type::DoubleTyID, llvm::Type::FloatTyID, llvm::UndefValue::get(), llvm::ConstantExpr::getCast(), llvm::SequentialType::getElementType(), llvm::ConstantExpr::getGetElementPtr(), llvm::Constant::getNullValue(), llvm::User::getNumOperands(), llvm::Constant::getOperand(), getSize(), GV, llvm::Type::IntTy, llvm::Type::IntTyID, llvm::Type::isFloatingPoint(), llvm::Type::LongTyID, Op, llvm::Type::PointerTyID, llvm::Type::SByteTyID, llvm::Type::ShortTyID, llvm::ConstantBool::True, llvm::Type::UByteTyID, llvm::Type::UIntTy, llvm::Type::UIntTyID, llvm::Type::ULongTyID, llvm::Type::UShortTyID, and V.
Referenced by llvm::ConstantExpr::getCast().
Constant * llvm::ConstantFoldExtractElementInstruction | ( | const Constant * | Val, | |
const Constant * | Idx | |||
) |
Definition at line 857 of file VMCore/ConstantFolding.cpp.
References llvm::UndefValue::get(), llvm::Constant::getNullValue(), Idx, and Val.
Referenced by llvm::ConstantExpr::getExtractElementTy().
ConstantFoldFP - Given a function that evaluates the constant, return an LLVM Constant that represents the evaluated constant
Definition at line 89 of file Analysis/ConstantFolding.cpp.
References llvm::ConstantFP::get(), and Ty.
Referenced by ConstantFoldCall().
ConstantFoldFP - Given a function that evaluates the constant, return an LLVM Constant that represents the evaluated constant
Definition at line 89 of file Analysis/ConstantFolding.cpp.
References llvm::ConstantFP::get(), and Ty.
Referenced by ConstantFoldCall().
Constant * llvm::ConstantFoldGetElementPtr | ( | const Constant * | C, | |
const std::vector< Value * > & | IdxList | |||
) |
Definition at line 1392 of file VMCore/ConstantFolding.cpp.
References C, llvm::Instruction::Cast, E, gep_type_begin(), gep_type_end(), llvm::ConstantExpr::get(), llvm::ConstantUInt::get(), llvm::ConstantPointerNull::get(), llvm::PointerType::get(), llvm::UndefValue::get(), llvm::ConstantExpr::getCast(), llvm::ConstantExpr::getGetElementPtr(), llvm::GetElementPtrInst::getIndexedType(), llvm::ConstantExpr::getMul(), llvm::Constant::getOperand(), llvm::Value::getType(), llvm::Constant::isNullValue(), llvm::Type::LongTy, R, Ty, and llvm::Type::UIntTy.
Referenced by llvm::ConstantExpr::getGetElementPtrTy().
Constant * llvm::ConstantFoldInsertElementInstruction | ( | const Constant * | Val, | |
const Constant * | Elt, | |||
const Constant * | Idx | |||
) |
Definition at line 876 of file VMCore/ConstantFolding.cpp.
References llvm::ConstantPacked::get(), llvm::UndefValue::get(), llvm::Constant::getNullValue(), llvm::Value::getType(), llvm::ConstantUInt::getValue(), Idx, llvm::Constant::isNullValue(), Op, Ops, and Val.
Referenced by llvm::ConstantExpr::getInsertElementTy().
Constant* llvm::ConstantFoldInstOperands | ( | unsigned | Opc, | |
const Type * | DestTy, | |||
const std::vector< Constant * > & | Ops | |||
) |
ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified opcode and operands. If successful, the constant result is returned, if not, null is returned. Note that this function can fail when attempting to fold instructions like loads and stores, which have no constant expression form.
Definition at line 107 of file Transforms/Utils/Local.cpp.
References llvm::Instruction::Call, canConstantFoldCallTo(), llvm::Instruction::Cast, ConstantFoldCall(), llvm::Instruction::ExtractElement, F, llvm::ConstantExpr::get(), llvm::ConstantExpr::getCast(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getInsertElement(), llvm::ConstantExpr::getSelect(), llvm::ConstantExpr::getShuffleVector(), llvm::Instruction::InsertElement, llvm::Instruction::Select, llvm::Instruction::Shl, and llvm::Instruction::ShuffleVector.
Referenced by ConstantFoldInstruction().
Constant* llvm::ConstantFoldInstOperands | ( | unsigned | Opc, | |
const Type * | DestTy, | |||
const std::vector< Constant * > & | Ops | |||
) |
ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified opcode and operands. If successful, the constant result is returned, if not, null is returned. Note that this function can fail when attempting to fold instructions like loads and stores, which have no constant expression form.
Definition at line 107 of file Transforms/Utils/Local.cpp.
References llvm::Instruction::Call, canConstantFoldCallTo(), llvm::Instruction::Cast, ConstantFoldCall(), llvm::Instruction::ExtractElement, F, llvm::ConstantExpr::get(), llvm::ConstantExpr::getCast(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getInsertElement(), llvm::ConstantExpr::getSelect(), llvm::ConstantExpr::getShuffleVector(), llvm::Instruction::InsertElement, llvm::Instruction::Select, llvm::Instruction::Shl, and llvm::Instruction::ShuffleVector.
Referenced by ConstantFoldInstruction().
Constant* llvm::ConstantFoldInstruction | ( | Instruction * | I | ) |
ConstantFoldInstruction - Attempt to constant fold the specified instruction. If successful, the constant result is returned, if not, null is returned. Note that this function can only fail when attempting to fold instructions like loads and stores, which have no constant expression form.
Definition at line 52 of file Transforms/Utils/Local.cpp.
References ConstantFoldInstOperands(), llvm::ConstantExpr::get(), llvm::Constant::getNullValue(), Op, and Ops.
Referenced by AddReachableCodeToWorklist(), CleanupConstantGlobalUsers(), ConstantPropUsersOf(), doConstantPropagation(), and FoldCondBranchOnPHI().
Constant* llvm::ConstantFoldInstruction | ( | Instruction * | I | ) |
ConstantFoldInstruction - Attempt to constant fold the specified instruction. If successful, the constant result is returned, if not, null is returned. Note that this function can only fail when attempting to fold instructions like loads and stores, which have no constant expression form.
Definition at line 52 of file Transforms/Utils/Local.cpp.
References ConstantFoldInstOperands(), llvm::ConstantExpr::get(), llvm::Constant::getNullValue(), Op, and Ops.
Referenced by AddReachableCodeToWorklist(), CleanupConstantGlobalUsers(), ConstantPropUsersOf(), doConstantPropagation(), and FoldCondBranchOnPHI().
Constant* llvm::ConstantFoldLoadThroughGEPConstantExpr | ( | Constant * | C, | |
ConstantExpr * | CE | |||
) |
ConstantFoldLoadThroughGEPConstantExpr - Given a constant and a getelementptr constantexpr, return the constant value being addressed by the constant expression, or null if something is funny and we can't decide.
Definition at line 265 of file Transforms/Utils/Local.cpp.
References C, CP, E, gep_type_begin(), gep_type_end(), llvm::UndefValue::get(), llvm::Constant::getNullValue(), llvm::Constant::getOperand(), llvm::ConstantExpr::getOperand(), and llvm::Value::getType().
Referenced by CleanupConstantGlobalUsers(), ComputeLoadResult(), and isSimpleEnoughPointerToCommit().
Constant* llvm::ConstantFoldLoadThroughGEPConstantExpr | ( | Constant * | C, | |
ConstantExpr * | CE | |||
) |
ConstantFoldLoadThroughGEPConstantExpr - Given a constant and a getelementptr constantexpr, return the constant value being addressed by the constant expression, or null if something is funny and we can't decide.
Definition at line 265 of file Transforms/Utils/Local.cpp.
References C, CP, E, gep_type_begin(), gep_type_end(), llvm::UndefValue::get(), llvm::Constant::getNullValue(), llvm::ConstantExpr::getOperand(), llvm::Constant::getOperand(), and llvm::Value::getType().
Referenced by CleanupConstantGlobalUsers(), ComputeLoadResult(), and isSimpleEnoughPointerToCommit().
Constant * llvm::ConstantFoldSelectInstruction | ( | const Constant * | Cond, | |
const Constant * | V1, | |||
const Constant * | V2 | |||
) |
Definition at line 842 of file VMCore/ConstantFolding.cpp.
References llvm::ConstantBool::False, and llvm::ConstantBool::True.
Referenced by llvm::ConstantExpr::getSelectTy().
Constant * llvm::ConstantFoldShuffleVectorInstruction | ( | const Constant * | V1, | |
const Constant * | V2, | |||
const Constant * | Mask | |||
) |
Definition at line 933 of file VMCore/ConstantFolding.cpp.
Referenced by llvm::ConstantExpr::getShuffleVectorTy().
bool llvm::ConstantFoldTerminator | ( | BasicBlock * | BB | ) |
ConstantFoldTerminator - If a terminator instruction is predicated on a constant value, convert it into an unconditional branch to the constant destination. This is a nontrivial operation because the successors of this basic block must have their PHI nodes updated.
Definition at line 146 of file Transforms/Utils/Local.cpp.
References BB, llvm::BasicBlock::getInstList(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::removePredecessor(), and T.
Referenced by MarkAliveBlocks(), and SimplifyCFG().
bool llvm::ConstantFoldTerminator | ( | BasicBlock * | BB | ) |
ConstantFoldTerminator - If a terminator instruction is predicated on a constant value, convert it into an unconditional branch to the constant destination. This is a nontrivial operation because the successors of this basic block must have their PHI nodes updated.
Definition at line 146 of file Transforms/Utils/Local.cpp.
References BB, llvm::BasicBlock::getInstList(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::removePredecessor(), and T.
Referenced by MarkAliveBlocks(), and SimplifyCFG().
Value * llvm::ConvertExpressionToType | ( | Value * | V, | |
const Type * | Ty, | |||
ValueMapCache & | VMC, | |||
const TargetData & | TD | |||
) |
Definition at line 192 of file ExprTypeConvert.cpp.
References BaseType, BB, llvm::Instruction::Call, llvm::Instruction::Cast, ConvertOperandToType(), llvm::BinaryOperator::create(), DEBUG, llvm::ValueMapCache::ExprMap, llvm::FunctionType::get(), llvm::PointerType::get(), llvm::ConstantExpr::getCast(), llvm::SequentialType::getElementType(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::GetElementPtrInst::getIndexedType(), llvm::BasicBlock::getInstList(), llvm::Value::getName(), llvm::Constant::getNullValue(), llvm::User::getNumOperands(), llvm::Value::getNumUses(), llvm::Instruction::getOpcode(), llvm::Constant::getOperand(), llvm::User::getOperand(), llvm::Instruction::getParent(), llvm::GetElementPtrInst::getPointerOperand(), llvm::Value::getType(), llvm::GetElementPtrInst::idx_begin(), llvm::GetElementPtrInst::idx_end(), LI, llvm::Instruction::Load, Name, llvm::ValueMapCache::NewCasts, llvm::Instruction::PHI, llvm::PHINode::removeIncomingValue(), llvm::Value::setName(), llvm::User::setOperand(), llvm::Instruction::Shl, TD, Ty, llvm::Value::use_begin(), V, and llvm::Type::VoidTy.
Referenced by ConvertOperandToType().
void llvm::ConvertValueToNewType | ( | Value * | V, | |
Value * | NewVal, | |||
ValueMapCache & | VMC, | |||
const TargetData & | TD | |||
) |
Definition at line 669 of file ExprTypeConvert.cpp.
References ConvertOperandToType(), TD, and V.
Referenced by ConvertOperandToType().
unsigned llvm::CountLeadingZeros_32 | ( | unsigned | Value | ) | [inline] |
Definition at line 125 of file MathExtras.h.
Referenced by CountLeadingZeros_64(), CountTrailingZeros_32(), llvm::SelectionDAG::getNode(), isRunOfOnes(), Log2_32(), and Log2_32_Ceil().
unsigned llvm::CountLeadingZeros_64 | ( | uint64_t | Value | ) | [inline] |
Definition at line 153 of file MathExtras.h.
References CountLeadingZeros_32(), SPISD::Hi, Hi_32(), SPISD::Lo, and Lo_32().
Referenced by llvm::TargetLowering::ComputeMaskedBits(), llvm::TargetLowering::ComputeNumSignBits(), CountTrailingZeros_64(), llvm::SelectionDAG::getNode(), isRunOfOnes(), Log2_64(), and Log2_64_Ceil().
unsigned llvm::CountPopulation_32 | ( | unsigned | Value | ) | [inline] |
Definition at line 212 of file MathExtras.h.
Referenced by CountPopulation_64(), and llvm::SelectionDAG::getNode().
unsigned llvm::CountPopulation_64 | ( | uint64_t | Value | ) | [inline] |
Definition at line 225 of file MathExtras.h.
References CountPopulation_32().
Referenced by llvm::SelectionDAG::getNode().
unsigned llvm::CountTrailingZeros_32 | ( | unsigned | Value | ) | [inline] |
Definition at line 197 of file MathExtras.h.
References CountLeadingZeros_32().
Referenced by llvm::SelectionDAG::getNode().
unsigned llvm::CountTrailingZeros_64 | ( | uint64_t | Value | ) | [inline] |
Definition at line 205 of file MathExtras.h.
References CountLeadingZeros_64().
Referenced by llvm::TargetLowering::ComputeMaskedBits(), GetFactor(), and llvm::SelectionDAG::getNode().
FunctionPass* llvm::createAAEvalPass | ( | ) |
Definition at line 77 of file AliasAnalysisEvaluator.cpp.
FunctionPass* llvm::createAAEvalPass | ( | ) |
Definition at line 77 of file AliasAnalysisEvaluator.cpp.
FunctionPass* llvm::createAggressiveDCEPass | ( | ) |
FunctionPass* llvm::createAggressiveDCEPass | ( | ) |
ModulePass* llvm::createAliasAnalysisCounterPass | ( | ) |
Definition at line 117 of file AliasAnalysisCounter.cpp.
ModulePass* llvm::createAliasAnalysisCounterPass | ( | ) |
Definition at line 117 of file AliasAnalysisCounter.cpp.
FunctionPass* llvm::createAlphaCodeEmitterPass | ( | AlphaTargetMachine & | TM, | |
MachineCodeEmitter & | MCE | |||
) |
createAlphaCodeEmitterPass - Return a pass that emits the collected Alpha code to the specified MCE object.
Definition at line 73 of file AlphaCodeEmitter.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitMachineCode().
FunctionPass* llvm::createAlphaCodeEmitterPass | ( | AlphaTargetMachine & | TM, | |
MachineCodeEmitter & | MCE | |||
) |
createAlphaCodeEmitterPass - Return a pass that emits the collected Alpha code to the specified MCE object.
Definition at line 73 of file AlphaCodeEmitter.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitMachineCode().
FunctionPass* llvm::createAlphaCodePrinterPass | ( | std::ostream & | o, | |
TargetMachine & | tm | |||
) |
createAlphaCodePrinterPass - Returns a pass that prints the Alpha assembly code for a MachineFunction to the given output stream, using the given target machine description. This should work regardless of whether the function is in SSA form.
Definition at line 77 of file AlphaAsmPrinter.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createAlphaCodePrinterPass | ( | std::ostream & | o, | |
TargetMachine & | tm | |||
) |
createAlphaCodePrinterPass - Returns a pass that prints the Alpha assembly code for a MachineFunction to the given output stream, using the given target machine description. This should work regardless of whether the function is in SSA form.
Definition at line 77 of file AlphaAsmPrinter.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createAlphaISelDag | ( | TargetMachine & | TM | ) |
createAlphaISelDag - This pass converts a legalized DAG into a Alpha-specific DAG, ready for instruction scheduling.
Definition at line 515 of file AlphaISelDAGToDAG.cpp.
References TM.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createAlphaISelDag | ( | TargetMachine & | TM | ) |
createAlphaISelDag - This pass converts a legalized DAG into a Alpha-specific DAG, ready for instruction scheduling.
Definition at line 515 of file AlphaISelDAGToDAG.cpp.
References TM.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createAlphaPatternInstructionSelector | ( | TargetMachine & | TM | ) |
FunctionPass* llvm::createAlphaSimpleInstructionSelector | ( | TargetMachine & | TM | ) |
ModulePass* llvm::createAndersensPass | ( | ) |
Definition at line 344 of file Andersens.cpp.
ModulePass* llvm::createAndersensPass | ( | ) |
Definition at line 344 of file Andersens.cpp.
ModulePass* llvm::createArgumentPromotionPass | ( | ) |
createArgumentPromotionPass - This pass promotes "by reference" arguments to be passed by value.
Definition at line 79 of file ArgumentPromotion.cpp.
ModulePass* llvm::createArgumentPromotionPass | ( | ) |
createArgumentPromotionPass - This pass promotes "by reference" arguments to be passed by value.
Definition at line 79 of file ArgumentPromotion.cpp.
FunctionPass* llvm::createARMCodePrinterPass | ( | std::ostream & | o, | |
TargetMachine & | tm | |||
) |
createARMCodePrinterPass - Returns a pass that prints the ARM assembly code for a MachineFunction to the given output stream, using the given target machine description. This should work regardless of whether the function is in SSA form.
Definition at line 86 of file ARMAsmPrinter.cpp.
Referenced by llvm::ARMTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createARMCodePrinterPass | ( | std::ostream & | o, | |
TargetMachine & | tm | |||
) |
createARMCodePrinterPass - Returns a pass that prints the ARM assembly code for a MachineFunction to the given output stream, using the given target machine description. This should work regardless of whether the function is in SSA form.
Definition at line 86 of file ARMAsmPrinter.cpp.
Referenced by llvm::ARMTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createARMISelDag | ( | TargetMachine & | TM | ) |
createARMISelDag - This pass converts a legalized DAG into a ARM-specific DAG, ready for instruction scheduling.
Definition at line 321 of file ARMISelDAGToDAG.cpp.
References TM.
Referenced by llvm::ARMTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createARMISelDag | ( | TargetMachine & | TM | ) |
createARMISelDag - This pass converts a legalized DAG into a ARM-specific DAG, ready for instruction scheduling.
Definition at line 321 of file ARMISelDAGToDAG.cpp.
References TM.
Referenced by llvm::ARMTargetMachine::addPassesToEmitFile().
ImmutablePass* llvm::createBasicAliasAnalysisPass | ( | ) |
Definition at line 127 of file BasicAliasAnalysis.cpp.
ImmutablePass* llvm::createBasicAliasAnalysisPass | ( | ) |
Definition at line 127 of file BasicAliasAnalysis.cpp.
ImmutablePass* llvm::createBasicVNPass | ( | ) |
Definition at line 94 of file ValueNumbering.cpp.
ImmutablePass* llvm::createBasicVNPass | ( | ) |
Definition at line 94 of file ValueNumbering.cpp.
llvm::ScheduleDAG* llvm::createBFS_DAGScheduler | ( | SelectionDAG & | DAG, | |
MachineBasicBlock * | BB | |||
) |
Definition at line 1112 of file ScheduleDAGSimple.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
ScheduleDAG* llvm::createBFS_DAGScheduler | ( | SelectionDAG & | DAG, | |
MachineBasicBlock * | BB | |||
) |
Definition at line 1112 of file ScheduleDAGSimple.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
ModulePass* llvm::createBlockExtractorPass | ( | std::vector< BasicBlock * > & | BTNE | ) |
Definition at line 158 of file LoopExtractor.cpp.
ModulePass* llvm::createBlockExtractorPass | ( | std::vector< BasicBlock * > & | BTNE | ) |
Definition at line 158 of file LoopExtractor.cpp.
FunctionPass* llvm::createBlockPlacementPass | ( | ) |
Definition at line 75 of file BasicBlockPlacement.cpp.
FunctionPass* llvm::createBlockPlacementPass | ( | ) |
Definition at line 75 of file BasicBlockPlacement.cpp.
ModulePass* llvm::createBlockProfilerPass | ( | ) |
Definition at line 89 of file BlockProfiling.cpp.
ModulePass* llvm::createBlockProfilerPass | ( | ) |
Definition at line 89 of file BlockProfiling.cpp.
FunctionPass* llvm::createBranchFoldingPass | ( | ) |
BranchFolding Pass - This pass performs machine code CFG based optimizations to delete branches to branches, eliminate branches to successor blocks (creating fall throughs), and eliminating branches over branches.
Definition at line 43 of file BranchFolding.cpp.
FunctionPass* llvm::createBranchFoldingPass | ( | ) |
BranchFolding Pass - This pass performs machine code CFG based optimizations to delete branches to branches, eliminate branches to successor blocks (creating fall throughs), and eliminating branches over branches.
Definition at line 43 of file BranchFolding.cpp.
FunctionPass* llvm::createBreakCriticalEdgesPass | ( | ) |
Definition at line 56 of file BreakCriticalEdges.cpp.
FunctionPass* llvm::createBreakCriticalEdgesPass | ( | ) |
Definition at line 56 of file BreakCriticalEdges.cpp.
llvm::ScheduleDAG* llvm::createBURRListDAGScheduler | ( | SelectionDAG & | DAG, | |
MachineBasicBlock * | BB | |||
) |
createBURRListDAGScheduler - This creates a bottom up register usage reduction list scheduler.
Definition at line 879 of file ScheduleDAGRRList.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
ScheduleDAG* llvm::createBURRListDAGScheduler | ( | SelectionDAG & | DAG, | |
MachineBasicBlock * | BB | |||
) |
createBURRListDAGScheduler - This creates a bottom up register usage reduction list scheduler.
Definition at line 879 of file ScheduleDAGRRList.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
BytecodeHandler * llvm::createBytecodeAnalyzerHandler | ( | BytecodeAnalysis & | bca, | |
std::ostream * | output | |||
) |
A function for creating a BytecodeAnalzer as a handler for the Bytecode reader.
Definition at line 717 of file Analyzer.cpp.
References bca.
Referenced by AnalyzeBytecodeBuffer(), and AnalyzeBytecodeFile().
FunctionPass* llvm::createCFGOnlyPrinterPass | ( | ) |
Definition at line 159 of file CFGPrinter.cpp.
FunctionPass* llvm::createCFGOnlyPrinterPass | ( | ) |
Definition at line 159 of file CFGPrinter.cpp.
FunctionPass* llvm::createCFGPrinterPass | ( | ) |
Definition at line 155 of file CFGPrinter.cpp.
FunctionPass* llvm::createCFGPrinterPass | ( | ) |
Definition at line 155 of file CFGPrinter.cpp.
FunctionPass* llvm::createCFGSimplificationPass | ( | ) |
Definition at line 42 of file Scalar/SimplifyCFG.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::CTargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), and llvm::PPCJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createCFGSimplificationPass | ( | ) |
Definition at line 42 of file Scalar/SimplifyCFG.cpp.
Referenced by llvm::CTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createCombineBranchesPass | ( | ) |
FunctionPass* llvm::createCondPropagationPass | ( | ) |
Definition at line 52 of file CondPropagate.cpp.
FunctionPass* llvm::createCondPropagationPass | ( | ) |
Definition at line 52 of file CondPropagate.cpp.
ModulePass* llvm::createConstantMergePass | ( | ) |
createConstantMergePass - This function returns a new pass that merges duplicate global constants together into a single constant that is shared. This is useful because some passes (ie TraceValues) insert a lot of string constants into the program, regardless of whether or not they duplicate an existing string.
Definition at line 39 of file ConstantMerge.cpp.
ModulePass* llvm::createConstantMergePass | ( | ) |
createConstantMergePass - This function returns a new pass that merges duplicate global constants together into a single constant that is shared. This is useful because some passes (ie TraceValues) insert a lot of string constants into the program, regardless of whether or not they duplicate an existing string.
Definition at line 39 of file ConstantMerge.cpp.
FunctionPass* llvm::createConstantPropagationPass | ( | ) |
Definition at line 45 of file ConstantProp.cpp.
FunctionPass* llvm::createConstantPropagationPass | ( | ) |
Definition at line 45 of file ConstantProp.cpp.
FunctionPass* llvm::createCorrelatedExpressionEliminationPass | ( | ) |
Definition at line 292 of file CorrelatedExprs.cpp.
FunctionPass* llvm::createCorrelatedExpressionEliminationPass | ( | ) |
Definition at line 292 of file CorrelatedExprs.cpp.
FunctionPass* llvm::createDarwinAsmPrinter | ( | std::ostream & | o, | |
PPCTargetMachine & | tm | |||
) |
createDarwinAsmPrinterPass - Returns a pass that prints the PPC assembly code for a MachineFunction to the given output stream, in a format that the Darwin assembler can deal with.
Definition at line 315 of file PPCAsmPrinter.cpp.
Referenced by llvm::PPCTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createDarwinAsmPrinter | ( | std::ostream & | o, | |
PPCTargetMachine & | tm | |||
) |
createDarwinAsmPrinterPass - Returns a pass that prints the PPC assembly code for a MachineFunction to the given output stream, in a format that the Darwin assembler can deal with.
Definition at line 315 of file PPCAsmPrinter.cpp.
Referenced by llvm::PPCTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createDataStructureGraphCheckerPass | ( | ) |
Definition at line 80 of file GraphChecker.cpp.
FunctionPass* llvm::createDataStructureGraphCheckerPass | ( | ) |
Definition at line 80 of file GraphChecker.cpp.
FunctionPass* llvm::createDataStructureStatsPass | ( | ) |
Definition at line 66 of file DataStructureStats.cpp.
FunctionPass* llvm::createDataStructureStatsPass | ( | ) |
Definition at line 66 of file DataStructureStats.cpp.
ModulePass* llvm::createDeadArgEliminationPass | ( | ) |
createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the body of the function.
Definition at line 111 of file DeadArgumentElimination.cpp.
ModulePass* llvm::createDeadArgEliminationPass | ( | ) |
createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the body of the function.
Definition at line 111 of file DeadArgumentElimination.cpp.
ModulePass* llvm::createDeadArgHackingPass | ( | ) |
DeadArgHacking pass - Same as DAE, but delete arguments of external functions as well. This is definitely not safe, and should only be used by bugpoint.
Definition at line 112 of file DeadArgumentElimination.cpp.
ModulePass* llvm::createDeadArgHackingPass | ( | ) |
DeadArgHacking pass - Same as DAE, but delete arguments of external functions as well. This is definitely not safe, and should only be used by bugpoint.
Definition at line 112 of file DeadArgumentElimination.cpp.
FunctionPass* llvm::createDeadCodeEliminationPass | ( | ) |
FunctionPass* llvm::createDeadCodeEliminationPass | ( | ) |
FunctionPass* llvm::createDeadInstEliminationPass | ( | ) |
FunctionPass* llvm::createDeadInstEliminationPass | ( | ) |
FunctionPass* llvm::createDeadStoreEliminationPass | ( | ) |
Definition at line 60 of file DeadStoreElimination.cpp.
FunctionPass* llvm::createDeadStoreEliminationPass | ( | ) |
Definition at line 60 of file DeadStoreElimination.cpp.
ModulePass* llvm::createDeadTypeEliminationPass | ( | ) |
createDeadTypeEliminationPass - Return a new pass that eliminates symbol table entries for types that are never used.
Definition at line 44 of file DeadTypeElimination.cpp.
ModulePass* llvm::createDeadTypeEliminationPass | ( | ) |
createDeadTypeEliminationPass - Return a new pass that eliminates symbol table entries for types that are never used.
Definition at line 44 of file DeadTypeElimination.cpp.
FunctionPass* llvm::createDemoteRegisterToMemoryPass | ( | ) |
Definition at line 85 of file Reg2Mem.cpp.
FunctionPass* llvm::createDemoteRegisterToMemoryPass | ( | ) |
Definition at line 85 of file Reg2Mem.cpp.
ModulePass* llvm::createDSAAPass | ( | ) |
Definition at line 105 of file DataStructureAA.cpp.
ModulePass* llvm::createDSAAPass | ( | ) |
Definition at line 105 of file DataStructureAA.cpp.
ModulePass* llvm::createDSOptPass | ( | ) |
Definition at line 53 of file DataStructureOpt.cpp.
ModulePass* llvm::createDSOptPass | ( | ) |
Definition at line 53 of file DataStructureOpt.cpp.
ModulePass* llvm::createEdgeProfilerPass | ( | ) |
Definition at line 40 of file EdgeProfiling.cpp.
ModulePass* llvm::createEdgeProfilerPass | ( | ) |
Definition at line 40 of file EdgeProfiling.cpp.
ModulePass * llvm::createEmitFunctionTablePass | ( | ) |
Definition at line 121 of file EmitFunctions.cpp.
FunctionPass* llvm::createEmitX86CodeToMemory | ( | ) |
createX86EmitCodeToMemory - Returns a pass that converts a register allocated function into raw machine code in a dynamically allocated chunk of memory.
ModulePass* llvm::createFunctionExtractionPass | ( | Function * | F, | |
bool | deleteFn = false | |||
) |
createFunctionExtractionPass - If deleteFn is true, this pass deletes as the specified function. Otherwise, it deletes as much of the module as possible, except for the function specified.
Definition at line 115 of file ExtractFunction.cpp.
References F.
ModulePass* llvm::createFunctionExtractionPass | ( | Function * | F, | |
bool | deleteFn = false | |||
) |
createFunctionExtractionPass - If deleteFn is true, this pass deletes as the specified function. Otherwise, it deletes as much of the module as possible, except for the function specified.
Definition at line 115 of file ExtractFunction.cpp.
References F.
ModulePass* llvm::createFunctionInliningPass | ( | ) |
createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function calls to small functions.
Definition at line 61 of file InlineSimple.cpp.
ModulePass* llvm::createFunctionInliningPass | ( | ) |
createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function calls to small functions.
Definition at line 61 of file InlineSimple.cpp.
ModulePass* llvm::createFunctionProfilerPass | ( | ) |
Definition at line 44 of file BlockProfiling.cpp.
ModulePass* llvm::createFunctionProfilerPass | ( | ) |
Definition at line 44 of file BlockProfiling.cpp.
ModulePass* llvm::createFunctionResolvingPass | ( | ) |
FunctionResolvingPass - Go over the functions that are in the module and look for functions that have the same name. More often than not, there will be things like: void "foo"(...) void "foo"(int, int) because of the way things are declared in C. If this is the case, patch things up.
This is an interprocedural pass.
Definition at line 49 of file FunctionResolution.cpp.
ModulePass* llvm::createFunctionResolvingPass | ( | ) |
FunctionResolvingPass - Go over the functions that are in the module and look for functions that have the same name. More often than not, there will be things like: void "foo"(...) void "foo"(int, int) because of the way things are declared in C. If this is the case, patch things up.
This is an interprocedural pass.
Definition at line 49 of file FunctionResolution.cpp.
FunctionPass* llvm::createGCSEPass | ( | ) |
FunctionPass* llvm::createGCSEPass | ( | ) |
ModulePass* llvm::createGlobalDCEPass | ( | ) |
createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions or global variables)
Definition at line 50 of file GlobalDCE.cpp.
ModulePass* llvm::createGlobalDCEPass | ( | ) |
createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions or global variables)
Definition at line 50 of file GlobalDCE.cpp.
ModulePass* llvm::createGlobalOptimizerPass | ( | ) |
createGlobalOptimizerPass - This function returns a new pass that optimizes non-address taken internal globals.
Definition at line 69 of file GlobalOpt.cpp.
ModulePass* llvm::createGlobalOptimizerPass | ( | ) |
createGlobalOptimizerPass - This function returns a new pass that optimizes non-address taken internal globals.
Definition at line 69 of file GlobalOpt.cpp.
Pass* llvm::createGlobalsModRefPass | ( | ) |
Definition at line 143 of file GlobalsModRef.cpp.
Pass* llvm::createGlobalsModRefPass | ( | ) |
Definition at line 143 of file GlobalsModRef.cpp.
FunctionPass* llvm::createIA64BundlingPass | ( | IA64TargetMachine & | tm | ) |
createIA64BundlingPass - Returns a pass that adds STOP (;;) instructions and arranges the result into bundles.
Definition at line 67 of file IA64Bundling.cpp.
Referenced by llvm::IA64TargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createIA64BundlingPass | ( | IA64TargetMachine & | tm | ) |
createIA64BundlingPass - Returns a pass that adds STOP (;;) instructions and arranges the result into bundles.
Definition at line 67 of file IA64Bundling.cpp.
Referenced by llvm::IA64TargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createIA64CodePrinterPass | ( | std::ostream & | o, | |
IA64TargetMachine & | tm | |||
) |
createIA64CodePrinterPass - Returns a pass that prints the IA64 assembly code for a MachineFunction to the given output stream, using the given target machine description.
Definition at line 359 of file IA64AsmPrinter.cpp.
Referenced by llvm::IA64TargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createIA64CodePrinterPass | ( | std::ostream & | o, | |
IA64TargetMachine & | tm | |||
) |
createIA64CodePrinterPass - Returns a pass that prints the IA64 assembly code for a MachineFunction to the given output stream, using the given target machine description.
Definition at line 359 of file IA64AsmPrinter.cpp.
Referenced by llvm::IA64TargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createIA64DAGToDAGInstructionSelector | ( | IA64TargetMachine & | TM | ) |
createIA64DAGToDAGInstructionSelector - This pass converts a legalized DAG into an IA64-specific DAG, ready for instruction scheduling.
Definition at line 630 of file IA64ISelDAGToDAG.cpp.
References TM.
Referenced by llvm::IA64TargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createIA64DAGToDAGInstructionSelector | ( | IA64TargetMachine & | TM | ) |
createIA64DAGToDAGInstructionSelector - This pass converts a legalized DAG into an IA64-specific DAG, ready for instruction scheduling.
Definition at line 630 of file IA64ISelDAGToDAG.cpp.
References TM.
Referenced by llvm::IA64TargetMachine::addPassesToEmitFile().
ModulePass* llvm::createIndMemRemPass | ( | ) |
Definition at line 90 of file IndMemRemoval.cpp.
ModulePass* llvm::createIndMemRemPass | ( | ) |
Definition at line 90 of file IndMemRemoval.cpp.
FunctionPass* llvm::createIndVarSimplifyPass | ( | ) |
Definition at line 97 of file IndVarSimplify.cpp.
FunctionPass* llvm::createIndVarSimplifyPass | ( | ) |
Definition at line 97 of file IndVarSimplify.cpp.
FunctionPass* llvm::createInstCountPass | ( | ) |
Definition at line 62 of file InstCount.cpp.
FunctionPass* llvm::createInstCountPass | ( | ) |
Definition at line 62 of file InstCount.cpp.
FunctionPass* llvm::createInstructionCombiningPass | ( | ) |
Definition at line 7938 of file InstructionCombining.cpp.
FunctionPass* llvm::createInstructionCombiningPass | ( | ) |
Definition at line 7938 of file InstructionCombining.cpp.
FunctionPass* llvm::createInstructionSchedulingWithSSAPass | ( | const TargetMachine & | TM | ) |
ModulePass* llvm::createInternalizePass | ( | const std::vector< const char * > & | el | ) |
Definition at line 163 of file Internalize.cpp.
ModulePass* llvm::createInternalizePass | ( | bool | InternalizeEverything | ) |
createInternalizePass - This pass loops over all of the functions in the input module, looking for a main function. If a list of symbols is specified with the -internalize-public-api-* command line options, those symbols are internalized. Otherwise if InternalizeEverything is set and the main function is found, all other globals are marked as internal.
Definition at line 159 of file Internalize.cpp.
ModulePass* llvm::createInternalizePass | ( | const std::vector< const char * > & | exportList | ) |
Definition at line 163 of file Internalize.cpp.
ModulePass* llvm::createInternalizePass | ( | bool | InternalizeEverything | ) |
createInternalizePass - This pass loops over all of the functions in the input module, looking for a main function. If a list of symbols is specified with the -internalize-public-api-* command line options, those symbols are internalized. Otherwise if InternalizeEverything is set and the main function is found, all other globals are marked as internal.
Definition at line 159 of file Internalize.cpp.
ModulePass* llvm::createIPConstantPropagationPass | ( | ) |
createIPConstantPropagationPass - This pass propagates constants from call sites into the bodies of functions.
Definition at line 44 of file IPConstantPropagation.cpp.
ModulePass* llvm::createIPConstantPropagationPass | ( | ) |
createIPConstantPropagationPass - This pass propagates constants from call sites into the bodies of functions.
Definition at line 44 of file IPConstantPropagation.cpp.
ModulePass* llvm::createIPSCCPPass | ( | ) |
ModulePass* llvm::createIPSCCPPass | ( | ) |
FunctionPass* llvm::createLCSSAPass | ( | ) |
FunctionPass* llvm::createLCSSAPass | ( | ) |
FunctionPass* llvm::createLICMPass | ( | ) |
FunctionPass* llvm::createLICMPass | ( | ) |
FunctionPass* llvm::createLinearScanRegisterAllocator | ( | ) |
LinearScanRegisterAllocation Pass - This pass implements the linear scan register allocation algorithm, a global register allocator.
Definition at line 781 of file RegAllocLinearScan.cpp.
Referenced by createRegisterAllocator().
FunctionPass* llvm::createLinearScanRegisterAllocator | ( | ) |
LinearScanRegisterAllocation Pass - This pass implements the linear scan register allocation algorithm, a global register allocator.
Definition at line 781 of file RegAllocLinearScan.cpp.
Referenced by createRegisterAllocator().
FunctionPass* llvm::createLoadValueNumberingPass | ( | ) |
createLoadValueNumberingPass - Create and return a new pass that implements the ValueNumbering interface.
Definition at line 90 of file LoadValueNumbering.cpp.
FunctionPass* llvm::createLoadValueNumberingPass | ( | ) |
createLoadValueNumberingPass - Create and return a new pass that implements the ValueNumbering interface.
Definition at line 90 of file LoadValueNumbering.cpp.
FunctionPass* llvm::createLocalRegisterAllocator | ( | ) |
LocalRegisterAllocation Pass - This pass register allocates the input code a basic block at a time, yielding code better than the simple register allocator, but not as good as a global allocator.
Definition at line 719 of file RegAllocLocal.cpp.
Referenced by createRegisterAllocator().
FunctionPass* llvm::createLocalRegisterAllocator | ( | ) |
LocalRegisterAllocation Pass - This pass register allocates the input code a basic block at a time, yielding code better than the simple register allocator, but not as good as a global allocator.
Definition at line 719 of file RegAllocLocal.cpp.
Referenced by createRegisterAllocator().
FunctionPass* llvm::createLoopExtractorPass | ( | ) |
createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it can.
Definition at line 64 of file LoopExtractor.cpp.
FunctionPass* llvm::createLoopExtractorPass | ( | ) |
createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it can.
Definition at line 64 of file LoopExtractor.cpp.
FunctionPass* llvm::createLoopInstrumentationPass | ( | ) |
FunctionPass* llvm::createLoopSimplifyPass | ( | ) |
Definition at line 98 of file LoopSimplify.cpp.
FunctionPass* llvm::createLoopSimplifyPass | ( | ) |
Definition at line 98 of file LoopSimplify.cpp.
FunctionPass* llvm::createLoopStrengthReducePass | ( | const TargetLowering * | TLI | ) |
Definition at line 201 of file LoopStrengthReduce.cpp.
References TLI.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createLoopStrengthReducePass | ( | const TargetLowering * | TLI = NULL |
) |
Definition at line 201 of file LoopStrengthReduce.cpp.
References TLI.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createLoopUnrollPass | ( | ) |
Definition at line 63 of file LoopUnroll.cpp.
FunctionPass* llvm::createLoopUnrollPass | ( | ) |
Definition at line 63 of file LoopUnroll.cpp.
FunctionPass* llvm::createLoopUnswitchPass | ( | ) |
Definition at line 109 of file LoopUnswitch.cpp.
FunctionPass* llvm::createLoopUnswitchPass | ( | ) |
Definition at line 109 of file LoopUnswitch.cpp.
FunctionPass* llvm::createLowerAllocationsPass | ( | bool | LowerMallocArgToInteger | ) |
Definition at line 75 of file LowerAllocations.cpp.
Referenced by llvm::CTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createLowerAllocationsPass | ( | bool | LowerMallocArgToInteger = false |
) |
Definition at line 75 of file LowerAllocations.cpp.
Referenced by llvm::CTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createLowerGCPass | ( | ) |
createLowerGCPass - This function returns an instance of the "lowergc" pass, which lowers garbage collection intrinsics to normal LLVM code.
Definition at line 65 of file LowerGC.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::CTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createLowerGCPass | ( | ) |
createLowerGCPass - This function returns an instance of the "lowergc" pass, which lowers garbage collection intrinsics to normal LLVM code.
Definition at line 65 of file LowerGC.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::CTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createLowerInvokePass | ( | unsigned | JumpBufSize, | |
unsigned | JumpBufAlign | |||
) |
Definition at line 104 of file LowerInvoke.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::CTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createLowerInvokePass | ( | unsigned | JumBufSize = 200 , |
|
unsigned | JumpBufAlign = 0 | |||
) |
Definition at line 104 of file LowerInvoke.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::CTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createLowerPackedPass | ( | ) |
Definition at line 111 of file LowerPacked.cpp.
FunctionPass* llvm::createLowerPackedPass | ( | ) |
Definition at line 111 of file LowerPacked.cpp.
FunctionPass* llvm::createLowerSelectPass | ( | bool | OnlyFP | ) |
Definition at line 64 of file LowerSelect.cpp.
FunctionPass* llvm::createLowerSelectPass | ( | bool | OnlyFP = false |
) |
Definition at line 64 of file LowerSelect.cpp.
ModulePass* llvm::createLowerSetJmpPass | ( | ) |
createLowerSetJmpPass - This function lowers the setjmp/longjmp intrinsics to invoke/unwind instructions. This should really be part of the C/C++ front-end, but it's so much easier to write transformations in LLVM proper.
Definition at line 534 of file LowerSetJmp.cpp.
ModulePass* llvm::createLowerSetJmpPass | ( | ) |
createLowerSetJmpPass - This function lowers the setjmp/longjmp intrinsics to invoke/unwind instructions. This should really be part of the C/C++ front-end, but it's so much easier to write transformations in LLVM proper.
Definition at line 534 of file LowerSetJmp.cpp.
FunctionPass* llvm::createLowerSwitchPass | ( | ) |
Definition at line 78 of file LowerSwitch.cpp.
FunctionPass* llvm::createLowerSwitchPass | ( | ) |
Definition at line 78 of file LowerSwitch.cpp.
FunctionPass* llvm::createMachineCodeDeleter | ( | ) |
MachineCodeDeletion Pass - This pass deletes all of the machine code for the current function, which should happen after the function has been emitted to a .s file or to memory.
Definition at line 89 of file MachineFunction.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitMachineCode(), llvm::PPCTargetMachine::addPassesToEmitMachineCode(), and llvm::X86TargetMachine::addPassesToEmitMachineCode().
FunctionPass* llvm::createMachineCodeDeleter | ( | ) |
MachineCodeDeletion Pass - This pass deletes all of the machine code for the current function, which should happen after the function has been emitted to a .s file or to memory.
Definition at line 89 of file MachineFunction.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitMachineCode(), llvm::PPCTargetMachine::addPassesToEmitMachineCode(), and llvm::AlphaTargetMachine::addPassesToEmitMachineCode().
FunctionPass* llvm::createMachineFunctionPrinterPass | ( | std::ostream * | OS, | |
const std::string & | Banner | |||
) |
Returns a newly-created MachineFunction Printer pass. The default output stream is std::cerr; the default banner is empty.
Definition at line 69 of file MachineFunction.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createMachineFunctionPrinterPass | ( | std::ostream * | OS, | |
const std::string & | Banner | |||
) |
Returns a newly-created MachineFunction Printer pass. The default output stream is std::cerr; the default banner is empty.
Definition at line 69 of file MachineFunction.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createModuloSchedulingPass | ( | TargetMachine & | targ | ) |
FunctionPass* llvm::createModuloSchedulingSBPass | ( | TargetMachine & | targ | ) |
ImmutablePass* llvm::createNoAAPass | ( | ) |
Definition at line 82 of file BasicAliasAnalysis.cpp.
ImmutablePass* llvm::createNoAAPass | ( | ) |
Definition at line 82 of file BasicAliasAnalysis.cpp.
ImmutablePass* llvm::createNoProfileInfoPass | ( | ) |
Definition at line 95 of file ProfileInfo.cpp.
ImmutablePass* llvm::createNoProfileInfoPass | ( | ) |
Definition at line 95 of file ProfileInfo.cpp.
ModulePass* llvm::createNullProfilerRSPass | ( | ) |
Definition at line 637 of file RSProfiling.cpp.
ModulePass* llvm::createNullProfilerRSPass | ( | ) |
Definition at line 637 of file RSProfiling.cpp.
FunctionPass* llvm::createPPCBranchSelectionPass | ( | ) |
createPPCBranchSelectionPass - returns an instance of the Branch Selection Pass
Definition at line 42 of file PPCBranchSelector.cpp.
Referenced by llvm::PPCTargetMachine::addPassesToEmitFile(), and llvm::PPCJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createPPCBranchSelectionPass | ( | ) |
createPPCBranchSelectionPass - returns an instance of the Branch Selection Pass
Definition at line 42 of file PPCBranchSelector.cpp.
Referenced by llvm::PPCTargetMachine::addPassesToEmitFile(), and llvm::PPCJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createPPCISelDag | ( | PPCTargetMachine & | TM | ) |
createPPCISelDag - This pass converts a legalized DAG into a PowerPC-specific DAG, ready for instruction scheduling.
Definition at line 1353 of file PPCISelDAGToDAG.cpp.
References TM.
Referenced by llvm::PPCTargetMachine::addPassesToEmitFile(), and llvm::PPCJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createPPCISelDag | ( | PPCTargetMachine & | TM | ) |
createPPCISelDag - This pass converts a legalized DAG into a PowerPC-specific DAG, ready for instruction scheduling.
Definition at line 1353 of file PPCISelDAGToDAG.cpp.
References TM.
Referenced by llvm::PPCTargetMachine::addPassesToEmitFile(), and llvm::PPCJITInfo::addPassesToJITCompile().
Pass* llvm::createProfileLoaderPass | ( | const std::string & | Filename | ) |
createProfileLoaderPass - This function returns a Pass that loads the profiling information for the module from the specified filename, making it available to the optimizers.
Definition at line 64 of file ProfileInfoLoaderPass.cpp.
ModulePass* llvm::createProfileLoaderPass | ( | ) |
Definition at line 59 of file ProfileInfoLoaderPass.cpp.
Pass* llvm::createProfileLoaderPass | ( | const std::string & | Filename | ) |
createProfileLoaderPass - This function returns a Pass that loads the profiling information for the module from the specified filename, making it available to the optimizers.
Definition at line 64 of file ProfileInfoLoaderPass.cpp.
ModulePass* llvm::createProfileLoaderPass | ( | ) |
Definition at line 59 of file ProfileInfoLoaderPass.cpp.
FunctionPass* llvm::createProfilePathsPass | ( | ) |
FunctionPass* llvm::createPrologEpilogCodeInserter | ( | ) |
createPrologEpilogCodeInserter - This function returns a pass that inserts prolog and epilog code, and eliminates abstract frame references.
Definition at line 95 of file PrologEpilogInserter.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createPrologEpilogCodeInserter | ( | ) |
createPrologEpilogCodeInserter - This function returns a pass that inserts prolog and epilog code, and eliminates abstract frame references.
Definition at line 95 of file PrologEpilogInserter.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createPromoteMemoryToRegisterPass | ( | ) |
Definition at line 89 of file Mem2Reg.cpp.
FunctionPass* llvm::createPromoteMemoryToRegisterPass | ( | ) |
Definition at line 89 of file Mem2Reg.cpp.
ModulePass* llvm::createPruneEHPass | ( | ) |
createPruneEHPass - Return a new pass object which transforms invoke instructions into calls, if the callee can _not_ unwind the stack.
Definition at line 52 of file PruneEH.cpp.
ModulePass* llvm::createPruneEHPass | ( | ) |
createPruneEHPass - Return a new pass object which transforms invoke instructions into calls, if the callee can _not_ unwind the stack.
Definition at line 52 of file PruneEH.cpp.
ModulePass* llvm::createRaiseAllocationsPass | ( | ) |
createRaiseAllocationsPass - Return a new pass that transforms malloc and free function calls into malloc and free instructions.
Definition at line 53 of file RaiseAllocations.cpp.
ModulePass* llvm::createRaiseAllocationsPass | ( | ) |
createRaiseAllocationsPass - Return a new pass that transforms malloc and free function calls into malloc and free instructions.
Definition at line 53 of file RaiseAllocations.cpp.
FunctionPass* llvm::createRaisePointerReferencesPass | ( | ) |
Definition at line 87 of file LevelRaise.cpp.
FunctionPass* llvm::createRaisePointerReferencesPass | ( | ) |
Definition at line 87 of file LevelRaise.cpp.
FunctionPass* llvm::createReassociatePass | ( | ) |
Definition at line 97 of file Reassociate.cpp.
FunctionPass* llvm::createReassociatePass | ( | ) |
Definition at line 97 of file Reassociate.cpp.
FunctionPass* llvm::createRegisterAllocator | ( | ) |
Creates a register allocator as the user specified on the command line.
Definition at line 36 of file Passes.cpp.
References createLinearScanRegisterAllocator(), createLocalRegisterAllocator(), createSimpleRegisterAllocator(), local, and RegAlloc.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createRegisterAllocator | ( | ) |
Creates a register allocator as the user specified on the command line.
Definition at line 36 of file Passes.cpp.
References createLinearScanRegisterAllocator(), createLocalRegisterAllocator(), createSimpleRegisterAllocator(), local, and RegAlloc.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createRSProfilingPass | ( | ) |
Definition at line 641 of file RSProfiling.cpp.
FunctionPass* llvm::createRSProfilingPass | ( | ) |
Definition at line 641 of file RSProfiling.cpp.
FunctionPass* llvm::createScalarReplAggregatesPass | ( | ) |
Definition at line 77 of file ScalarReplAggregates.cpp.
FunctionPass* llvm::createScalarReplAggregatesPass | ( | ) |
Definition at line 77 of file ScalarReplAggregates.cpp.
FunctionPass* llvm::createSCCPPass | ( | ) |
FunctionPass* llvm::createSCCPPass | ( | ) |
llvm::ScheduleDAG* llvm::createSimpleDAGScheduler | ( | bool | NoItins, | |
SelectionDAG & | DAG, | |||
MachineBasicBlock * | BB | |||
) |
createSimpleDAGScheduler - This creates a simple two pass instruction scheduler.
Definition at line 1106 of file ScheduleDAGSimple.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
ScheduleDAG* llvm::createSimpleDAGScheduler | ( | bool | NoItins, | |
SelectionDAG & | DAG, | |||
MachineBasicBlock * | BB | |||
) |
createSimpleDAGScheduler - This creates a simple two pass instruction scheduler.
Definition at line 1106 of file ScheduleDAGSimple.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
FunctionPass* llvm::createSimpleRegisterAllocator | ( | ) |
SimpleRegisterAllocation Pass - This pass converts the input machine code from SSA form to use explicit registers by spilling every register. Wow, great policy huh?
Definition at line 251 of file RegAllocSimple.cpp.
Referenced by createRegisterAllocator().
FunctionPass* llvm::createSimpleRegisterAllocator | ( | ) |
SimpleRegisterAllocation Pass - This pass converts the input machine code from SSA form to use explicit registers by spilling every register. Wow, great policy huh?
Definition at line 251 of file RegAllocSimple.cpp.
Referenced by createRegisterAllocator().
ModulePass* llvm::createSimplifyLibCallsPass | ( | ) |
Definition at line 375 of file SimplifyLibCalls.cpp.
ModulePass* llvm::createSimplifyLibCallsPass | ( | ) |
Definition at line 375 of file SimplifyLibCalls.cpp.
FunctionPass* llvm::createSingleLoopExtractorPass | ( | ) |
createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function if it can. This is used by bugpoint.
Definition at line 134 of file LoopExtractor.cpp.
FunctionPass* llvm::createSingleLoopExtractorPass | ( | ) |
createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function if it can. This is used by bugpoint.
Definition at line 134 of file LoopExtractor.cpp.
FunctionPass* llvm::createSparcCodePrinterPass | ( | std::ostream & | o, | |
TargetMachine & | tm | |||
) |
createSparcCodePrinterPass - Returns a pass that prints the SPARC assembly code for a MachineFunction to the given output stream, using the given target machine description. This should work regardless of whether the function is in SSA form.
Definition at line 79 of file SparcAsmPrinter.cpp.
Referenced by llvm::SparcTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createSparcCodePrinterPass | ( | std::ostream & | o, | |
TargetMachine & | tm | |||
) |
createSparcCodePrinterPass - Returns a pass that prints the SPARC assembly code for a MachineFunction to the given output stream, using the given target machine description. This should work regardless of whether the function is in SSA form.
Definition at line 79 of file SparcAsmPrinter.cpp.
Referenced by llvm::SparcTargetMachine::addPassesToEmitFile().
FunctionPass * llvm::createSparcDelaySlotFillerPass | ( | TargetMachine & | tm | ) |
createSparcDelaySlotFillerPass - Returns a pass that fills in delay slots in Sparc MachineFunctions
Definition at line 53 of file DelaySlotFiller.cpp.
Referenced by llvm::SparcTargetMachine::addPassesToEmitFile().
FunctionPass * llvm::createSparcFPMoverPass | ( | TargetMachine & | tm | ) |
createSparcFPMoverPass - Returns a pass that turns FpMOVD instructions into FMOVS instructions
Definition at line 48 of file FPMover.cpp.
Referenced by llvm::SparcTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createSparcISelDag | ( | TargetMachine & | TM | ) |
createSparcISelDag - This pass converts a legalized DAG into a SPARC-specific DAG, ready for instruction scheduling.
Definition at line 1141 of file SparcISelDAGToDAG.cpp.
References TM.
Referenced by llvm::SparcTargetMachine::addPassesToEmitFile().
FunctionPass* llvm::createSparcISelDag | ( | TargetMachine & | TM | ) |
createSparcISelDag - This pass converts a legalized DAG into a SPARC-specific DAG, ready for instruction scheduling.
Definition at line 1141 of file SparcISelDAGToDAG.cpp.
References TM.
Referenced by llvm::SparcTargetMachine::addPassesToEmitFile().
Spiller * llvm::createSpiller | ( | ) |
createSpiller - Create an return a spiller object, as specified on the command line.
Definition at line 866 of file VirtRegMap.cpp.
References local, and SpillerOpt.
ModulePass* llvm::createSteensgaardPass | ( | ) |
Definition at line 83 of file Steensgaard.cpp.
ModulePass* llvm::createSteensgaardPass | ( | ) |
Definition at line 83 of file Steensgaard.cpp.
ModulePass* llvm::createStripSymbolsPass | ( | bool | OnlyDebugInfo | ) |
Definition at line 49 of file StripSymbols.cpp.
ModulePass* llvm::createStripSymbolsPass | ( | bool | OnlyDebugInfo = false |
) |
Definition at line 49 of file StripSymbols.cpp.
FunctionPass* llvm::createTailCallEliminationPass | ( | ) |
Definition at line 82 of file TailRecursionElimination.cpp.
FunctionPass* llvm::createTailCallEliminationPass | ( | ) |
Definition at line 82 of file TailRecursionElimination.cpp.
FunctionPass* llvm::createTailDuplicationPass | ( | ) |
Definition at line 54 of file TailDuplication.cpp.
FunctionPass* llvm::createTailDuplicationPass | ( | ) |
Definition at line 54 of file TailDuplication.cpp.
ScheduleDAG* llvm::createTDListDAGScheduler | ( | SelectionDAG & | DAG, | |
MachineBasicBlock * | BB, | |||
HazardRecognizer * | HR | |||
) |
createTDListDAGScheduler - This creates a top-down list scheduler with the specified hazard recognizer.
Definition at line 516 of file ScheduleDAGList.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
ScheduleDAG* llvm::createTDListDAGScheduler | ( | SelectionDAG & | DAG, | |
MachineBasicBlock * | BB, | |||
HazardRecognizer * | HR | |||
) |
createTDListDAGScheduler - This creates a top-down list scheduler with the specified hazard recognizer.
Definition at line 516 of file ScheduleDAGList.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
llvm::ScheduleDAG* llvm::createTDRRListDAGScheduler | ( | SelectionDAG & | DAG, | |
MachineBasicBlock * | BB | |||
) |
createTDRRListDAGScheduler - This creates a top down register usage reduction list scheduler.
Definition at line 885 of file ScheduleDAGRRList.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
ScheduleDAG* llvm::createTDRRListDAGScheduler | ( | SelectionDAG & | DAG, | |
MachineBasicBlock * | BB | |||
) |
createTDRRListDAGScheduler - This creates a top down register usage reduction list scheduler.
Definition at line 885 of file ScheduleDAGRRList.cpp.
References BB, DAG, and llvm::SelectionDAG::getTarget().
Referenced by llvm::SelectionDAGISel::ScheduleAndEmitDAG().
ModulePass* llvm::createTraceBasicBlockPass | ( | ) |
Definition at line 38 of file TraceBasicBlocks.cpp.
ModulePass* llvm::createTraceBasicBlockPass | ( | ) |
Definition at line 38 of file TraceBasicBlocks.cpp.
FunctionPass* llvm::createTraceValuesPassForBasicBlocks | ( | ) |
FunctionPass* llvm::createTraceValuesPassForBasicBlocks | ( | ) |
FunctionPass* llvm::createTraceValuesPassForFunction | ( | ) |
FunctionPass* llvm::createTraceValuesPassForFunction | ( | ) |
Pass* llvm::createUnifyFunctionExitNodesPass | ( | ) |
Definition at line 30 of file UnifyFunctionExitNodes.cpp.
Pass* llvm::createUnifyFunctionExitNodesPass | ( | ) |
Definition at line 30 of file UnifyFunctionExitNodes.cpp.
FunctionPass* llvm::createUnreachableBlockEliminationPass | ( | ) |
createUnreachableBlockEliminationPass - The LLVM code generator does not work well with unreachable basic blocks (what live ranges make sense for a block that cannot be reached?). As such, a code generator should either not instruction select unreachable blocks, or it can run this pass as it's last LLVM modifying pass to clean up blocks that are not reachable from the entry block.
Definition at line 42 of file UnreachableBlockElim.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createUnreachableBlockEliminationPass | ( | ) |
createUnreachableBlockEliminationPass - The LLVM code generator does not work well with unreachable basic blocks (what live ranges make sense for a block that cannot be reached?). As such, a code generator should either not instruction select unreachable blocks, or it can run this pass as it's last LLVM modifying pass to clean up blocks that are not reachable from the entry block.
Definition at line 42 of file UnreachableBlockElim.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
FunctionPass* llvm::createVerifierPass | ( | VerifierFailureAction | action = AbortProcessAction |
) |
Create a verifier pass.
Check a module or function for validity. When the pass is used, the action indicated by the action
argument will be used if errors are found.
action | Action to take |
Definition at line 784 of file Verifier.cpp.
FunctionPass* llvm::createVerifierPass | ( | VerifierFailureAction | action = AbortProcessAction |
) |
Create a verifier pass.
Check a module or function for validity. When the pass is used, the action indicated by the action
argument will be used if errors are found.
action | Action to take |
Definition at line 784 of file Verifier.cpp.
FunctionPass* llvm::createX86CodeEmitterPass | ( | X86TargetMachine & | TM, | |
MachineCodeEmitter & | MCE | |||
) |
createX86CodeEmitterPass - Return a pass that emits the collected X86 code to the specified MCE object.
Definition at line 76 of file X86CodeEmitter.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitMachineCode(), and addX86ELFObjectWriterPass().
FunctionPass* llvm::createX86CodeEmitterPass | ( | X86TargetMachine & | TM, | |
MachineCodeEmitter & | MCE | |||
) |
createX86CodeEmitterPass - Return a pass that emits the collected X86 code to the specified MCE object.
Definition at line 76 of file X86CodeEmitter.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitMachineCode(), and addX86ELFObjectWriterPass().
FunctionPass* llvm::createX86CodePrinterPass | ( | std::ostream & | o, | |
X86TargetMachine & | tm | |||
) |
createX86CodePrinterPass - Returns a pass that prints the X86 assembly code for a MachineFunction to the given output stream, using the given target machine description.
Definition at line 235 of file X86AsmPrinter.cpp.
References AsmWriterFlavor.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createX86CodePrinterPass | ( | std::ostream & | o, | |
X86TargetMachine & | tm | |||
) |
createX86CodePrinterPass - Returns a pass that prints the X86 assembly code for a MachineFunction to the given output stream, using the given target machine description.
Definition at line 235 of file X86AsmPrinter.cpp.
References AsmWriterFlavor.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createX86FloatingPointStackifierPass | ( | ) |
createX86FloatingPointStackifierPass - This function returns a pass which converts floating point register references and pseudo instructions into floating point stack references and physical instructions.
Definition at line 156 of file X86FloatingPoint.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createX86FloatingPointStackifierPass | ( | ) |
createX86FloatingPointStackifierPass - This function returns a pass which converts floating point register references and pseudo instructions into floating point stack references and physical instructions.
Definition at line 156 of file X86FloatingPoint.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createX86ISelDag | ( | X86TargetMachine & | TM | ) |
createX86ISelDag - This pass converts a legalized DAG into a X86-specific DAG, ready for instruction scheduling.
Definition at line 911 of file X86ISelDAGToDAG.cpp.
References TM.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), and llvm::X86JITInfo::addPassesToJITCompile().
FunctionPass* llvm::createX86ISelDag | ( | X86TargetMachine & | TM | ) |
createX86ISelDag - This pass converts a legalized DAG into a X86-specific DAG, ready for instruction scheduling.
Definition at line 911 of file X86ISelDAGToDAG.cpp.
References TM.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), and llvm::X86JITInfo::addPassesToJITCompile().
bool llvm::dceInstruction | ( | BasicBlock::iterator & | BBI | ) |
dceInstruction - Inspect the instruction at *BBI and figure out if it isTriviallyDead. If so, remove the instruction and update the iterator to point to the instruction that immediately succeeded the original instruction.
Definition at line 345 of file Transforms/Utils/Local.cpp.
References isInstructionTriviallyDead().
bool llvm::dceInstruction | ( | BasicBlock::iterator & | BBI | ) |
dceInstruction - Inspect the instruction at *BBI and figure out if it isTriviallyDead. If so, remove the instruction and update the iterator to point to the instruction that immediately succeeded the original instruction.
Definition at line 345 of file Transforms/Utils/Local.cpp.
References isInstructionTriviallyDead().
static void llvm::deleter | ( | T * | Ptr | ) | [inline, static] |
Definition at line 43 of file STLExtras.h.
AllocaInst* llvm::DemoteRegToStack | ( | Instruction & | I, | |
bool | VolatileLoads | |||
) |
DemoteRegToStack - This function takes a virtual register computed by an Instruction and replaces it with a slot in the stack frame, allocated via alloca. This allows the CFG to be changed around without fear of invalidating the SSA information for the value. It returns the pointer to the alloca inserted to create a stack slot for I.
Definition at line 32 of file DemoteRegToStack.cpp.
References F, llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::Instruction::getParent(), llvm::Value::getType(), II, Slot, U, llvm::Value::use_back(), llvm::Value::use_empty(), and V.
AllocaInst* llvm::DemoteRegToStack | ( | Instruction & | I, | |
bool | VolatileLoads | |||
) |
DemoteRegToStack - This function takes a virtual register computed by an Instruction and replaces it with a slot in the stack frame, allocated via alloca. This allows the CFG to be changed around without fear of invalidating the SSA information for the value. It returns the pointer to the alloca inserted to create a stack slot for I.
Definition at line 32 of file DemoteRegToStack.cpp.
References F, llvm::Value::getName(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::Value::getType(), II, Slot, U, llvm::Value::use_back(), llvm::Value::use_empty(), and V.
static DSNode& llvm::dereference | ( | DSNode * | N | ) | [static] |
Definition at line 112 of file DSGraphTraits.h.
Referenced by llvm::GraphTraits< DSGraph * >::nodes_begin(), and llvm::GraphTraits< DSGraph * >::nodes_end().
static const DSNode& llvm::dereferenceC | ( | const DSNode * | N | ) | [static] |
Definition at line 113 of file DSGraphTraits.h.
df_iterator<T> llvm::df_begin | ( | T | G | ) |
Definition at line 164 of file DepthFirstIterator.h.
Referenced by llvm::ETForestBase::updateDFSNumbers().
df_iterator<T> llvm::df_end | ( | T | G | ) |
Definition at line 169 of file DepthFirstIterator.h.
Referenced by llvm::ETForestBase::updateDFSNumbers().
df_ext_iterator<T, SetTy> llvm::df_ext_begin | ( | T | G, | |
SetTy & | S | |||
) |
Definition at line 181 of file DepthFirstIterator.h.
Referenced by llvm::LiveVariables::runOnMachineFunction().
df_ext_iterator<T, SetTy> llvm::df_ext_end | ( | T | G, | |
SetTy & | S | |||
) |
Definition at line 186 of file DepthFirstIterator.h.
Referenced by llvm::LiveVariables::runOnMachineFunction().
int llvm::DiffFilesWithTolerance | ( | const sys::Path & | FileA, | |
const sys::Path & | FileB, | |||
double | AbsTol, | |||
double | RelTol, | |||
std::string * | Error | |||
) |
DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error. This function differs from DiffFiles in that you can specify an absolete and relative FP error that is allowed to exist. If you specify a string to fill in for the error option, it will set the string to an error message if an error occurs, allowing the caller to distinguish between a failed diff and a file system error.
Definition at line 145 of file FileUtilities.cpp.
References BackupNumber(), llvm::sys::MappedFile::charBase(), CompareNumbers(), llvm::sys::Path::getSize(), isNumberChar(), llvm::sys::MappedFile::map(), and PadFileIfNeeded().
int llvm::DiffFilesWithTolerance | ( | const sys::Path & | FileA, | |
const sys::Path & | FileB, | |||
double | AbsTol, | |||
double | RelTol, | |||
std::string * | Error | |||
) |
DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error. This function differs from DiffFiles in that you can specify an absolete and relative FP error that is allowed to exist. If you specify a string to fill in for the error option, it will set the string to an error message if an error occurs, allowing the caller to distinguish between a failed diff and a file system error.
Definition at line 145 of file FileUtilities.cpp.
References BackupNumber(), llvm::sys::MappedFile::charBase(), CompareNumbers(), llvm::sys::Path::getSize(), isNumberChar(), llvm::sys::MappedFile::map(), and PadFileIfNeeded().
bool llvm::Disjoint | ( | const BitSetVector & | set1, | |
const BitSetVector & | set2 | |||
) | [inline] |
Optimized versions of fundamental comparison operations
Definition at line 261 of file BitSetVector.h.
References llvm::BitSetVector::bitsetVec, llvm::BitSetVector::getWord(), and llvm::BitSetVector::size().
void llvm::DisplayGraph | ( | const sys::Path & | Filename | ) |
Definition at line 24 of file GraphWriter.cpp.
References llvm::sys::Path::appendSuffix(), llvm::sys::Path::c_str(), llvm::sys::Path::eraseFromDisk(), llvm::sys::Program::ExecuteAndWait(), Filename, LLVM_PATH_DOT, and LLVM_PATH_DOTTY.
Referenced by ViewGraph().
bool llvm::doConstantPropagation | ( | BasicBlock::iterator & | II | ) |
doConstantPropagation - If an instruction references constants, try to fold them together...
Definition at line 34 of file Transforms/Utils/Local.cpp.
References C, and ConstantFoldInstruction().
bool llvm::doConstantPropagation | ( | BasicBlock::iterator & | II | ) |
doConstantPropagation - If an instruction references constants, try to fold them together...
Definition at line 34 of file Transforms/Utils/Local.cpp.
References C, and ConstantFoldInstruction().
static char llvm::doDFS | ( | BasicBlock * | node, | |
std::map< BasicBlock *, Color > & | color | |||
) | [static] |
Definition at line 47 of file EmitFunctions.cpp.
References BB, BLACK, GREY, succ_begin(), and succ_end().
Referenced by hasBackEdge().
uint64_t llvm::DoubleToBits | ( | double | Double | ) | [inline] |
Definition at line 280 of file MathExtras.h.
Referenced by CastConstantPacked(), llvm::AsmPrinter::EmitGlobalConstant(), llvm::ConstantFP::get(), llvm::SelectionDAG::getConstantFP(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getTargetConstantFP(), llvm::ISD::isBuildVectorAllOnes(), llvm::ConstantFPSDNode::isExactlyValue(), llvm::ConstantFP::isExactlyValue(), llvm::ConstantFP::isNullValue(), and WriteConstantInt().
cast_retty<X, Y>::ret_type llvm::dyn_cast | ( | Y | Val | ) | [inline] |
cast_retty<X, Y>::ret_type llvm::dyn_cast_or_null | ( | Y | Val | ) | [inline] |
Statistic llvm::EmittedInsts | ( | "asm-printer" | , | |
"Number of machine instrs printed" | ||||
) |
void llvm::EscapeString | ( | std::string & | Str | ) |
EscapeString - Modify the argument string, turning '\' and anything that doesn't satisfy std::isprint into an escape sequence.
Definition at line 73 of file StringExtras.cpp.
Referenced by llvm::GraphWriter< GraphType >::emitSimpleNode(), and llvm::GraphWriter< GraphType >::writeNode().
void llvm::EscapeString | ( | std::string & | Str | ) |
EscapeString - Modify the argument string, turning '\' and anything that doesn't satisfy std::isprint into an escape sequence.
Definition at line 73 of file StringExtras.cpp.
Referenced by llvm::GraphWriter< GraphType >::emitSimpleNode(), and llvm::GraphWriter< GraphType >::writeNode().
bool llvm::ExpressionConvertibleToType | ( | Value * | V, | |
const Type * | Ty, | |||
ValueTypeCache & | CTMap, | |||
const TargetData & | TD | |||
) |
Definition at line 34 of file ExprTypeConvert.cpp.
References BaseType, llvm::Instruction::Call, llvm::Instruction::Cast, E, llvm::FunctionType::get(), llvm::PointerType::get(), llvm::SequentialType::getElementType(), llvm::PHINode::getIncomingValue(), llvm::GetElementPtrInst::getIndexedType(), llvm::Constant::getNullValue(), llvm::PHINode::getNumIncomingValues(), llvm::User::getNumOperands(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::GetElementPtrInst::getPointerOperand(), llvm::GetElementPtrInst::getType(), llvm::Value::getType(), llvm::TargetData::getTypeSize(), llvm::GetElementPtrInst::idx_begin(), llvm::GetElementPtrInst::idx_end(), llvm::Type::isFirstClassType(), llvm::Type::isFloatingPoint(), llvm::Type::isInteger(), llvm::Type::isLosslesslyConvertibleTo(), llvm::Type::isSigned(), LI, llvm::Instruction::Load, OperandConvertibleToType(), llvm::Instruction::PHI, llvm::Instruction::Shl, TD, Ty, llvm::Value::use_begin(), llvm::Value::use_end(), and V.
Referenced by OperandConvertibleToType().
Function* llvm::ExtractBasicBlock | ( | BasicBlock * | BB, | |
bool | AggregateArgs | |||
) |
ExtractBasicBlock - slurp a basic block into a brand new function
Definition at line 745 of file CodeExtractor.cpp.
Function* llvm::ExtractBasicBlock | ( | BasicBlock * | BB, | |
bool | AggregateArgs | |||
) |
ExtractBasicBlock - slurp a basic block into a brand new function
Definition at line 745 of file CodeExtractor.cpp.
Function* llvm::ExtractCodeRegion | ( | DominatorSet & | DS, | |
const std::vector< BasicBlock * > & | code, | |||
bool | AggregateArgs | |||
) |
ExtractCodeRegion - slurp a sequence of basic blocks into a brand new function
Definition at line 731 of file CodeExtractor.cpp.
References DS.
Function* llvm::ExtractCodeRegion | ( | DominatorSet & | DS, | |
const std::vector< BasicBlock * > & | code, | |||
bool | AggregateArgs | |||
) |
ExtractCodeRegion - slurp a sequence of basic blocks into a brand new function
Definition at line 731 of file CodeExtractor.cpp.
References DS.
Function* llvm::ExtractLoop | ( | DominatorSet & | DS, | |
Loop * | L, | |||
bool | AggregateArgs | |||
) |
ExtractBasicBlock - slurp a natural loop into a brand new function
Definition at line 739 of file CodeExtractor.cpp.
References DS, and llvm::Loop::getBlocks().
Function* llvm::ExtractLoop | ( | DominatorSet & | DS, | |
Loop * | L, | |||
bool | AggregateArgs | |||
) |
ExtractBasicBlock - slurp a natural loop into a brand new function
Definition at line 739 of file CodeExtractor.cpp.
References DS, and llvm::Loop::getBlocks().
sys::Path llvm::FindExecutable | ( | const std::string & | ExeName, | |
const std::string & | ProgramPath | |||
) |
Find a named executable.
FindExecutable - Find a named executable, giving the argv[0] of program being executed. This allows us to find another LLVM tool if it is built into the same directory, but that directory is neither the current directory, nor in the PATH. If the executable cannot be found, return an empty string.
Definition at line 42 of file SystemUtils.cpp.
References llvm::sys::Path::appendComponent(), llvm::sys::Path::canExecute(), llvm::sys::Path::eraseComponent(), llvm::sys::Program::FindProgramByName(), and llvm::sys::Path::isEmpty().
sys::Path llvm::FindExecutable | ( | const std::string & | ExeName, | |
const std::string & | ProgramPath | |||
) |
Find a named executable.
FindExecutable - Find a named executable, giving the argv[0] of program being executed. This allows us to find another LLVM tool if it is built into the same directory, but that directory is neither the current directory, nor in the PATH. If the executable cannot be found, return an empty string.
Definition at line 42 of file SystemUtils.cpp.
References llvm::sys::Path::appendComponent(), llvm::sys::Path::canExecute(), llvm::sys::Path::eraseComponent(), llvm::sys::Program::FindProgramByName(), and llvm::sys::Path::isEmpty().
bool llvm::FiniteOnlyFPMath | ( | ) |
FiniteOnlyFPMath - This returns true when the -enable-finite-only-fp-math option is specified on the command line. If this returns false (default), the code generator is not allowed to assume that FP arithmetic arguments and results are never NaNs or +-Infs.
Definition at line 132 of file TargetMachine.cpp.
References FiniteOnlyFPMathOption, and UnsafeFPMath.
Referenced by llvm::SelectionDAGLowering::visitSetCC().
uint32_t llvm::FloatToBits | ( | float | Float | ) | [inline] |
Definition at line 291 of file MathExtras.h.
Referenced by CastConstantPacked(), llvm::AsmPrinter::EmitGlobalConstant(), llvm::ConstantFP::get(), llvm::PPC::get_VSPLTI_elt(), GetConstantBuildVectorBits(), llvm::SelectionDAG::getNode(), and llvm::ISD::isBuildVectorAllOnes().
static std::string llvm::ftostr | ( | double | V | ) | [inline, static] |
Definition at line 86 of file StringExtras.h.
Referenced by CompareNumbers(), llvm::ValID::getName(), isFPCSafeToPrint(), and WriteConstantInt().
generic_gep_type_iterator<ItTy> llvm::gep_type_begin | ( | const Type * | Op0, | |
ItTy | I, | |||
ItTy | E | |||
) | [inline] |
Definition at line 101 of file GetElementPtrTypeIterator.h.
Referenced by EmitGEPOffset(), and evaluateRelation().
gep_type_iterator llvm::gep_type_begin | ( | const User & | GEP | ) | [inline] |
Definition at line 91 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::begin(), llvm::User::getOperand(), llvm::Value::getType(), and llvm::User::op_begin().
gep_type_iterator llvm::gep_type_begin | ( | const User * | GEP | ) | [inline] |
Definition at line 84 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::begin(), llvm::User::getOperand(), llvm::Value::getType(), and llvm::User::op_begin().
Referenced by ConstantFoldGetElementPtr(), ConstantFoldLoadThroughGEPConstantExpr(), llvm::TargetData::getIndexedOffset(), llvm::BytecodeReader::ParseConstantPoolValue(), and llvm::Interpreter::visitGetElementPtrInst().
generic_gep_type_iterator<ItTy> llvm::gep_type_end | ( | const Type * | Op0, | |
ItTy | I, | |||
ItTy | E | |||
) | [inline] |
Definition at line 107 of file GetElementPtrTypeIterator.h.
gep_type_iterator llvm::gep_type_end | ( | const User & | GEP | ) | [inline] |
Definition at line 95 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::end(), and llvm::User::op_end().
gep_type_iterator llvm::gep_type_end | ( | const User * | GEP | ) | [inline] |
Definition at line 88 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::end(), and llvm::User::op_end().
Referenced by ConstantFoldGetElementPtr(), ConstantFoldLoadThroughGEPConstantExpr(), llvm::BytecodeReader::ParseConstantPoolValue(), and llvm::Interpreter::visitGetElementPtrInst().
void* llvm::GetAddressOfSymbol | ( | const std::string & | symbolName | ) |
void* llvm::GetAddressOfSymbol | ( | const char * | symbolName | ) |
GetAddressOfSymbol - Returns the address of the named symbol in the currently running process, as reported by the dynamic linker, or NULL if the symbol does not exist or some other error has occurred.
ModuleProvider* llvm::getBytecodeBufferModuleProvider | ( | const unsigned char * | Buffer, | |
unsigned | Length, | |||
const std::string & | ModuleID, | |||
BytecodeHandler * | H | |||
) |
getBytecodeBufferModuleProvider - lazy function-at-a-time loading from a buffer
Definition at line 262 of file ReaderWrappers.cpp.
References CheckVarargs(), and H.
Referenced by AnalyzeBytecodeBuffer(), llvm::Archive::findModuleDefiningSymbol(), GetBytecodeSymbols(), and ParseBytecodeBuffer().
ModuleProvider* llvm::getBytecodeBufferModuleProvider | ( | const unsigned char * | Buffer, | |
unsigned | Length, | |||
const std::string & | ModuleID, | |||
BytecodeHandler * | H | |||
) |
getBytecodeBufferModuleProvider - lazy function-at-a-time loading from a buffer
Definition at line 262 of file ReaderWrappers.cpp.
References CheckVarargs(), and H.
Referenced by AnalyzeBytecodeBuffer(), llvm::Archive::findModuleDefiningSymbol(), GetBytecodeSymbols(), and ParseBytecodeBuffer().
bool llvm::GetBytecodeDependentLibraries | ( | const std::string & | fileName, | |
Module::LibraryListType & | deplibs | |||
) |
Get the list of dependent libraries from a bytecode file.
This function will read only the necessary parts of a bytecode file in order to determine the list of dependent libraries encoded within it. The deplibs
parameter will contain a vector of strings of the bytecode module's dependent libraries.
Definition at line 348 of file ReaderWrappers.cpp.
References llvm::SetVector< T >::clear(), getBytecodeModuleProvider(), llvm::Module::getLibraries(), and M.
bool llvm::GetBytecodeDependentLibraries | ( | const std::string & | fileName, | |
Module::LibraryListType & | deplibs | |||
) |
Get the list of dependent libraries from a bytecode file.
This function will read only the necessary parts of a bytecode file in order to determine the list of dependent libraries encoded within it. The deplibs
parameter will contain a vector of strings of the bytecode module's dependent libraries.
Definition at line 348 of file ReaderWrappers.cpp.
References llvm::SetVector< T >::clear(), getBytecodeModuleProvider(), llvm::Module::getLibraries(), and M.
ModuleProvider* llvm::getBytecodeModuleProvider | ( | const std::string & | Filename, | |
BytecodeHandler * | H | |||
) |
getBytecodeModuleProvider - lazy function-at-a-time loading from a file
Filename | Name of file to be read |
H | Optional handler for reader events |
Definition at line 287 of file ReaderWrappers.cpp.
References CheckVarargs(), and H.
Referenced by AnalyzeBytecodeFile(), GetBytecodeDependentLibraries(), GetBytecodeSymbols(), getMaterializedModuleProvider(), and ParseBytecodeFile().
ModuleProvider* llvm::getBytecodeModuleProvider | ( | const std::string & | Filename, | |
BytecodeHandler * | H | |||
) |
getBytecodeModuleProvider - lazy function-at-a-time loading from a file
Filename | Name of file to be read |
H | Optional handler for reader events |
Definition at line 287 of file ReaderWrappers.cpp.
References CheckVarargs(), and H.
Referenced by AnalyzeBytecodeFile(), GetBytecodeDependentLibraries(), GetBytecodeSymbols(), getMaterializedModuleProvider(), and ParseBytecodeFile().
ModuleProvider* llvm::GetBytecodeSymbols | ( | const unsigned char * | Buffer, | |
unsigned | Length, | |||
const std::string & | ModuleID, | |||
std::vector< std::string > & | symbols | |||
) |
Get a bytecode file's externally visibile defined global symbols.
This function will read only the necessary parts of a bytecode buffer in order to obtain a list of externally visible global symbols that the bytecode module defines. This is used for archiving and linking when only the list of symbols the module defines is needed and the bytecode is already in memory.
Buffer | The buffer to be parsed |
Length |
The length of Buffer |
ModuleID | An identifier for the module |
symbols | The symbols defined in the module |
Definition at line 395 of file ReaderWrappers.cpp.
References getBytecodeBufferModuleProvider(), getSymbols(), M, and llvm::ModuleProvider::materializeModule().
bool llvm::GetBytecodeSymbols | ( | const sys::Path & | fileName, | |
std::vector< std::string > & | syms | |||
) |
Get a bytecode file's externally visibile defined global symbols.
This function will read only the necessary parts of a bytecode file in order to obtain a list of externally visible global symbols that the bytecode module defines. This is used for archiving and linking when only the list of symbols the module defines is needed.
Definition at line 378 of file ReaderWrappers.cpp.
References getBytecodeModuleProvider(), getSymbols(), M, and llvm::sys::Path::toString().
ModuleProvider* llvm::GetBytecodeSymbols | ( | const unsigned char * | Buffer, | |
unsigned | Length, | |||
const std::string & | ModuleID, | |||
std::vector< std::string > & | symbols | |||
) |
Get a bytecode file's externally visibile defined global symbols.
This function will read only the necessary parts of a bytecode buffer in order to obtain a list of externally visible global symbols that the bytecode module defines. This is used for archiving and linking when only the list of symbols the module defines is needed and the bytecode is already in memory.
Buffer | The buffer to be parsed |
Length |
The length of Buffer |
ModuleID | An identifier for the module |
symbols | The symbols defined in the module |
Definition at line 395 of file ReaderWrappers.cpp.
References getBytecodeBufferModuleProvider(), getSymbols(), M, and llvm::ModuleProvider::materializeModule().
bool llvm::GetBytecodeSymbols | ( | const sys::Path & | fileName, | |
std::vector< std::string > & | syms | |||
) |
Get a bytecode file's externally visibile defined global symbols.
This function will read only the necessary parts of a bytecode file in order to obtain a list of externally visible global symbols that the bytecode module defines. This is used for archiving and linking when only the list of symbols the module defines is needed.
Definition at line 378 of file ReaderWrappers.cpp.
Referenced by llvm::Archive::findModulesDefiningSymbols(), and llvm::Archive::writeMember().
static int64_t llvm::getConstantValue | ( | const ConstantInt * | CPI | ) | [inline, static] |
Definition at line 27 of file TransformInternals.h.
std::ostream* llvm::GetLibSupportInfoOutputFile | ( | ) |
Definition at line 262 of file Timer.cpp.
References getLibSupportInfoOutputFilename().
Referenced by llvm::StatisticBase::destroy().
std::ostream * llvm::GetLibSupportInfoOutputFile | ( | ) |
Definition at line 262 of file Timer.cpp.
References getLibSupportInfoOutputFilename().
Referenced by llvm::StatisticBase::destroy().
BasicBlock* llvm::getNodeHeader | ( | Interval * | I | ) | [inline] |
BasicBlock* llvm::getNodeHeader | ( | BasicBlock * | BB | ) | [inline] |
static const CompositeType* llvm::getPointedToComposite | ( | const Type * | Ty | ) | [inline, static] |
Definition at line 35 of file TransformInternals.h.
References llvm::SequentialType::getElementType(), and Ty.
FunctionPass* llvm::getRegisterAllocator | ( | TargetMachine & | T | ) |
getRegisterAllocator - This creates an instance of the register allocator for the Sparc.
Interval* llvm::getSourceGraphNode | ( | IntervalPartition * | IP, | |
BasicBlock * | BB | |||
) | [inline] |
Definition at line 59 of file IntervalIterator.h.
References BB, and llvm::IntervalPartition::getBlockInterval().
BasicBlock* llvm::getSourceGraphNode | ( | Function * | , | |
BasicBlock * | BB | |||
) | [inline] |
Definition at line 56 of file IntervalIterator.h.
References BB.
Referenced by llvm::IntervalIterator< NodeTy, OrigContainer_t, GT, IGT >::operator++().
const Type * llvm::getStructOffsetType | ( | const Type * | Ty, | |
unsigned & | Offset, | |||
std::vector< Value * > & | Indices, | |||
const TargetData & | TD, | |||
bool | StopEarly = true | |||
) |
Definition at line 54 of file TransformInternals.cpp.
References llvm::ConstantSInt::get(), getStructOffsetStep(), llvm::TargetData::getTypeSize(), llvm::Type::IntTy, llvm::ConstantSInt::isValueValidForType(), llvm::Type::LongTy, TD, and Ty.
Referenced by ConvertOperandToType(), and OperandConvertibleToType().
std::string llvm::getToken | ( | std::string & | Source, | |
const char * | Delimiters | |||
) |
getToken - This function extracts one token from source, ignoring any leading characters that appear in the Delimiters string, and ending the token at any of the characters that appear in the Delimiters string. If there are no tokens in the source string, an empty string is returned. The Source source string is updated in place to remove the returned string and any delimiter prefix from it.
Definition at line 23 of file StringExtras.cpp.
Referenced by llvm::Module::getEndianness(), llvm::Module::getPointerSize(), llvm::TargetData::init(), and llvm::Debugger::loadProgram().
std::string llvm::getToken | ( | std::string & | Source, | |
const char * | Delimiters | |||
) |
getToken - This function extracts one token from source, ignoring any leading characters that appear in the Delimiters string, and ending the token at any of the characters that appear in the Delimiters string. If there are no tokens in the source string, an empty string is returned. The Source source string is updated in place to remove the returned string and any delimiter prefix from it.
Definition at line 23 of file StringExtras.cpp.
Referenced by llvm::Module::getEndianness(), llvm::Module::getPointerSize(), llvm::TargetData::init(), and llvm::Debugger::loadProgram().
unsigned llvm::getX86SubSuperRegister | ( | unsigned | Reg, | |
MVT::ValueType | VT, | |||
bool | High = false | |||
) |
Definition at line 983 of file X86RegisterInfo.cpp.
References N86::EAX, N86::EBP, N86::EBX, N86::ECX, N86::EDI, N86::EDX, N86::ESI, N86::ESP, llvm::MVT::i16, llvm::MVT::i32, and llvm::MVT::i8.
Referenced by llvm::X86IntelAsmPrinter::printAsmMRegister(), llvm::X86ATTAsmPrinter::printAsmMRegister(), llvm::X86IntelAsmPrinter::printMachineInstruction(), llvm::X86ATTAsmPrinter::printMachineInstruction(), llvm::X86IntelAsmPrinter::printOp(), and llvm::X86ATTAsmPrinter::printOperand().
void* llvm::GVTOP | ( | const GenericValue & | GV | ) | [inline] |
Definition at line 47 of file GenericValue.h.
References GV.
Referenced by lle_X___strdup(), lle_X_atexit(), lle_X_atoi(), lle_X_fclose(), lle_X_feof(), lle_X_ferror(), lle_X_fflush(), lle_X_fgets(), lle_X_fopen(), lle_X_fprintf(), lle_X_fputc(), lle_X_fread(), lle_X_free(), lle_X_freopen(), lle_X_fwrite(), lle_X_getc(), lle_X_memcpy(), lle_X_memset(), lle_X_puts(), lle_X_scanf(), lle_X_sprintf(), lle_X_sscanf(), lle_X_strcat(), lle_X_strcmp(), lle_X_strcpy(), lle_X_strdup(), lle_X_strlen(), lle_X_ungetc(), llvm::JIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::Interpreter::visitCallSite(), llvm::Interpreter::visitFreeInst(), llvm::Interpreter::visitLoadInst(), and llvm::Interpreter::visitStoreInst().
llvm::HANDLE_MEMORY_INST | ( | 21 | , | |
Malloc | , | |||
MallocInst | ||||
) |
AllocaInst PHINode CallInst SelectInst VAArgInst InsertElementInst llvm::HANDLE_OTHER_INST | ( | 40 | , | |
ShuffleVector | , | |||
ShuffleVectorInst | ||||
) |
AllocaInst PHINode CallInst SelectInst VAArgInst llvm::HANDLE_OTHER_INST | ( | 38 | , | |
ExtractElement | , | |||
ExtractElementInst | ||||
) |
AllocaInst PHINode CallInst SelectInst llvm::HANDLE_OTHER_INST | ( | 35 | , | |
UserOp1 | , | |||
Instruction | ||||
) |
AllocaInst PHINode CallInst llvm::HANDLE_OTHER_INST | ( | 30 | , | |
Shl | , | |||
ShiftInst | ||||
) |
AllocaInst PHINode llvm::HANDLE_OTHER_INST | ( | 28 | , | |
Cast | , | |||
CastInst | ||||
) |
static char llvm::hasBackEdge | ( | Function * | F | ) | [static] |
static uint64_t llvm::HexIntToVal | ( | const char * | Buffer | ) | [static] |
Definition at line 904 of file Lexer.cpp.
References C, and ThrowException().
Referenced by HexToFP().
static double llvm::HexToFP | ( | const char * | Buffer | ) | [static] |
unsigned llvm::Hi_32 | ( | uint64_t | Value | ) | [inline] |
idf_iterator<T> llvm::idf_begin | ( | T | G | ) |
idf_iterator<T> llvm::idf_end | ( | T | G | ) |
idf_ext_iterator<T, SetTy> llvm::idf_ext_begin | ( | T | G, | |
SetTy & | S | |||
) |
Definition at line 219 of file DepthFirstIterator.h.
idf_ext_iterator<T, SetTy> llvm::idf_ext_end | ( | T | G, | |
SetTy & | S | |||
) |
Definition at line 224 of file DepthFirstIterator.h.
void llvm::IncrementCounterInBlock | ( | BasicBlock * | BB, | |
unsigned | CounterNum, | |||
GlobalValue * | CounterArray | |||
) |
Definition at line 89 of file ProfilingUtils.cpp.
References BB, llvm::BasicBlock::begin(), llvm::BinaryOperator::create(), llvm::ConstantInt::get(), llvm::ConstantSInt::get(), llvm::ConstantExpr::getGetElementPtr(), llvm::Constant::getNullValue(), InsertPos, llvm::Type::IntTy, and llvm::Type::UIntTy.
Definition at line 180 of file InlineFunction.cpp.
References llvm::CallGraphNode::addCalledFunction(), AI, llvm::CallSite::arg_begin(), llvm::CallSite::arg_end(), llvm::Function::back(), BB, llvm::BasicBlock::begin(), llvm::Function::begin(), CloneAndPruneFunctionInto(), llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::ClonedCodeInfo::ContainsUnwinds, E, llvm::BasicBlock::end(), llvm::Function::end(), llvm::BasicBlock::eraseFromParent(), llvm::Function::front(), llvm::UndefValue::get(), llvm::PointerType::get(), llvm::AllocationInst::getArraySize(), llvm::Function::getBasicBlockList(), llvm::CallSite::getCalledFunction(), llvm::BasicBlock::getInstList(), llvm::CallSite::getInstruction(), llvm::Value::getName(), llvm::Instruction::getOpcode(), llvm::CallGraph::getOrInsertFunction(), llvm::Module::getOrInsertFunction(), llvm::GlobalValue::getParent(), llvm::BasicBlock::getParent(), llvm::Instruction::getParent(), llvm::BasicBlock::getTerminator(), HandleInlinedInvoke(), II, M, PHI, llvm::Value::replaceAllUsesWith(), Returns, llvm::Type::SByteTy, llvm::User::setOperand(), llvm::BasicBlock::splitBasicBlock(), UpdateCallGraphAfterInlining(), and llvm::Type::VoidTy.
bool llvm::InlineFunction | ( | InvokeInst * | II, | |
CallGraph * | CG | |||
) |
InlineFunction - This function inlines the called function into the basic block of the caller. This returns false if it is not possible to inline this call. The program is still in a well defined state if this occurs though.
Note that this only does one level of inlining. For example, if the instruction 'call B' is inlined, and 'B' calls 'C', then the call to 'C' now exists in the instruction stream. Similiarly this will inline a recursive function by one level.
If a non-null callgraph pointer is provided, these functions update the CallGraph to represent the program after inlining.
Definition at line 25 of file InlineFunction.cpp.
References InlineFunction().
Definition at line 180 of file InlineFunction.cpp.
References llvm::CallGraphNode::addCalledFunction(), AI, llvm::CallSite::arg_begin(), llvm::CallSite::arg_end(), llvm::Function::back(), BB, llvm::Function::begin(), llvm::BasicBlock::begin(), CloneAndPruneFunctionInto(), llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::ClonedCodeInfo::ContainsUnwinds, E, llvm::Function::end(), llvm::BasicBlock::end(), llvm::BasicBlock::eraseFromParent(), llvm::Function::front(), llvm::PointerType::get(), llvm::UndefValue::get(), llvm::AllocationInst::getArraySize(), llvm::Function::getBasicBlockList(), llvm::CallSite::getCalledFunction(), llvm::BasicBlock::getInstList(), llvm::CallSite::getInstruction(), llvm::Value::getName(), llvm::Instruction::getOpcode(), llvm::Module::getOrInsertFunction(), llvm::CallGraph::getOrInsertFunction(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::BasicBlock::getTerminator(), HandleInlinedInvoke(), II, M, PHI, llvm::Value::replaceAllUsesWith(), Returns, llvm::Type::SByteTy, llvm::User::setOperand(), llvm::BasicBlock::splitBasicBlock(), UpdateCallGraphAfterInlining(), and llvm::Type::VoidTy.
bool llvm::InlineFunction | ( | InvokeInst * | II, | |
CallGraph * | CG = 0 | |||
) |
Definition at line 28 of file InlineFunction.cpp.
InlineFunction - This function inlines the called function into the basic block of the caller. This returns false if it is not possible to inline this call. The program is still in a well defined state if this occurs though.
Note that this only does one level of inlining. For example, if the instruction 'call B' is inlined, and 'B' calls 'C', then the call to 'C' now exists in the instruction stream. Similiarly this will inline a recursive function by one level.
If a non-null callgraph pointer is provided, these functions update the CallGraph to represent the program after inlining.
Definition at line 25 of file InlineFunction.cpp.
Referenced by InlineCallIfPossible(), and InlineFunction().
void llvm::InsertProfilingInitCall | ( | Function * | MainFn, | |
const char * | FnName, | |||
GlobalValue * | Array = 0 | |||
) |
Definition at line 23 of file ProfilingUtils.cpp.
References AI, llvm::Function::arg_begin(), llvm::Function::arg_size(), llvm::BasicBlock::begin(), llvm::Function::begin(), llvm::ConstantUInt::get(), llvm::ConstantPointerNull::get(), llvm::PointerType::get(), llvm::SequentialType::getElementType(), llvm::ConstantExpr::getGetElementPtr(), llvm::Constant::getNullValue(), llvm::Module::getOrInsertFunction(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::GlobalValue::getType(), InsertPos, llvm::Type::IntTy, M, llvm::Type::SByteTy, llvm::User::setOperand(), and llvm::Type::UIntTy.
const_inst_iterator llvm::inst_begin | ( | const Function & | F | ) | [inline] |
inst_iterator llvm::inst_begin | ( | Function & | F | ) | [inline] |
const_inst_iterator llvm::inst_begin | ( | const Function * | F | ) | [inline] |
inst_iterator llvm::inst_begin | ( | Function * | F | ) | [inline] |
Definition at line 128 of file InstIterator.h.
References F.
Referenced by llvm::SlotCalculator::getPlane(), llvm::ScalarEvolution::print(), and llvm::FindUsedTypes::runOnModule().
const_inst_iterator llvm::inst_end | ( | const Function & | F | ) | [inline] |
inst_iterator llvm::inst_end | ( | Function & | F | ) | [inline] |
const_inst_iterator llvm::inst_end | ( | const Function * | F | ) | [inline] |
inst_iterator llvm::inst_end | ( | Function * | F | ) | [inline] |
Definition at line 129 of file InstIterator.h.
References F.
Referenced by llvm::constant_iterator::constant_iterator(), llvm::SlotCalculator::getPlane(), llvm::ScalarEvolution::print(), and llvm::FindUsedTypes::runOnModule().
interval_part_interval_iterator llvm::intervals_begin | ( | IntervalPartition & | IP, | |
bool | DeleteIntervals = true | |||
) | [inline] |
Definition at line 248 of file IntervalIterator.h.
function_interval_iterator llvm::intervals_begin | ( | Function * | F, | |
bool | DeleteInts = true | |||
) | [inline] |
Definition at line 239 of file IntervalIterator.h.
References F.
Referenced by llvm::IntervalPartition::IntervalPartition(), and llvm::IntervalPartition::runOnFunction().
interval_part_interval_iterator llvm::intervals_end | ( | IntervalPartition & | IP | ) | [inline] |
Definition at line 252 of file IntervalIterator.h.
function_interval_iterator llvm::intervals_end | ( | Function * | ) | [inline] |
Definition at line 243 of file IntervalIterator.h.
Referenced by llvm::IntervalPartition::IntervalPartition(), and llvm::IntervalPartition::runOnFunction().
ipo_iterator<T> llvm::ipo_begin | ( | T | G, | |
bool | Reverse = false | |||
) |
Definition at line 158 of file PostOrderIterator.h.
ipo_iterator<T> llvm::ipo_end | ( | T | G | ) |
Definition at line 163 of file PostOrderIterator.h.
ipo_ext_iterator<T, SetType> llvm::ipo_ext_begin | ( | T | G, | |
SetType & | S | |||
) |
Definition at line 177 of file PostOrderIterator.h.
ipo_ext_iterator<T, SetType> llvm::ipo_ext_end | ( | T | G, | |
SetType & | S | |||
) |
Definition at line 182 of file PostOrderIterator.h.
bool llvm::isa | ( | const Y & | Val | ) | [inline] |
bool llvm::isa_impl | ( | const From & | Val | ) | [inline] |
bool llvm::isa_impl< BasicBlock, Value > | ( | const Value & | Val | ) | [inline] |
bool llvm::isa_impl< GlobalValue, Value > | ( | const Value & | Val | ) | [inline] |
bool llvm::isa_impl< GlobalVariable, Value > | ( | const Value & | Val | ) | [inline] |
bool llvm::isa_impl< Instruction, Value > | ( | const Value & | Val | ) | [inline] |
bool llvm::isa_impl< PointerType, Type > | ( | const Type & | Ty | ) | [inline] |
bool llvm::isAllocaPromotable | ( | const AllocaInst * | AI, | |
const TargetData & | TD | |||
) |
isAllocaPromotable - Return true if this alloca is legal for promotion. This is true if there are only loads and stores to the alloca.
Definition at line 36 of file PromoteMemoryToRegister.cpp.
References AI, llvm::Value::use_begin(), and llvm::Value::use_end().
bool llvm::isAllocaPromotable | ( | const AllocaInst * | AI, | |
const TargetData & | TD | |||
) |
isAllocaPromotable - Return true if this alloca is legal for promotion. This is true if there are only loads and stores to the alloca.
Definition at line 36 of file PromoteMemoryToRegister.cpp.
References AI, llvm::Value::use_begin(), and llvm::Value::use_end().
bool llvm::isCriticalEdge | ( | const TerminatorInst * | TI, | |
unsigned | SuccNum | |||
) |
isCriticalEdge - Return true if the specified edge is a critical edge. Critical edges are edges from a block with multiple successors to a block with multiple predecessors.
Definition at line 86 of file BreakCriticalEdges.cpp.
References Dest, E, llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), pred_begin(), and pred_end().
Referenced by SplitCriticalEdge().
bool llvm::isCriticalEdge | ( | const TerminatorInst * | TI, | |
unsigned | SuccNum | |||
) |
isCriticalEdge - Return true if the specified edge is a critical edge. Critical edges are edges from a block with multiple successors to a block with multiple predecessors.
Definition at line 86 of file BreakCriticalEdges.cpp.
References Dest, E, llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), pred_begin(), and pred_end().
Referenced by SplitCriticalEdge().
bool llvm::isInstructionTriviallyDead | ( | Instruction * | I | ) |
isInstructionTriviallyDead - Return true if the result produced by the instruction is not used, and the instruction has no side effects.
Definition at line 325 of file Transforms/Utils/Local.cpp.
References F, llvm::Instruction::mayWriteToMemory(), and llvm::Value::use_empty().
Referenced by AddReachableCodeToWorklist(), dceInstruction(), ErasePossiblyDeadInstructionTree(), and SimplifyCFG().
bool llvm::isInstructionTriviallyDead | ( | Instruction * | I | ) |
isInstructionTriviallyDead - Return true if the result produced by the instruction is not used, and the instruction has no side effects.
Definition at line 325 of file Transforms/Utils/Local.cpp.
References F, llvm::Instruction::mayWriteToMemory(), and llvm::Value::use_empty().
Referenced by AddReachableCodeToWorklist(), dceInstruction(), ErasePossiblyDeadInstructionTree(), and SimplifyCFG().
bool llvm::isInt16 | ( | int | Value | ) | [inline] |
bool llvm::isInt32 | ( | int64_t | Value | ) | [inline] |
Definition at line 50 of file MathExtras.h.
bool llvm::isInt8 | ( | int | Value | ) | [inline] |
Definition at line 38 of file MathExtras.h.
const bool llvm::isMask_32 | ( | unsigned | Value | ) | [inline] |
const bool llvm::isMask_64 | ( | uint64_t | Value | ) | [inline] |
int llvm::IsNAN | ( | float | f | ) |
bool llvm::isPowerOf2_32 | ( | unsigned | Value | ) | [inline] |
Definition at line 85 of file MathExtras.h.
Referenced by llvm::PPCRegisterInfo::emitPrologue(), llvm::PackedType::get(), and llvm::PPCTargetLowering::isOperandValidForConstraint().
bool llvm::isPowerOf2_64 | ( | uint64_t | Value | ) | [inline] |
Definition at line 91 of file MathExtras.h.
Referenced by llvm::SelectionDAGLowering::visitGetElementPtr().
const bool llvm::isShiftedMask_32 | ( | unsigned | Value | ) | [inline] |
const bool llvm::isShiftedMask_64 | ( | uint64_t | Value | ) | [inline] |
bool llvm::isUInt16 | ( | int | Value | ) | [inline] |
Definition at line 47 of file MathExtras.h.
bool llvm::isUInt32 | ( | int64_t | Value | ) | [inline] |
Definition at line 53 of file MathExtras.h.
bool llvm::isUInt8 | ( | int | Value | ) | [inline] |
Definition at line 41 of file MathExtras.h.
static std::string llvm::itostr | ( | int64_t | X | ) | [inline, static] |
Definition at line 79 of file StringExtras.h.
References utostr().
Referenced by llvm::Debugger::contProgram(), llvm::Debugger::finishProgram(), llvm::ValID::getName(), getTypeVal(), getValNonImprovising(), llvm::Debugger::nextProgram(), llvm::BytecodeReader::ParseVersionInfo(), ResolveDefinitions(), and llvm::Debugger::stepProgram().
bool llvm::LinkDynamicObject | ( | const char * | filename, | |
std::string * | ErrorMessage | |||
) |
LinkDynamicObject - Load the named file as a dynamic library and link it with the currently running process. Returns false on success, true if there is an error (and sets ErrorMessage if it is not NULL). Analogous to dlopen().
void llvm::LinkInInterpreter | ( | ) |
Definition at line 28 of file Interpreter.cpp.
unsigned llvm::Lo_32 | ( | uint64_t | Value | ) | [inline] |
unsigned llvm::Log2_32 | ( | unsigned | Value | ) | [inline] |
Definition at line 233 of file MathExtras.h.
References CountLeadingZeros_32().
Referenced by llvm::TargetLowering::ComputeMaskedBits(), llvm::AsmPrinter::EmitAlignment(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::PPCRegisterInfo::emitPrologue(), llvm::AsmPrinter::getPreferredAlignmentLog(), llvm::TargetData::getTypeAlignmentShift(), LowerSETCC(), and llvm::TargetLowering::SimplifyDemandedBits().
unsigned llvm::Log2_32_Ceil | ( | unsigned | Value | ) | [inline] |
unsigned llvm::Log2_64 | ( | uint64_t | Value | ) | [inline] |
Definition at line 239 of file MathExtras.h.
References CountLeadingZeros_64().
Referenced by llvm::SelectionDAGLowering::visitGetElementPtr().
unsigned llvm::Log2_64_Ceil | ( | uint64_t | Value | ) | [inline] |
static std::string llvm::LowercaseString | ( | const std::string & | S | ) | [inline, static] |
Definition at line 94 of file StringExtras.h.
Referenced by llvm::SubtargetFeatures::AddFeature(), llvm::SubtargetFeatures::setCPU(), and llvm::SubtargetFeatures::setString().
make_vector - Helper function which is useful for building temporary vectors to pass into type construction of CallInst ctors. This turns a null terminated list of pointers (or other value types) into a real live vector.
Definition at line 28 of file VectorExtras.h.
mapped_iterator<ItTy, FuncTy> llvm::map_iterator | ( | const ItTy & | I, | |
FuncTy | F | |||
) | [inline] |
Definition at line 116 of file STLExtras.h.
Referenced by llvm::GraphTraits< CallGraphNode * >::child_begin(), llvm::GraphTraits< CallGraphNode * >::child_end(), llvm::GraphTraits< DSGraph * >::nodes_begin(), llvm::GraphTraits< CallGraph * >::nodes_begin(), llvm::GraphTraits< DSGraph * >::nodes_end(), and llvm::GraphTraits< CallGraph * >::nodes_end().
Value* llvm::MapValue | ( | const Value * | V, | |
ValueMapTy & | VM | |||
) |
Definition at line 21 of file ValueMapper.cpp.
References C, CP, llvm::ConstantPacked::get(), llvm::ConstantStruct::get(), llvm::ConstantArray::get(), llvm::User::getNumOperands(), llvm::Constant::getOperand(), Ops, and V.
Referenced by CloneAndPruneFunctionInto(), CloneModule(), and RemapInstruction().
ItTy llvm::next | ( | ItTy | it | ) | [inline] |
ItTy llvm::next | ( | ItTy | it, | |
Dist | n | |||
) | [inline] |
Definition at line 130 of file STLExtras.h.
Referenced by llvm::LiveInterval::removeRange(), llvm::ilist_traits< MachineBasicBlock >::setNext(), and llvm::ilist_traits< MachineInstr >::setNext().
bool llvm::operator!= | ( | const TypeInfo & | lhs, | |
const TypeInfo & | rhs | |||
) | [inline] |
Definition at line 58 of file TypeInfo.h.
mapped_iterator<_Iterator, Func> llvm::operator+ | ( | typename mapped_iterator< _Iterator, Func >::difference_type | N, | |
const mapped_iterator< _Iterator, Func > & | X | |||
) | [inline] |
bool llvm::operator< | ( | const TypeInfo & | lhs, | |
const TypeInfo & | rhs | |||
) | [inline] |
bool llvm::operator< | ( | const LiveRange & | LR, | |
unsigned | V | |||
) | [inline] |
bool llvm::operator< | ( | unsigned | V, | |
const LiveRange & | LR | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const Type * | T | |||
) |
static std::ostream& llvm::operator<< | ( | std::ostream & | o, | |
const std::set< BasicBlock * > & | BBs | |||
) | [static] |
std::ostream& llvm::operator<< | ( | std::ostream & | strm, | |
const sys::Path & | aPath | |||
) |
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const VirtRegMap & | VRM | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const MachineOperand & | MO | |||
) |
Definition at line 217 of file MachineInstr.cpp.
References llvm::MachineBasicBlock::getBasicBlock(), llvm::MachineOperand::getConstantPoolIndex(), llvm::MachineOperand::getFrameIndex(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImmedValue(), llvm::MachineOperand::getJumpTableIndex(), llvm::MachineOperand::getMachineBasicBlock(), llvm::Intrinsic::getName(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getType(), llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_FrameIndex, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, and OutputReg().
std::ostream& llvm::operator<< | ( | std::ostream & | os, | |
const MachineInstr & | MI | |||
) |
Definition at line 189 of file MachineInstr.cpp.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineFunction::getTarget(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isUse(), MBB, MF, MI, llvm::TargetInstrDescriptor::Name, llvm::MachineInstr::print(), and TargetInstrDescriptors.
std::ostream& llvm::operator<< | ( | std::ostream & | os, | |
const LiveRange & | LR | |||
) |
Definition at line 401 of file LiveInterval.cpp.
References llvm::LiveRange::end, llvm::LiveRange::start, and llvm::LiveRange::ValId.
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const Value & | V | |||
) | [inline] |
std::ostream & llvm::operator<< | ( | std::ostream & | OS, | |
const Type & | T | |||
) |
std::ostream& llvm::operator<< | ( | std::ostream & | strm, | |
const sys::Path & | aPath | |||
) |
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const ConstantRange & | CR | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const Pass & | P | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | O, | |
const Module & | M | |||
) | [inline] |
An iostream inserter for modules.
Definition at line 306 of file Module.h.
References M, and llvm::Module::print().
std::ostream& llvm::operator<< | ( | std::ostream & | out, | |
RAV | Val | |||
) |
std::ostream& llvm::operator<< | ( | std::ostream & | os, | |
const SchedGraphEdge & | edge | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | os, | |
const SchedGraphNodeCommon & | node | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const MachineOperand & | MO | |||
) |
Definition at line 217 of file MachineInstr.cpp.
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const MachineInstr & | MI | |||
) |
Definition at line 189 of file MachineInstr.cpp.
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const LiveInterval & | LI | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | os, | |
const LiveRange & | LR | |||
) |
Definition at line 401 of file LiveInterval.cpp.
std::ostream& llvm::operator<< | ( | std::ostream & | Out, | |
BytecodeAnalysis & | bca | |||
) | [inline] |
std::ostream inserter for BytecodeAnalysis structure
Definition at line 137 of file Analyzer.h.
References bca, and PrintBytecodeAnalysis().
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const SCEV & | S | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const AliasSetTracker & | AST | |||
) | [inline] |
Definition at line 382 of file AliasSetTracker.h.
References AST, and llvm::AliasSetTracker::print().
std::ostream& llvm::operator<< | ( | std::ostream & | OS, | |
const AliasSet & | AS | |||
) | [inline] |
std::ostream& llvm::operator<< | ( | std::ostream & | O, | |
const BitSetVector & | bset | |||
) | [inline] |
bool llvm::operator<= | ( | const TypeInfo & | lhs, | |
const TypeInfo & | rhs | |||
) | [inline] |
Definition at line 66 of file TypeInfo.h.
bool llvm::operator== | ( | const TypeInfo & | lhs, | |
const TypeInfo & | rhs | |||
) | [inline] |
bool llvm::operator> | ( | const TypeInfo & | lhs, | |
const TypeInfo & | rhs | |||
) | [inline] |
Definition at line 62 of file TypeInfo.h.
bool llvm::operator>= | ( | const TypeInfo & | lhs, | |
const TypeInfo & | rhs | |||
) | [inline] |
Definition at line 70 of file TypeInfo.h.
Module* llvm::ParseAssemblyFile | ( | const std::string & | Filename | ) |
Module* llvm::ParseAssemblyFile | ( | const std::string & | Filename | ) |
Module* llvm::ParseBytecodeBuffer | ( | const unsigned char * | Buffer, | |
unsigned | Length, | |||
const std::string & | ModuleID, | |||
std::string * | ErrorStr | |||
) |
Parse a given bytecode buffer.
ParseBytecodeBuffer - Parse a given bytecode buffer
Definition at line 272 of file ReaderWrappers.cpp.
References getBytecodeBufferModuleProvider().
Referenced by llvm::Archive::getAllModules(), and llvm::Archive::isBytecodeArchive().
Module* llvm::ParseBytecodeBuffer | ( | const unsigned char * | Buffer, | |
unsigned | Length, | |||
const std::string & | ModuleID, | |||
std::string * | ErrorStr | |||
) |
Parse a given bytecode buffer.
ParseBytecodeBuffer - Parse a given bytecode buffer
Definition at line 272 of file ReaderWrappers.cpp.
References getBytecodeBufferModuleProvider().
Referenced by llvm::Archive::getAllModules(), and llvm::Archive::isBytecodeArchive().
Module* llvm::ParseBytecodeFile | ( | const std::string & | Filename, | |
std::string * | ErrorStr | |||
) |
Parse the given bytecode file.
ParseBytecodeFile - Parse the given bytecode file
Definition at line 297 of file ReaderWrappers.cpp.
References getBytecodeModuleProvider().
Module* llvm::ParseBytecodeFile | ( | const std::string & | Filename, | |
std::string * | ErrorStr | |||
) |
Parse the given bytecode file.
ParseBytecodeFile - Parse the given bytecode file
Definition at line 297 of file ReaderWrappers.cpp.
References getBytecodeModuleProvider().
po_iterator<T> llvm::po_begin | ( | T | G | ) |
Definition at line 127 of file PostOrderIterator.h.
po_iterator<T> llvm::po_end | ( | T | G | ) |
Definition at line 129 of file PostOrderIterator.h.
po_ext_iterator<T, SetType> llvm::po_ext_begin | ( | T | G, | |
SetType & | S | |||
) |
Definition at line 139 of file PostOrderIterator.h.
po_ext_iterator<T, SetType> llvm::po_ext_end | ( | T | G, | |
SetType & | S | |||
) |
Definition at line 144 of file PostOrderIterator.h.
pred_const_iterator llvm::pred_begin | ( | const BasicBlock * | BB | ) | [inline] |
Definition at line 74 of file CFG.h.
References BB.
Referenced by AddBlockAndPredsToSet(), CanPropagatePredecessorsForPHIs(), FindObviousSharedDomOf(), FoldTwoEntryPHINode(), FoldValueComparisonIntoPredecessors(), GetIfCondition(), isPathTransparentTo(), isValueEqualityComparison(), MarkBlocksLiveIn(), and TryToSimplifyUncondBranchFromEmptyBlock().
pred_iterator llvm::pred_begin | ( | BasicBlock * | BB | ) | [inline] |
Interval::pred_iterator llvm::pred_begin | ( | Interval * | I | ) | [inline] |
pred_begin/pred_end - define methods so that Intervals may be used just like BasicBlocks can with the pred_* functions, and *pred_iterator.
Definition at line 117 of file Interval.h.
References llvm::Interval::Predecessors.
Referenced by llvm::GraphTraits< Inverse< Interval * > >::child_begin(), llvm::GraphTraits< Inverse< const BasicBlock * > >::child_begin(), llvm::GraphTraits< Inverse< BasicBlock * > >::child_begin(), CloneAndPruneFunctionInto(), llvm::Loop::getCanonicalInductionVariable(), llvm::ProfileInfo::getExecutionCount(), llvm::Loop::getLoopLatch(), llvm::Loop::getLoopPreheader(), llvm::Loop::getNumBackEdges(), llvm::BasicBlock::getSinglePredecessor(), isCriticalEdge(), llvm::Interval::isLoop(), llvm::BasicBlock::removePredecessor(), llvm::DominatorSet::runOnFunction(), llvm::ImmediateDominators::runOnFunction(), SimplifyCFG(), and llvm::SCEVExpander::visitAddRecExpr().
pred_const_iterator llvm::pred_end | ( | const BasicBlock * | BB | ) | [inline] |
Definition at line 78 of file CFG.h.
References BB.
Referenced by AddBlockAndPredsToSet(), CanPropagatePredecessorsForPHIs(), FindObviousSharedDomOf(), FoldValueComparisonIntoPredecessors(), GetIfCondition(), isPathTransparentTo(), isValueEqualityComparison(), MarkBlocksLiveIn(), and TryToSimplifyUncondBranchFromEmptyBlock().
pred_iterator llvm::pred_end | ( | BasicBlock * | BB | ) | [inline] |
Interval::pred_iterator llvm::pred_end | ( | Interval * | I | ) | [inline] |
Definition at line 120 of file Interval.h.
References llvm::Interval::Predecessors.
Referenced by llvm::GraphTraits< Inverse< Interval * > >::child_end(), llvm::GraphTraits< Inverse< const BasicBlock * > >::child_end(), llvm::GraphTraits< Inverse< BasicBlock * > >::child_end(), CloneAndPruneFunctionInto(), llvm::Loop::getCanonicalInductionVariable(), llvm::ProfileInfo::getExecutionCount(), llvm::Loop::getLoopLatch(), llvm::Loop::getLoopPreheader(), llvm::Loop::getNumBackEdges(), llvm::BasicBlock::getSinglePredecessor(), isCriticalEdge(), llvm::Interval::isLoop(), llvm::BasicBlock::removePredecessor(), llvm::DominatorSet::runOnFunction(), llvm::ImmediateDominators::runOnFunction(), SimplifyCFG(), and llvm::SCEVExpander::visitAddRecExpr().
void llvm::PrintBytecodeAnalysis | ( | BytecodeAnalysis & | bca, | |
std::ostream & | Out | |||
) |
Print BytecodeAnalysis structure to an ostream.
This function prints the contents of rhe BytecodeAnalysis structure in a human legible form.
Definition at line 611 of file Analyzer.cpp.
References bca, llvm::BytecodeAnalysis::BlockSizes, llvm::BytecodeAnalysis::byteSize, llvm::BytecodeFormat::CompactionTableBlockID, llvm::BytecodeFormat::ConstantPoolBlockID, llvm::BytecodeAnalysis::detailedResults, E, llvm::BytecodeAnalysis::fileDensity, llvm::BytecodeFormat::FunctionBlockID, llvm::BytecodeAnalysis::functionDensity, llvm::BytecodeAnalysis::FunctionInfo, llvm::BytecodeAnalysis::globalsDensity, llvm::BytecodeFormat::GlobalTypePlaneBlockID, llvm::BytecodeFormat::InstructionListBlockID, llvm::BytecodeAnalysis::instructionSize, llvm::BytecodeAnalysis::libSize, llvm::BytecodeAnalysis::longInstructions, llvm::BytecodeAnalysis::maxTypeSlot, llvm::BytecodeAnalysis::maxValueSlot, llvm::BytecodeFormat::ModuleBlockID, llvm::BytecodeFormat::ModuleGlobalInfoBlockID, llvm::BytecodeAnalysis::ModuleId, llvm::BytecodeAnalysis::numAlignment, llvm::BytecodeAnalysis::numBasicBlocks, llvm::BytecodeAnalysis::numBlocks, llvm::BytecodeAnalysis::numCmpctnTables, llvm::BytecodeAnalysis::numConstants, llvm::BytecodeAnalysis::numFunctions, llvm::BytecodeAnalysis::numGlobalVars, llvm::BytecodeAnalysis::numInstructions, llvm::BytecodeAnalysis::numLibraries, llvm::BytecodeAnalysis::numOperands, llvm::BytecodeAnalysis::numSymTab, llvm::BytecodeAnalysis::numTypes, llvm::BytecodeAnalysis::numValues, print(), llvm::BytecodeAnalysis::progressiveVerify, llvm::BytecodeFormat::Reserved_DoNotUse, llvm::BytecodeFormat::SymbolTableBlockID, llvm::BytecodeAnalysis::vbrCompBytes, llvm::BytecodeAnalysis::vbrCount32, llvm::BytecodeAnalysis::vbrCount64, llvm::BytecodeAnalysis::vbrExpdBytes, llvm::BytecodeAnalysis::VerifyInfo, and llvm::BytecodeAnalysis::version.
Referenced by operator<<().
void llvm::printSet | ( | const ValueSet & | S | ) |
ItTy llvm::prior | ( | ItTy | it | ) | [inline] |
Definition at line 151 of file STLExtras.h.
ItTy llvm::prior | ( | ItTy | it, | |
Dist | n | |||
) | [inline] |
Definition at line 144 of file STLExtras.h.
Referenced by llvm::X86RegisterInfo::emitEpilogue(), llvm::SparcRegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::IA64RegisterInfo::emitEpilogue(), llvm::ARMRegisterInfo::emitEpilogue(), llvm::AlphaRegisterInfo::emitEpilogue(), and llvm::LiveInterval::getLiveRangeContaining().
void llvm::PromoteMemToReg | ( | const std::vector< AllocaInst * > & | Allocas, | |
DominatorTree & | DT, | |||
DominanceFrontier & | DF, | |||
const TargetData & | TD, | |||
AliasSetTracker * | AST | |||
) |
PromoteMemToReg - Promote the specified list of alloca instructions into scalar registers, inserting PHI nodes as appropriate. This function makes use of DominanceFrontier information. This function does not modify the CFG of the function at all. All allocas must be from the same function.
If AST is specified, the specified tracker is updated to reflect changes made to the IR.
Definition at line 733 of file PromoteMemoryToRegister.cpp.
void llvm::PromoteMemToReg | ( | const std::vector< AllocaInst * > & | Allocas, | |
DominatorTree & | DT, | |||
DominanceFrontier & | DF, | |||
const TargetData & | TD, | |||
AliasSetTracker * | AST | |||
) |
PromoteMemToReg - Promote the specified list of alloca instructions into scalar registers, inserting PHI nodes as appropriate. This function makes use of DominanceFrontier information. This function does not modify the CFG of the function at all. All allocas must be from the same function.
If AST is specified, the specified tracker is updated to reflect changes made to the IR.
Definition at line 733 of file PromoteMemoryToRegister.cpp.
GenericValue llvm::PTOGV | ( | void * | P | ) | [inline] |
Definition at line 46 of file GenericValue.h.
Referenced by CreateArgv(), llvm::ExecutionEngine::getConstantValue(), lle_X___strdup(), lle_X_calloc(), lle_X_fopen(), lle_X_fprintf(), lle_X_freopen(), lle_X_malloc(), lle_X_memcpy(), lle_X_memset(), lle_X_printf(), lle_X_strcat(), lle_X_strcpy(), lle_X_strdup(), llvm::JIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), and llvm::Interpreter::visitAllocationInst().
void llvm::RemapInstruction | ( | Instruction * | I, | |
ValueMapTy & | VM | |||
) |
void llvm::RemapInstruction | ( | Instruction * | I, | |
std::map< const Value *, Value * > & | ValueMap | |||
) |
RemapInstruction - Convert the instruction operands from referencing the current values into those specified by ValueMap.
Definition at line 108 of file ValueMapper.cpp.
References E, llvm::User::getNumOperands(), llvm::User::getOperand(), MapValue(), Op, llvm::User::setOperand(), and V.
Referenced by CloneAndPruneFunctionInto(), CloneFunctionInto(), and CloneTraceInto().
void llvm::RemoveSuccessor | ( | TerminatorInst * | TI, | |
unsigned | SuccNum | |||
) |
RemoveSuccessor - Change the specified terminator instruction such that its successor SuccNum no longer exists. Because this reduces the outgoing degree of the current basic block, the actual terminator instruction itself may have to be changed. In the case where the last successor of the block is deleted, a return instruction is inserted in its place which can cause a surprising change in program behavior if it is not expected.
Definition at line 77 of file BasicBlockUtils.cpp.
References BB, llvm::Constant::getNullValue(), llvm::TerminatorInst::getNumSuccessors(), llvm::Instruction::getOpcode(), llvm::Instruction::getParent(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::removePredecessor(), ReplaceInstWithInst(), and llvm::Type::VoidTy.
void llvm::RemoveSuccessor | ( | TerminatorInst * | TI, | |
unsigned | SuccNum | |||
) |
RemoveSuccessor - Change the specified terminator instruction such that its successor SuccNum no longer exists. Because this reduces the outgoing degree of the current basic block, the actual terminator instruction itself may have to be changed. In the case where the last successor of the block is deleted, a return instruction is inserted in its place which can cause a surprising change in program behavior if it is not expected.
Definition at line 77 of file BasicBlockUtils.cpp.
References BB, llvm::Constant::getNullValue(), llvm::TerminatorInst::getNumSuccessors(), llvm::Instruction::getOpcode(), llvm::Instruction::getParent(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::removePredecessor(), ReplaceInstWithInst(), and llvm::Type::VoidTy.
void llvm::ReplaceInstWithInst | ( | Instruction * | From, | |
Instruction * | To | |||
) |
ReplaceInstWithInst - Replace the instruction specified by From with the instruction specified by To.
Definition at line 65 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::getInstList(), llvm::Instruction::getParent(), and ReplaceInstWithInst().
void llvm::ReplaceInstWithInst | ( | BasicBlock::InstListType & | BIL, | |
BasicBlock::iterator & | BI, | |||
Instruction * | I | |||
) |
ReplaceInstWithInst - Replace the instruction specified by BI with the instruction specified by I. The original instruction is deleted and BI is updated to point to the new instruction.
Definition at line 47 of file BasicBlockUtils.cpp.
References llvm::Instruction::getParent(), and ReplaceInstWithValue().
void llvm::ReplaceInstWithInst | ( | Instruction * | From, | |
Instruction * | To | |||
) |
ReplaceInstWithInst - Replace the instruction specified by From with the instruction specified by To.
Definition at line 65 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::getInstList(), llvm::Instruction::getParent(), and ReplaceInstWithInst().
void llvm::ReplaceInstWithInst | ( | BasicBlock::InstListType & | BIL, | |
BasicBlock::iterator & | BI, | |||
Instruction * | I | |||
) |
ReplaceInstWithInst - Replace the instruction specified by BI with the instruction specified by I. The original instruction is deleted and BI is updated to point to the new instruction.
Definition at line 47 of file BasicBlockUtils.cpp.
Referenced by RemoveSuccessor(), and ReplaceInstWithInst().
void llvm::ReplaceInstWithValue | ( | BasicBlock::InstListType & | BIL, | |
BasicBlock::iterator & | BI, | |||
Value * | V | |||
) |
ReplaceInstWithValue - Replace all uses of an instruction (specified by BI) with a value, then remove and delete the original instruction.
Definition at line 26 of file BasicBlockUtils.cpp.
References llvm::Value::getName(), llvm::Value::replaceAllUsesWith(), and V.
Referenced by ReplaceInstWithInst().
void llvm::ReplaceInstWithValue | ( | BasicBlock::InstListType & | BIL, | |
BasicBlock::iterator & | BI, | |||
Value * | V | |||
) |
ReplaceInstWithValue - Replace all uses of an instruction (specified by BI) with a value, then remove and delete the original instruction.
Definition at line 26 of file BasicBlockUtils.cpp.
References llvm::Value::getName(), llvm::Value::replaceAllUsesWith(), and V.
Referenced by ReplaceInstWithInst().
Definition at line 1149 of file llvmAsmParser.cpp.
References CurFilename, M, RunParser(), and set_scan_string().
Module * llvm::RunVMAsmParser | ( | const std::string & | Filename, | |
FILE * | F | |||
) |
Definition at line 1142 of file llvmAsmParser.cpp.
References CurFilename, RunParser(), and set_scan_file().
Referenced by ParseAssemblyFile(), and ParseAssemblyString().
scc_iterator<T> llvm::scc_begin | ( | T | G | ) |
Definition at line 188 of file SCCIterator.h.
Referenced by llvm::Type::PromoteAbstractToConcrete(), and llvm::CallGraphSCCPass::runOnModule().
scc_iterator<T> llvm::scc_end | ( | T | G | ) |
Definition at line 193 of file SCCIterator.h.
Referenced by llvm::Type::PromoteAbstractToConcrete(), and llvm::CallGraphSCCPass::runOnModule().
S1Ty llvm::set_difference | ( | const S1Ty & | S1, | |
const S2Ty & | S2 | |||
) |
void llvm::set_intersect | ( | S1Ty & | S1, | |
const S2Ty & | S2 | |||
) |
set_intersect(A, B) - Compute A := A ^ B Identical to set_intersection, except that it works on set<>'s and is nicer to use. Functionally, this iterates through S1, removing elements that are not contained in S2.
Definition at line 40 of file SetOperations.h.
References E.
void llvm::set_subtract | ( | S1Ty & | S1, | |
const S2Ty & | S2 | |||
) |
set_subtract(A, B) - Compute A := A - B
Definition at line 63 of file SetOperations.h.
References SE.
Referenced by llvm::Linker::LinkInArchive().
bool llvm::set_union | ( | S1Ty & | S1, | |
const S2Ty & | S2 | |||
) |
set_union(A, B) - Compute A := A u B, return whether A changed.
Definition at line 23 of file SetOperations.h.
bool llvm::SimplifyCFG | ( | BasicBlock * | BB | ) |
SimplifyCFG - This function is used to do simplification of a CFG. For example, it adjusts branches to branches to eliminate the extra hop, it eliminates unreachable basic blocks, and does other "peephole" optimization of the CFG. It returns true if a modification was made, possibly deleting the basic block that was pointed to.
WARNING: The entry node of a method may not be simplified.
Definition at line 1149 of file Utils/SimplifyCFG.cpp.
References llvm::SwitchInst::addCase(), llvm::PHINode::addIncoming(), AddPredecessorToBlock(), llvm::BasicBlock::back(), BB, llvm::BasicBlock::begin(), BlockIsSimpleEnoughToThreadThrough(), llvm::Type::BoolTy, Changed, llvm::BinaryOperator::clone(), ConstantFoldTerminator(), llvm::BinaryOperator::create(), llvm::BinaryOperator::createNot(), DEBUG, E, llvm::BasicBlock::empty(), llvm::BasicBlock::end(), ErasePossiblyDeadInstructionTree(), FoldCondBranchOnPHI(), FoldTwoEntryPHINode(), FoldValueComparisonIntoPredecessors(), llvm::BasicBlock::front(), llvm::Function::front(), GatherValueComparisons(), llvm::ConstantBool::get(), llvm::UndefValue::get(), llvm::PHINode::getBasicBlockIndex(), llvm::PHINode::getIncomingValue(), llvm::PHINode::getIncomingValueForBlock(), llvm::BasicBlock::getInstList(), llvm::Value::getName(), llvm::TargetInstrInfo::getName(), llvm::User::getNumOperands(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getSinglePredecessor(), llvm::BasicBlock::getTerminator(), llvm::Value::hasName(), HoistThenElseCodeToIf(), II, isInstructionTriviallyDead(), isValueEqualityComparison(), M, PI, pred_begin(), pred_end(), llvm::BasicBlock::removePredecessor(), llvm::Value::replaceAllUsesWith(), SafeToMergeTerminators(), SE, llvm::PHINode::setIncomingValue(), llvm::Value::setName(), llvm::User::setOperand(), SimplifyCFG(), SimplifyEqualityComparisonWithOnlyPredecessor(), succ_begin(), succ_end(), TryToSimplifyUncondBranchFromEmptyBlock(), and V.
Referenced by SimplifyCFG().
bool llvm::SimplifyCFG | ( | BasicBlock * | BB | ) |
SimplifyCFG - This function is used to do simplification of a CFG. For example, it adjusts branches to branches to eliminate the extra hop, it eliminates unreachable basic blocks, and does other "peephole" optimization of the CFG. It returns true if a modification was made, possibly deleting the basic block that was pointed to.
WARNING: The entry node of a method may not be simplified.
Definition at line 1149 of file Utils/SimplifyCFG.cpp.
References llvm::SwitchInst::addCase(), llvm::PHINode::addIncoming(), AddPredecessorToBlock(), llvm::BasicBlock::back(), BB, llvm::BasicBlock::begin(), BlockIsSimpleEnoughToThreadThrough(), llvm::Type::BoolTy, Changed, llvm::BinaryOperator::clone(), ConstantFoldTerminator(), llvm::BinaryOperator::create(), llvm::BinaryOperator::createNot(), DEBUG, E, llvm::BasicBlock::empty(), llvm::BasicBlock::end(), ErasePossiblyDeadInstructionTree(), FoldCondBranchOnPHI(), FoldTwoEntryPHINode(), FoldValueComparisonIntoPredecessors(), llvm::Function::front(), llvm::BasicBlock::front(), GatherValueComparisons(), llvm::UndefValue::get(), llvm::ConstantBool::get(), llvm::PHINode::getBasicBlockIndex(), llvm::PHINode::getIncomingValue(), llvm::PHINode::getIncomingValueForBlock(), llvm::BasicBlock::getInstList(), llvm::TargetInstrInfo::getName(), llvm::Value::getName(), llvm::User::getNumOperands(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getSinglePredecessor(), llvm::BasicBlock::getTerminator(), llvm::Value::hasName(), HoistThenElseCodeToIf(), II, isInstructionTriviallyDead(), isValueEqualityComparison(), M, PI, pred_begin(), pred_end(), llvm::BasicBlock::removePredecessor(), llvm::Value::replaceAllUsesWith(), SafeToMergeTerminators(), SE, llvm::PHINode::setIncomingValue(), llvm::Value::setName(), llvm::User::setOperand(), SimplifyCFG(), SimplifyEqualityComparisonWithOnlyPredecessor(), succ_begin(), succ_end(), TryToSimplifyUncondBranchFromEmptyBlock(), and V.
Referenced by SimplifyCFG().
static const char* llvm::SPARCCondCodeToString | ( | SPCC::CondCodes | CC | ) | [static] |
Definition at line 82 of file Sparc.h.
References llvm::SPCC::FCC_E, llvm::SPCC::FCC_G, llvm::SPCC::FCC_GE, llvm::SPCC::FCC_L, llvm::SPCC::FCC_LE, llvm::SPCC::FCC_LG, llvm::SPCC::FCC_NE, llvm::SPCC::FCC_O, llvm::SPCC::FCC_U, llvm::SPCC::FCC_UE, llvm::SPCC::FCC_UG, llvm::SPCC::FCC_UGE, llvm::SPCC::FCC_UL, llvm::SPCC::FCC_ULE, llvm::SPCC::ICC_CC, llvm::SPCC::ICC_CS, llvm::SPCC::ICC_E, llvm::SPCC::ICC_G, llvm::SPCC::ICC_GE, llvm::SPCC::ICC_GU, llvm::SPCC::ICC_L, llvm::SPCC::ICC_LE, llvm::SPCC::ICC_LEU, llvm::SPCC::ICC_NE, llvm::SPCC::ICC_NEG, llvm::SPCC::ICC_POS, llvm::SPCC::ICC_VC, and llvm::SPCC::ICC_VS.
bool llvm::SplitCriticalEdge | ( | TerminatorInst * | TI, | |
unsigned | SuccNum, | |||
Pass * | P = 0 | |||
) |
SplitCriticalEdge - If this edge is a critical edge, insert a new node to split the critical edge. This will update DominatorSet, ImmediateDominator, DominatorTree, and DominatorFrontier information if it is available, thus calling this pass will not invalidate either of them. This returns true if the edge was split, false otherwise.
Definition at line 105 of file BreakCriticalEdges.cpp.
References llvm::DominanceFrontierBase::addBasicBlock(), llvm::DominatorSetBase::addBasicBlock(), llvm::ETForestBase::addNewBlock(), llvm::ISD::BasicBlock, llvm::BasicBlock::begin(), llvm::DominatorTreeBase::createNewNode(), DF, DS, DT, EF, F, llvm::Pass::getAnalysisToUpdate(), llvm::DominatorSetBase::getDominators(), llvm::LoopInfo::getLoopFor(), llvm::Value::getName(), llvm::BasicBlock::getNext(), llvm::DominatorTreeBase::getNode(), llvm::BasicBlock::getParent(), llvm::Instruction::getParent(), llvm::TerminatorInst::getSuccessor(), isCriticalEdge(), LI, Node, and llvm::TerminatorInst::setSuccessor().
Referenced by IVUseShouldUsePostIncValue(), llvm::SelectionDAGISel::runOnFunction(), and SplitCriticalEdge().
bool llvm::SplitCriticalEdge | ( | BasicBlock * | Src, | |
BasicBlock * | Dst, | |||
Pass * | P = 0 | |||
) | [inline] |
SplitCriticalEdge - If an edge from Src to Dst is critical, split the edge and return true, otherwise return false. This method requires that there be an edge between the two blocks. If P is specified, it updates the analyses described above.
Definition at line 92 of file BasicBlockUtils.h.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), SplitCriticalEdge(), and Src.
bool llvm::SplitCriticalEdge | ( | BasicBlock * | Succ, | |
pred_iterator | PI, | |||
Pass * | P = 0 | |||
) | [inline] |
SplitCriticalEdge - If the edge from *PI to BB is not critical, return false. Otherwise, split all edges between the two blocks and return true. This updates all of the same analyses as the other SplitCriticalEdge function. If P is specified, it updates the analyses described above.
Definition at line 79 of file BasicBlockUtils.h.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), MadeChange, and SplitCriticalEdge().
bool llvm::SplitCriticalEdge | ( | BasicBlock * | BB, | |
succ_iterator | SI, | |||
Pass * | P = 0 | |||
) | [inline] |
Definition at line 70 of file BasicBlockUtils.h.
References BB, llvm::SuccIterator< Term_, BB_ >::getSuccessorIndex(), llvm::BasicBlock::getTerminator(), and SplitCriticalEdge().
bool llvm::SplitCriticalEdge | ( | TerminatorInst * | TI, | |
unsigned | SuccNum, | |||
Pass * | P = 0 | |||
) |
SplitCriticalEdge - If this edge is a critical edge, insert a new node to split the critical edge. This will update DominatorSet, ImmediateDominator, DominatorTree, and DominatorFrontier information if it is available, thus calling this pass will not invalidate either of them. This returns true if the edge was split, false otherwise.
Definition at line 105 of file BreakCriticalEdges.cpp.
References llvm::DominatorSetBase::addBasicBlock(), llvm::DominanceFrontierBase::addBasicBlock(), llvm::ETForestBase::addNewBlock(), llvm::ISD::BasicBlock, llvm::BasicBlock::begin(), llvm::DominatorTreeBase::createNewNode(), DF, DS, DT, EF, F, llvm::Pass::getAnalysisToUpdate(), llvm::DominatorSetBase::getDominators(), llvm::LoopInfo::getLoopFor(), llvm::Value::getName(), llvm::BasicBlock::getNext(), llvm::DominatorTreeBase::getNode(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::TerminatorInst::getSuccessor(), isCriticalEdge(), LI, Node, and llvm::TerminatorInst::setSuccessor().
Referenced by IVUseShouldUsePostIncValue(), llvm::SelectionDAGISel::runOnFunction(), and SplitCriticalEdge().
static bool llvm::StringsEqualNoCase | ( | const std::string & | LHS, | |
const char * | RHS | |||
) | [inline, static] |
StringsEqualNoCase - Return true if the two strings are equal, ignoring case.
Definition at line 114 of file StringExtras.h.
static bool llvm::StringsEqualNoCase | ( | const std::string & | LHS, | |
const std::string & | RHS | |||
) | [inline, static] |
StringsEqualNoCase - Return true if the two strings are equal, ignoring case.
Definition at line 104 of file StringExtras.h.
Referenced by llvm::TargetLowering::getRegForInlineAsmConstraint().
succ_const_iterator llvm::succ_begin | ( | const BasicBlock * | BB | ) | [inline] |
Definition at line 140 of file CFG.h.
References BB, and llvm::BasicBlock::getTerminator().
Referenced by AddPredecessorToBlock(), CalcRegionExitBlocks(), CanPropagatePredecessorsForPHIs(), HoistThenElseCodeToIf(), isTrivialLoopExitBlockHelper(), MarkAliveBlocks(), SafeToMergeTerminators(), and SimplifyEqualityComparisonWithOnlyPredecessor().
succ_iterator llvm::succ_begin | ( | BasicBlock * | BB | ) | [inline] |
Interval::succ_iterator llvm::succ_begin | ( | Interval * | I | ) | [inline] |
succ_begin/succ_end - define methods so that Intervals may be used just like BasicBlocks can with the succ_* functions, and *succ_iterator.
Definition at line 107 of file Interval.h.
References llvm::Interval::Successors.
Referenced by llvm::GraphTraits< Interval * >::child_begin(), llvm::GraphTraits< const BasicBlock * >::child_begin(), llvm::GraphTraits< BasicBlock * >::child_begin(), doDFS(), llvm::DOTGraphTraits< const Function * >::getEdgeSourceLabel(), llvm::Loop::getExitBlocks(), llvm::Loop::getLoopPreheader(), llvm::Loop::isLoopExit(), llvm::PostDominatorSet::runOnFunction(), llvm::ImmediatePostDominators::runOnFunction(), SimplifyCFG(), and llvm::BasicBlock::splitBasicBlock().
succ_const_iterator llvm::succ_end | ( | const BasicBlock * | BB | ) | [inline] |
Definition at line 146 of file CFG.h.
References BB, and llvm::BasicBlock::getTerminator().
Referenced by AddPredecessorToBlock(), CalcRegionExitBlocks(), HoistThenElseCodeToIf(), isTrivialLoopExitBlockHelper(), MarkAliveBlocks(), SafeToMergeTerminators(), and SimplifyEqualityComparisonWithOnlyPredecessor().
succ_iterator llvm::succ_end | ( | BasicBlock * | BB | ) | [inline] |
Interval::succ_iterator llvm::succ_end | ( | Interval * | I | ) | [inline] |
Definition at line 110 of file Interval.h.
References llvm::Interval::Successors.
Referenced by llvm::GraphTraits< Interval * >::child_end(), llvm::GraphTraits< const BasicBlock * >::child_end(), llvm::GraphTraits< BasicBlock * >::child_end(), doDFS(), llvm::Loop::getExitBlocks(), llvm::Loop::getLoopPreheader(), llvm::Loop::isLoopExit(), llvm::IntervalIterator< NodeTy, OrigContainer_t, GT, IGT >::operator++(), llvm::PostDominatorSet::runOnFunction(), llvm::ImmediatePostDominators::runOnFunction(), SimplifyCFG(), and llvm::BasicBlock::splitBasicBlock().
static void llvm::ThrowException | ( | const std::string & | message, | |
int | LineNo = -1 | |||
) | [inline, static] |
Definition at line 68 of file ParserInternals.h.
References CurFilename, and llvmAsmlineno.
Referenced by atoull(), PerFunctionInfo::FunctionDone(), getBBVal(), getTypeVal(), getVal(), getValNonImprovising(), HexIntToVal(), PerModuleInfo::ModuleDone(), ParseGlobalVariable(), ResolveDefinitions(), RunParser(), setTypeName(), setValueName(), UnEscapeLexed(), and yyerror().
tier<T1, T2> llvm::tie | ( | T1 & | f, | |
T2 & | s | |||
) | [inline] |
Definition at line 198 of file STLExtras.h.
Referenced by llvm::ProgramInfo::getSourceFile(), llvm::LiveVariables::instructionChanged(), and llvm::TypeMap< ValType, TypeClass >::RefineAbstractType().
char * llvm::UnEscapeLexed | ( | char * | Buffer, | |
bool | AllowNull = false | |||
) |
void llvm::UnescapeString | ( | std::string & | Str | ) |
UnescapeString - Modify the argument string, turning two character sequences like '\' 'n' into '
'. This handles: \' \ and (where num is a 1-3 byte octal value).
Definition at line 49 of file StringExtras.cpp.
void llvm::UnescapeString | ( | std::string & | Str | ) |
UnescapeString - Modify the argument string, turning two character sequences like '\' 'n' into '
'. This handles: \' \ and (where num is a 1-3 byte octal value).
Definition at line 49 of file StringExtras.cpp.
bool llvm::UpgradeCallsToIntrinsic | ( | Function * | F | ) |
Upgrade both the function and all the calls made to it, if that function needs to be upgraded. This is like a combination of the above two functions, UpgradeIntrinsicFunction and UpgradeIntrinsicCall. Note that the calls are replaced so this should only be used in a post-processing manner (i.e. after all assembly/bytecode has been read).
Definition at line 275 of file AutoUpgrade.cpp.
References F, UpgradeIntrinsicCall(), and UpgradeIntrinsicFunction().
Referenced by PerModuleInfo::ModuleDone().
bool llvm::UpgradeCallsToIntrinsic | ( | Function * | F | ) |
Upgrade both the function and all the calls made to it, if that function needs to be upgraded. This is like a combination of the above two functions, UpgradeIntrinsicFunction and UpgradeIntrinsicCall. Note that the calls are replaced so this should only be used in a post-processing manner (i.e. after all assembly/bytecode has been read).
Definition at line 275 of file AutoUpgrade.cpp.
References F, UpgradeIntrinsicCall(), and UpgradeIntrinsicFunction().
Referenced by PerModuleInfo::ModuleDone().
Get replacement instruction for overloaded intrinsic function call.
In LLVM 1.7, the overloading of intrinsic functions was replaced with separate functions for each of the various argument sizes. This function implements the auto-upgrade feature from old overloaded names to the new non-overloaded names. This function inspects the CallInst CI
to see if it is a call to an old overloaded intrinsic. If it is, a new CallInst is created that uses the correct Function and possibly casts the argument and result to an unsigned type.
CI | The CallInst to potentially auto-upgrade. |
NewFn | The new function for the call replacement. |
Definition at line 217 of file AutoUpgrade.cpp.
References CastArg(), llvm::Instruction::eraseFromParent(), F, llvm::UndefValue::get(), getArgumentPermutation(), llvm::CallInst::getCalledFunction(), llvm::CallInst::getCallingConv(), llvm::Function::getFunctionType(), llvm::Value::getName(), llvm::User::getNumOperands(), llvm::FunctionType::getNumParams(), llvm::User::getOperand(), llvm::FunctionType::getParamType(), llvm::Function::getReturnType(), llvm::Value::getType(), llvm::CallInst::isTailCall(), llvm::Instruction::moveBefore(), llvm::Value::replaceAllUsesWith(), llvm::CallInst::setCallingConv(), llvm::CallInst::setTailCall(), llvm::Value::use_empty(), V, and llvm::Type::VoidTy.
Referenced by llvm::BytecodeReader::ParseFunctionBody(), and UpgradeCallsToIntrinsic().
Get replacement instruction for overloaded intrinsic function call.
In LLVM 1.7, the overloading of intrinsic functions was replaced with separate functions for each of the various argument sizes. This function implements the auto-upgrade feature from old overloaded names to the new non-overloaded names. This function inspects the CallInst CI
to see if it is a call to an old overloaded intrinsic. If it is, a new CallInst is created that uses the correct Function and possibly casts the argument and result to an unsigned type.
CI | The CallInst to potentially auto-upgrade. |
newF | The new function for the call replacement. |
Definition at line 217 of file AutoUpgrade.cpp.
References CastArg(), llvm::Instruction::eraseFromParent(), F, llvm::UndefValue::get(), getArgumentPermutation(), llvm::CallInst::getCalledFunction(), llvm::CallInst::getCallingConv(), llvm::Function::getFunctionType(), llvm::Value::getName(), llvm::User::getNumOperands(), llvm::FunctionType::getNumParams(), llvm::User::getOperand(), llvm::FunctionType::getParamType(), llvm::Function::getReturnType(), llvm::Value::getType(), llvm::CallInst::isTailCall(), llvm::Instruction::moveBefore(), llvm::Value::replaceAllUsesWith(), llvm::CallInst::setCallingConv(), llvm::CallInst::setTailCall(), llvm::Value::use_empty(), V, and llvm::Type::VoidTy.
Referenced by llvm::BytecodeReader::ParseFunctionBody(), and UpgradeCallsToIntrinsic().
Remove overloaded intrinsic function names.
This function inspects the Function F
to see if it is an old overloaded intrinsic. If it is, the Function's name is changed to add a suffix that indicates the kind of arguments or result that it accepts. In LLVM release 1.7, the overloading of intrinsic functions was replaced with separate functions for each of the various argument sizes. This function implements the auto-upgrade feature from the old overloaded names to the new non-overloaded names.
F | The Function to potentially auto-upgrade. |
Definition at line 192 of file AutoUpgrade.cpp.
References F, getUpgradedIntrinsic(), and R.
Referenced by llvm::BytecodeReader::ParseBytecode(), and UpgradeCallsToIntrinsic().
Remove overloaded intrinsic function names.
This function inspects the Function F
to see if it is an old overloaded intrinsic. If it is, the Function's name is changed to add a suffix that indicates the kind of arguments or result that it accepts. In LLVM release 1.7, the overloading of intrinsic functions was replaced with separate functions for each of the various argument sizes. This function implements the auto-upgrade feature from the old overloaded names to the new non-overloaded names.
F | The Function to potentially auto-upgrade. |
Definition at line 192 of file AutoUpgrade.cpp.
References F, getUpgradedIntrinsic(), and R.
Referenced by llvm::BytecodeReader::ParseBytecode(), and UpgradeCallsToIntrinsic().
static std::string llvm::utohexstr | ( | uint64_t | X | ) | [inline, static] |
Definition at line 24 of file StringExtras.h.
Referenced by llvm::BytecodeReader::ParseBytecode(), and WriteConstantInt().
static std::string llvm::utostr | ( | uint64_t | X, | |
bool | isNeg = false | |||
) | [inline, static] |
Definition at line 59 of file StringExtras.h.
References Buffer, and utostr_32().
Referenced by calcTypeName(), llvm::Compressor::compress(), llvm::Archive::fillHeader(), getTypeDescription(), llvm::ValueSymbolTable::getUniqueName(), llvm::TypeSymbolTable::getUniqueName(), llvm::SymbolTable::getUniqueName(), getValNonImprovising(), llvm::Mangler::getValueName(), InsertCodeToShowFunctionEntry(), itostr(), llvm::BytecodeReader::ParseBytecode(), llvm::BytecodeReader::ParseConstantPool(), llvm::BytecodeReader::ParseModule(), llvm::BytecodeReader::ParseModuleGlobalInfo(), llvm::BytecodeReader::ParseType(), llvm::Function::renameLocalSymbols(), SRAGlobal(), and yyerror().
static std::string llvm::utostr_32 | ( | uint32_t | X, | |
bool | isNeg = false | |||
) | [inline, static] |
bool llvm::ValueConvertibleToType | ( | Value * | V, | |
const Type * | Ty, | |||
ValueTypeCache & | ConvertedTypes, | |||
const TargetData & | TD | |||
) |
Definition at line 393 of file ExprTypeConvert.cpp.
References E, OperandConvertibleToType(), TD, Ty, and V.
Referenced by OperandConvertibleToType().
bool llvm::verifyFunction | ( | const Function & | f, | |
VerifierFailureAction | action | |||
) |
f | The function to be verified |
action | Action to take |
Definition at line 790 of file Verifier.cpp.
bool llvm::verifyFunction | ( | const Function & | F, | |
VerifierFailureAction | action = AbortProcessAction | |||
) |
F | The function to be verified |
action | Action to take |
Definition at line 790 of file Verifier.cpp.
bool llvm::verifyModule | ( | const Module & | M, | |
VerifierFailureAction | action, | |||
std::string * | ErrorInfo | |||
) |
Check a module for errors.
verifyModule - Check a module for errors, printing messages on stderr. Return true if the module is corrupt.
M | The module to be verified |
action | Action to take |
ErrorInfo | Information about failures. |
Definition at line 804 of file Verifier.cpp.
References llvm::PassManager::add(), M, llvm::PassManager::run(), and V.
bool llvm::verifyModule | ( | const Module & | M, | |
VerifierFailureAction | action, | |||
std::string * | ErrorInfo | |||
) |
Check a module for errors.
verifyModule - Check a module for errors, printing messages on stderr. Return true if the module is corrupt.
M | The module to be verified |
action | Action to take |
ErrorInfo | Information about failures. |
Definition at line 804 of file Verifier.cpp.
References llvm::PassManager::add(), M, llvm::PassManager::run(), and V.
void llvm::ViewGraph | ( | const GraphType & | G, | |
const std::string & | Name, | |||
const std::string & | Title = "" | |||
) |
ViewGraph - Emit a dot graph, run 'dot', run gv on the postscript file, then cleanup. For use from the debugger.
Definition at line 285 of file GraphWriter.h.
References DisplayGraph(), Filename, and WriteGraph().
Referenced by llvm::MachineFunction::viewCFG(), llvm::Function::viewCFG(), llvm::SelectionDAG::viewGraph(), and llvm::DSGraph::viewGraph().
std::ostream& llvm::WriteAsOperand | ( | std::ostream & | Out, | |
const Type * | Ty, | |||
bool | PrintType, | |||
bool | PrintName, | |||
const Module * | Context | |||
) |
WriteAsOperand - Write the name of the specified value out to the specified ostream. This can be useful when you just want to print int reg126, not the whole instruction that generated it.
Definition at line 644 of file AsmWriter.cpp.
References fillTypeNameTable(), printTypeInt(), Ty, TypeNames, and WriteAsOperandInternal().
Referenced by InsertCodeToShowFunctionEntry(), InsertCodeToShowFunctionExit(), InsertVerbosePrintInst(), PrintModRefResults(), PrintOps(), PrintResults(), ResolveFunctions(), and TraceValuesAtBBExit().
std::ostream& llvm::WriteAsOperand | ( | std::ostream & | Out, | |
const Value * | V, | |||
bool | PrintType, | |||
bool | PrintName, | |||
const Module * | Context | |||
) |
WriteAsOperand - Write the name of the specified value out to the specified ostream. This can be useful when you just want to print int reg126, not the whole instruction that generated it.
Definition at line 603 of file AsmWriter.cpp.
References fillTypeNameTable(), getModuleFromVal(), printTypeInt(), TypeNames, V, and WriteAsOperandInternal().
std::ostream& llvm::WriteAsOperand | ( | std::ostream & | Out, | |
const Type * | Ty, | |||
bool | PrintType, | |||
bool | PrintName, | |||
const Module * | Context | |||
) |
WriteAsOperand - Write the name of the specified value out to the specified ostream. This can be useful when you just want to print int reg126, not the whole instruction that generated it.
Definition at line 644 of file AsmWriter.cpp.
References fillTypeNameTable(), printTypeInt(), Ty, TypeNames, and WriteAsOperandInternal().
Referenced by InsertCodeToShowFunctionEntry(), InsertCodeToShowFunctionExit(), InsertVerbosePrintInst(), PrintModRefResults(), PrintOps(), PrintResults(), ResolveFunctions(), and TraceValuesAtBBExit().
std::ostream& llvm::WriteAsOperand | ( | std::ostream & | Out, | |
const Value * | V, | |||
bool | PrintType, | |||
bool | PrintName, | |||
const Module * | Context | |||
) |
WriteAsOperand - Write the name of the specified value out to the specified ostream. This can be useful when you just want to print int reg126, not the whole instruction that generated it.
Definition at line 603 of file AsmWriter.cpp.
Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), llvm::SDNode::dump(), getCaption(), llvm::DOTGraphTraits< const Function * >::getNodeLabel(), operator<<(), operator<<(), llvm::Trace::print(), llvm::SCEVUnknown::print(), llvm::SCEVConstant::print(), llvm::Loop::print(), llvm::ETForestBase::print(), llvm::DominanceFrontierBase::print(), llvm::DominatorSetBase::print(), llvm::ImmediateDominatorsBase::print(), llvm::Argument::print(), llvm::InlineAsm::print(), and llvm::AliasSet::print().
void llvm::WriteBytecodeToFile | ( | const Module * | M, | |
std::ostream & | Out, | |||
bool | compress = true | |||
) |
WriteBytecodeToFile - Write the specified module to the specified output stream. If compress is set to true, try to use compression when writing out the file. This throws an std::string if there is an error writing the file.
Definition at line 1217 of file Bytecode/Writer/Writer.cpp.
References Buffer, BytesWritten, llvm::sys::Program::ChangeStdoutToBinary(), llvm::Compressor::compressToStream(), and M.
Referenced by llvm::WriteBytecodePass::runOnModule().
void llvm::WriteBytecodeToFile | ( | const Module * | M, | |
std::ostream & | Out, | |||
bool | compress = true | |||
) |
WriteBytecodeToFile - Write the specified module to the specified output stream. If compress is set to true, try to use compression when writing out the file. This throws an std::string if there is an error writing the file.
Definition at line 1217 of file Bytecode/Writer/Writer.cpp.
References Buffer, BytesWritten, llvm::sys::Program::ChangeStdoutToBinary(), llvm::Compressor::compressToStream(), and M.
Referenced by llvm::WriteBytecodePass::runOnModule().
sys::Path llvm::WriteGraph | ( | const GraphType & | G, | |
const std::string & | Name, | |||
const std::string & | Title = "" | |||
) |
Definition at line 244 of file GraphWriter.h.
References Filename, and llvm::sys::Path::GetTemporaryDirectory().
std::ostream& llvm::WriteGraph | ( | std::ostream & | O, | |
const GraphType & | G, | |||
const std::string & | Name = "" | |||
) |
Definition at line 224 of file GraphWriter.h.
References Name, llvm::GraphWriter< GraphType >::writeFooter(), llvm::GraphWriter< GraphType >::writeHeader(), and llvm::GraphWriter< GraphType >::writeNodes().
Referenced by llvm::DSGraph::print(), and ViewGraph().
WriteTypeSymbolic - This attempts to write the specified type as a symbolic type, iff there is an entry in the modules symbol table for the specified type or one of it's component types. This is slower than a simple x << Type
Definition at line 385 of file AsmWriter.cpp.
References fillTypeNameTable(), llvm::Type::getDescription(), M, printTypeInt(), Ty, and TypeNames.
Referenced by getCaption(), llvm::DSNode::mergeTypeInfo(), llvm::CachedWriter::operator<<(), ProcessGlobalsWithSameName(), ResolveFunctions(), and ToStr().
WriteTypeSymbolic - This attempts to write the specified type as a symbolic type, iff there is an entry in the modules symbol table for the specified type or one of it's component types. This is slower than a simple x << Type
Definition at line 385 of file AsmWriter.cpp.
References fillTypeNameTable(), llvm::Type::getDescription(), M, printTypeInt(), Ty, and TypeNames.
Referenced by getCaption(), llvm::DSNode::mergeTypeInfo(), llvm::CachedWriter::operator<<(), ProcessGlobalsWithSameName(), ResolveFunctions(), and ToStr().
Definition at line 140 of file InstVisitor.h.
const PassInfo * llvm::BreakCriticalEdgesID |
Definition at line 55 of file BreakCriticalEdges.cpp.
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage().
Definition at line 150 of file InstVisitor.h.
Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), and markIncomplete().
Definition at line 31 of file TargetMachine.cpp.
Referenced by llvm::TargetMachine::getCodeModel(), and llvm::TargetMachine::setCodeModel().
std::string llvm::CurFilename |
Definition at line 307 of file llvmAsmParser.cpp.
Referenced by RunVMAsmParser(), ThrowException(), and yyerror().
std::string llvm::CurFilename |
Definition at line 307 of file llvmAsmParser.cpp.
Referenced by RunVMAsmParser(), ThrowException(), and yyerror().
bool llvm::DebugFlag |
Definition at line 84 of file Reg2Mem.cpp.
FiniteOnlyFPMath - This returns true when the -enable-finite-only-fp-math option is specified on the command line. If this returns false (default), the code generator is not allowed to assume that FP arithmetic arguments and results are never NaNs or +-Infs.
Definition at line 29 of file TargetMachine.cpp.
Referenced by FiniteOnlyFPMath().
FiniteOnlyFPMath - This returns true when the -enable-finite-only-fp-math option is specified on the command line. If this returns false (default), the code generator is not allowed to assume that FP arithmetic arguments and results are never NaNs or +-Infs.
Definition at line 29 of file TargetMachine.cpp.
Referenced by FiniteOnlyFPMath().
AllocaInst llvm::HANDLE_MEMORY_INST(24, Load, LoadInst)HANDLE_OTHER_INST(27 |
Definition at line 162 of file InstVisitor.h.
const ResourceId llvm::InvalidRID = -1 |
Definition at line 30 of file SchedGraphCommon.h.
const PassInfo * llvm::LCSSAID |
cl::opt<PluginLoader, false, cl::parser<std::string> > llvm::LoadOpt("load", cl::ZeroOrMore, cl::value_desc("pluginfilename"), cl::desc("Load the specified plugin")) [static] |
const PassInfo * llvm::LoopSimplifyID |
Definition at line 97 of file LoopSimplify.cpp.
const PassInfo * llvm::LowerAllocationsID |
Definition at line 73 of file LowerAllocations.cpp.
const PassInfo * llvm::LowerInvokePassID |
Definition at line 101 of file LowerInvoke.cpp.
const PassInfo * llvm::LowerSelectID |
Definition at line 58 of file LowerSelect.cpp.
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage().
const PassInfo * llvm::LowerSwitchID |
Definition at line 76 of file LowerSwitch.cpp.
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage().
const unsigned llvm::M_2_ADDR_FLAG = 1 << 7 |
Definition at line 56 of file TargetInstrInfo.h.
Referenced by llvm::TargetInstrInfo::isTwoAddrInstr().
const unsigned llvm::M_BARRIER_FLAG = 1 << 3 |
const unsigned llvm::M_BRANCH_FLAG = 1 << 0 |
const unsigned llvm::M_CALL_FLAG = 1 << 1 |
const unsigned llvm::M_COMMUTABLE = 1 << 9 |
Definition at line 66 of file TargetInstrInfo.h.
Referenced by llvm::TargetInstrInfo::isCommutableInstr().
const unsigned llvm::M_CONVERTIBLE_TO_3_ADDR = 1 << 8 |
Definition at line 62 of file TargetInstrInfo.h.
const unsigned llvm::M_DELAY_SLOT_FLAG = 1 << 4 |
Definition at line 51 of file TargetInstrInfo.h.
Referenced by llvm::TargetInstrInfo::hasDelaySlot().
const unsigned llvm::M_LOAD_FLAG = 1 << 5 |
const unsigned llvm::M_LOOK_UP_PTR_REG_CLASS = 1 << 0 |
const unsigned llvm::M_RET_FLAG = 1 << 2 |
const unsigned llvm::M_STORE_FLAG = 1 << 6 |
const unsigned llvm::M_TERMINATOR_FLAG = 1 << 10 |
Definition at line 72 of file TargetInstrInfo.h.
Referenced by llvm::TargetInstrInfo::isTerminatorInstr().
const unsigned llvm::M_USES_CUSTOM_DAG_SCHED_INSERTION = 1 << 11 |
Definition at line 77 of file TargetInstrInfo.h.
Referenced by llvm::ScheduleDAG::EmitNode(), and llvm::TargetInstrInfo::usesCustomDAGSchedInsertionHook().
const unsigned llvm::M_VARIABLE_OPS = 1 << 12 |
Definition at line 81 of file TargetInstrInfo.h.
Referenced by llvm::ScheduleDAG::EmitNode(), getInstrOperandRegClass(), and llvm::TargetInstrInfo::hasVariableOperands().
const ResourceId llvm::MachineCCRegsRID = -2 |
Definition at line 31 of file SchedGraphCommon.h.
const ResourceId llvm::MachineFPRegsRID = -4 |
Definition at line 33 of file SchedGraphCommon.h.
const ResourceId llvm::MachineIntRegsRID = -3 |
Definition at line 32 of file SchedGraphCommon.h.
NoExcessFPPrecision - This flag is enabled when the -disable-excess-fp-precision flag is specified on the command line. When this flag is off (the default), the code generator is allowed to produce results that are "more precise" than IEEE allows. This includes use of FMA-like operations and use of the X86 FP registers without rounding all over the place.
Definition at line 27 of file TargetMachine.cpp.
NoExcessFPPrecision - This flag is enabled when the -disable-excess-fp-precision flag is specified on the command line. When this flag is off (the default), the code generator is allowed to produce results that are "more precise" than IEEE allows. This includes use of FMA-like operations and use of the X86 FP registers without rounding all over the place.
Definition at line 27 of file TargetMachine.cpp.
NoFramePointerElim - This flag is enabled when the -disable-fp-elim is specified on the command line. If the target supports the frame pointer elimination optimization, this option should disable it.
Definition at line 26 of file TargetMachine.cpp.
Referenced by hasFP().
NoFramePointerElim - This flag is enabled when the -disable-fp-elim is specified on the command line. If the target supports the frame pointer elimination optimization, this option should disable it.
Definition at line 26 of file TargetMachine.cpp.
Referenced by hasFP().
cl::opt<enum PassDebugLevel> llvm::PassDebugging("debug-pass", cl::Hidden, cl::desc("Print PassManager debugging information"), cl::values(clEnumVal(None,"disable debug output"),clEnumVal(Arguments,"print pass arguments to pass to 'opt'"),clEnumVal(Structure,"print pass structure before run()"),clEnumVal(Executions,"print pass name before it is executed"),clEnumVal(Details,"print pass details when it is executed"),clEnumValEnd)) [static] |
const PassInfo * llvm::PHIEliminationID |
PHIElimination pass - This pass eliminates machine instruction PHI nodes by inserting copy instructions. This destroys SSA information, but is the desired input for some register allocators. This pass is "required" by these register allocator like this: AU.addRequiredID(PHIEliminationID);
Definition at line 66 of file PHIElimination.cpp.
Referenced by llvm::LiveIntervals::getAnalysisUsage().
PrintMachineCode - This flag is enabled when the -print-machineinstrs option is specified on the command line, and should enable debugging output from the code generator.
Definition at line 25 of file TargetMachine.cpp.
Referenced by llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::X86TargetMachine::addPassesToEmitFile(), llvm::AlphaJITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::X86JITInfo::addPassesToJITCompile().
PrintMachineCode - This flag is enabled when the -print-machineinstrs option is specified on the command line, and should enable debugging output from the code generator.
Definition at line 25 of file TargetMachine.cpp.
Referenced by llvm::X86TargetMachine::addPassesToEmitFile(), llvm::SparcTargetMachine::addPassesToEmitFile(), llvm::PPCTargetMachine::addPassesToEmitFile(), llvm::IA64TargetMachine::addPassesToEmitFile(), llvm::ARMTargetMachine::addPassesToEmitFile(), llvm::AlphaTargetMachine::addPassesToEmitFile(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().
Definition at line 86 of file Mem2Reg.cpp.
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage().
const bool llvm::pthread_enabled = static_cast<bool>(pthread_mutex_init) [static] |
Definition at line 56 of file Mutex.cpp.
Referenced by llvm::sys::Mutex::acquire(), llvm::sys::Mutex::Mutex(), llvm::sys::Mutex::release(), llvm::sys::Mutex::tryacquire(), and llvm::sys::Mutex::~Mutex().
Definition at line 30 of file TargetMachine.cpp.
Referenced by llvm::TargetMachine::getRelocationModel(), and llvm::TargetMachine::setRelocationModel().
Definition at line 156 of file InstVisitor.h.
Definition at line 25 of file TargetInstrInfo.cpp.
Referenced by operator<<(), llvm::TargetInstrInfo::TargetInstrInfo(), and llvm::TargetInstrInfo::~TargetInstrInfo().
Definition at line 25 of file TargetInstrInfo.cpp.
Referenced by operator<<(), llvm::TargetInstrInfo::TargetInstrInfo(), and llvm::TargetInstrInfo::~TargetInstrInfo().
TimingInfo* llvm::TheTimeInfo [static] |
TwoAddressInstruction pass - This pass reduces two-address instructions to use two operands. This destroys SSA information but it is desired by register allocators.
Definition at line 67 of file TwoAddressInstructionPass.cpp.
Referenced by llvm::LiveIntervals::getAnalysisUsage().
bool llvm::UnsafeFPMath |
UnsafeFPMath - This flag is enabled when the -enable-unsafe-fp-math flag is specified on the command line. When this flag is off (the default), the code generator is not allowed to produce results that are "less precise" than IEEE allows. This includes use of X86 instructions like FSIN and FCOS instead of libcalls. UnsafeFPMath implies FiniteOnlyFPMath.
Definition at line 28 of file TargetMachine.cpp.
Referenced by FiniteOnlyFPMath(), and llvm::X86TargetLowering::X86TargetLowering().
bool llvm::UnsafeFPMath |
UnsafeFPMath - This flag is enabled when the -enable-unsafe-fp-math flag is specified on the command line. When this flag is off (the default), the code generator is not allowed to produce results that are "less precise" than IEEE allows. This includes use of X86 instructions like FSIN and FCOS instead of libcalls. UnsafeFPMath implies FiniteOnlyFPMath.
Definition at line 28 of file TargetMachine.cpp.
Referenced by FiniteOnlyFPMath(), and llvm::X86TargetLowering::X86TargetLowering().
Definition at line 160 of file InstVisitor.h.
RegisterOpt<EmitFunctionTable> llvm::X("emitfuncs","Emit a function table for the reoptimizer") [static] |
Referenced by llvm::AliasSetTracker::add(), cast(), llvm::DSGraph::cloneInto(), llvm::Trace::contains(), llvm::Trace::getBlockIndex(), llvm::Mangler::Mangler(), llvm::DSGraph::mergeInGraph(), llvm::mapped_iterator< RootIt, UnaryFunc >::operator!=(), operator+(), llvm::mapped_iterator< RootIt, UnaryFunc >::operator-(), llvm::mapped_iterator< RootIt, UnaryFunc >::operator<(), llvm::mapped_iterator< RootIt, UnaryFunc >::operator==(), llvm::DSGraph::removeDeadNodes(), llvm::DSGraph::removeTriviallyDeadNodes(), llvm::BUDataStructures::runOnModule(), and llvm::DSGraph::updateFromGlobalGraph().