LLVM 20.0.0git
|
#include "llvm/Transforms/Utils/ControlFlowUtils.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/Analysis/DomTreeUpdater.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Transforms/Utils/Local.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "control-flow-hub" |
Typedefs | |
using | BBPredicates = DenseMap< BasicBlock *, Instruction * > |
using | EdgeDescriptor = ControlFlowHub::BranchDescriptor |
#define DEBUG_TYPE "control-flow-hub" |
Definition at line 22 of file ControlFlowUtils.cpp.
using BBPredicates = DenseMap<BasicBlock *, Instruction *> |
Definition at line 26 of file ControlFlowUtils.cpp.
Definition at line 27 of file ControlFlowUtils.cpp.
|
static |
Definition at line 131 of file ControlFlowUtils.cpp.
References assert(), llvm::PHINode::Create(), llvm::dbgs(), llvm::SmallVectorTemplateCommon< T, typename >::front(), llvm::ConstantInt::getFalse(), llvm::Type::getInt1Ty(), llvm::Value::getName(), llvm::ConstantInt::getTrue(), I, llvm::invertCondition(), LLVM_DEBUG, llvm::SmallVectorTemplateBase< T, bool >::push_back(), redirectToHub(), and llvm::ArrayRef< T >::size().
Referenced by convertToGuardPredicates().
|
static |
Definition at line 86 of file ControlFlowUtils.cpp.
References llvm::ArrayRef< T >::begin(), llvm::PHINode::Create(), llvm::SelectInst::Create(), llvm::dbgs(), llvm::find(), llvm::ArrayRef< T >::front(), llvm::Type::getInt32Ty(), llvm::Value::getName(), I, LLVM_DEBUG, redirectToHub(), and llvm::ArrayRef< T >::size().
Referenced by convertToGuardPredicates().
|
static |
Definition at line 202 of file ControlFlowUtils.cpp.
References calcPredicateUsingBooleans(), calcPredicateUsingInteger(), llvm::BasicBlock::Create(), F, llvm::ArrayRef< T >::front(), I, llvm::SmallVectorTemplateBase< T, bool >::push_back(), setupBranchForGuard(), and llvm::ArrayRef< T >::size().
Referenced by llvm::ControlFlowHub::finalize().
|
static |
Definition at line 237 of file ControlFlowUtils.cpp.
References assert(), llvm::BasicBlock::begin(), llvm::PHINode::Create(), llvm::BasicBlock::end(), llvm::PoisonValue::get(), and I.
Referenced by llvm::ControlFlowHub::finalize().
|
static |
Definition at line 35 of file ControlFlowUtils.cpp.
References assert(), llvm::BranchInst::Create(), and llvm::BasicBlock::getTerminator().
Referenced by calcPredicateUsingBooleans(), and calcPredicateUsingInteger().
|
static |
Definition at line 68 of file ControlFlowUtils.cpp.
References assert(), llvm::BranchInst::Create(), I, and llvm::ArrayRef< T >::size().
Referenced by convertToGuardPredicates().