|
LLVM 22.0.0git
|
#include "llvm/ADT/APInt.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallVector.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/AssumptionCache.h"#include "llvm/Analysis/InstSimplifyFolder.h"#include "llvm/Analysis/InstructionSimplify.h"#include "llvm/Analysis/ScalarEvolutionExpressions.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/Analysis/VectorUtils.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/CodeGen/ValueTypes.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/IntrinsicsHexagon.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/PatternMatch.h"#include "llvm/InitializePasses.h"#include "llvm/Pass.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/KnownBits.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Transforms/Utils/Local.h"#include "Hexagon.h"#include "HexagonSubtarget.h"#include "HexagonTargetMachine.h"#include <algorithm>#include <deque>#include <map>#include <optional>#include <set>#include <utility>#include <vector>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "hexagon-vc" |
| #define | DEFAULT_HVX_VTCM_PAGE_SIZE 131072 |
| #define | CallBuilder(B, F) |
Variables | |
| DEBUG_TYPE | |
| Hexagon Vector | Combine |
| Hexagon Vector | false |
| #define DEBUG_TYPE "hexagon-vc" |
Definition at line 58 of file HexagonVectorCombine.cpp.
| #define DEFAULT_HVX_VTCM_PAGE_SIZE 131072 |
Definition at line 63 of file HexagonVectorCombine.cpp.
|
inline |
Definition at line 2099 of file HexagonVectorCombine.cpp.
References llvm::HexagonSubtarget::getIntrinsicId().
Definition at line 2008 of file HexagonVectorCombine.cpp.
References llvm::dyn_cast(), llvm::getLoadStoreType(), II, and llvm::isa().
Definition at line 1857 of file HexagonVectorCombine.cpp.
References assert(), llvm::dyn_cast(), llvm::getLoadStorePointerOperand(), II, llvm::isa(), and Ptr.
Referenced by llvm::GlobalsAAResult::FunctionInfo::FunctionInfo(), llvm::sandboxir::ConstantPtrAuth::getPointer(), LLVMGetConstantPtrAuthPointer(), and locateDestination().
|
inline |
Definition at line 2069 of file HexagonVectorCombine.cpp.
References assert(), llvm::ConstantDataVector::get(), and I.
|
inline |
Definition at line 2084 of file HexagonVectorCombine.cpp.
References assert(), llvm::ConstantDataVector::get(), and I.
| INITIALIZE_PASS_BEGIN | ( | HexagonVectorCombineLegacy | , |
| DEBUG_TYPE | , | ||
| "Hexagon Vector Combine" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
Definition at line 1839 of file HexagonVectorCombine.cpp.
References Opc.
Referenced by selectDestination().
|
static |
Definition at line 1962 of file HexagonVectorCombine.cpp.
References llvm::dbgs(), llvm::dyn_cast(), llvm::GetElementPtrInst::getPointerOperand(), II, llvm::isa(), LLVM_DEBUG, locateAddressFromIntrinsic(), and locateGepFromIntrinsic().
Referenced by locateAddressFromIntrinsic().
| Instruction * locateDestination | ( | Instruction * | In, |
| HvxIdioms::DstQualifier & | Qual ) |
Definition at line 1923 of file HexagonVectorCombine.cpp.
References llvm::dyn_cast(), getPointer(), I, selectDestination(), and Users.
Referenced by selectDestination().
|
inline |
Definition at line 1945 of file HexagonVectorCombine.cpp.
References assert(), llvm::dyn_cast(), llvm::IntrinsicInst::getIntrinsicID(), and llvm::User::getOperand().
Referenced by locateAddressFromIntrinsic(), and locateIndexesFromIntrinsic().
Definition at line 2024 of file HexagonVectorCombine.cpp.
References llvm::dyn_cast(), II, llvm::isa(), and locateIndexesFromGEP().
Referenced by locateIndexesFromGEP(), and locateIndexesFromIntrinsic().
|
static |
Definition at line 2052 of file HexagonVectorCombine.cpp.
References llvm::dbgs(), llvm::User::getOperand(), LLVM_DEBUG, locateGepFromIntrinsic(), and locateIndexesFromGEP().
|
static |
Definition at line 1870 of file HexagonVectorCombine.cpp.
References llvm::dbgs(), llvm::dyn_cast(), II, llvm::isa(), isArithmetic(), LLVM_DEBUG, and locateDestination().
Referenced by locateDestination().
| Hexagon Vector Combine |
Definition at line 3858 of file HexagonVectorCombine.cpp.
| DEBUG_TYPE |
Definition at line 3857 of file HexagonVectorCombine.cpp.
| Hexagon Vector false |
Definition at line 3858 of file HexagonVectorCombine.cpp.