LLVM: llvm::SwiftErrorValueTracking Class Reference (original) (raw)
#include "[llvm/CodeGen/SwiftErrorValueTracking.h](SwiftErrorValueTracking%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| void | setFunction (MachineFunction &MF) |
| Initialize data structures for specified new function. | |
| const Value * | getFunctionArg () const |
| Get the (unique) function argument that was marked swifterror, or nullptr if this function has no swifterror args. | |
| Register | getOrCreateVReg (const MachineBasicBlock *, const Value *) |
| Get or create the swifterror value virtual register in VRegDefMap for this basic block. | |
| void | setCurrentVReg (const MachineBasicBlock *MBB, const Value *, Register) |
| Set the swifterror virtual register in the VRegDefMap for this basic block. | |
| Register | getOrCreateVRegDefAt (const Instruction *, const MachineBasicBlock *, const Value *) |
| Get or create the swifterror value virtual register for a def of a swifterror by an instruction. | |
| Register | getOrCreateVRegUseAt (const Instruction *, const MachineBasicBlock *, const Value *) |
| Get or create the swifterror value virtual register for a use of a swifterror by an instruction. | |
| bool | createEntriesInEntryBlock (DebugLoc DbgLoc) |
| Create initial definitions of swifterror values in the entry block of the current function. | |
| void | propagateVRegs () |
| Propagate assigned swifterror vregs through a function, synthesizing PHI nodes when needed to maintain consistency. | |
| void | preassignVRegs (MachineBasicBlock *MBB, BasicBlock::const_iterator Begin, BasicBlock::const_iterator End) |
Definition at line 34 of file SwiftErrorValueTracking.h.
◆ createEntriesInEntryBlock()
| bool SwiftErrorValueTracking::createEntriesInEntryBlock | ( | DebugLoc | DbgLoc | ) |
|---|
◆ getFunctionArg()
| const Value * llvm::SwiftErrorValueTracking::getFunctionArg ( ) const | inline |
|---|
Get the (unique) function argument that was marked swifterror, or nullptr if this function has no swifterror args.
Definition at line 72 of file SwiftErrorValueTracking.h.
◆ getOrCreateVReg()
◆ getOrCreateVRegDefAt()
◆ getOrCreateVRegUseAt()
◆ preassignVRegs()
◆ propagateVRegs()
| void SwiftErrorValueTracking::propagateVRegs | ( | ) |
|---|
Propagate assigned swifterror vregs through a function, synthesizing PHI nodes when needed to maintain consistency.
Propagate swifterror values through the machine function CFG.
Definition at line 146 of file SwiftErrorValueTracking.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::any_of(), assert(), llvm::ReversePostOrderTraversal< GraphT, GT >::begin(), llvm::BuildMI(), llvm::cast(), llvm::dwarf_linker::DebugLoc, DL, llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::ReversePostOrderTraversal< GraphT, GT >::end(), llvm::MDNode::get(), llvm::MachineBasicBlock::getFirstNonPHI(), llvm::MachineBasicBlock::getNumber(), getOrCreateVReg(), llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::isa(), MBB, MRI, PHI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Register, setCurrentVReg(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
◆ setCurrentVReg()
◆ setFunction()
The documentation for this class was generated from the following files:
- include/llvm/CodeGen/SwiftErrorValueTracking.h
- lib/CodeGen/SwiftErrorValueTracking.cpp