13std::optional<FileLocRange>
15 if (
auto FIt = Functions.find(
F); FIt != Functions.end())
20std::optional<FileLocRange>
22 if (
auto BBIt = Blocks.find(BB); BBIt != Blocks.end())
27std::optional<FileLocRange>
30 if (
auto IIt = InstructionsAndArguments.find(IA);
31 IIt != InstructionsAndArguments.end())
38 auto It = FunctionsInverse.find(Query.
Start);
39 if (It.stop() <= Query.
End)
45 return FunctionsInverse.lookup(Query,
nullptr);
50 auto It = BlocksInverse.find(Query.
Start);
51 if (It.stop() <= Query.
End)
57 return BlocksInverse.lookup(Query,
nullptr);
62 auto It = InstructionsAndArgumentsInverse.find(Query.
Start);
63 if (It.stop() <= Query.
End)
70 return InstructionsAndArgumentsInverse.lookup(Query,
nullptr);
75 auto It = ReferencedValues.find(Query.
Start);
76 if (It.stop() <= Query.
End)
83 return ReferencedValues.lookup(Query,
nullptr);
88 bool Inserted = Functions.insert({
F,
Loc}).second;
90 FunctionsInverse.insert(
Loc.Start,
Loc.End,
F);
96 bool Inserted = Blocks.insert({BB,
Loc}).second;
98 BlocksInverse.insert(
Loc.Start,
Loc.End, BB);
105 bool Inserted = InstructionsAndArguments.insert({IA,
Loc}).second;
107 InstructionsAndArgumentsInverse.insert(
Loc.Start,
Loc.End, IA);
113 ReferencedValues.insert(
Loc.Start,
Loc.End, V);
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
LLVM_ABI BasicBlock * getBlockAtLocation(const FileLocRange &) const
Get the block at the requested location range.
LLVM_ABI bool addValueReferenceAtLocation(Value *, const FileLocRange &)
LLVM_ABI bool addInstructionOrArgumentLocation(Value *, const FileLocRange &)
LLVM_ABI Value * getInstructionOrArgumentAtLocation(const FileLocRange &) const
Get the instruction or function argument at the requested location range.
LLVM_ABI bool addBlockLocation(BasicBlock *, const FileLocRange &)
LLVM_ABI std::optional< FileLocRange > getFunctionLocation(const Function *) const
LLVM_ABI Function * getFunctionAtLocation(const FileLocRange &) const
Get the function at the requested location range.
LLVM_ABI Value * getValueReferencedAtLocation(const FileLoc &) const
Get value referenced at the requested location.
LLVM_ABI std::optional< FileLocRange > getInstructionOrArgumentLocation(const Value *) const
LLVM_ABI std::optional< FileLocRange > getBlockLocation(const BasicBlock *) const
LLVM_ABI bool addFunctionLocation(Function *, const FileLocRange &)
LLVM Basic Block Representation.
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
bool isa(const From &Val)
isa<X> - Return true if the parameter to the template is an instance of one of the template type argu...
Struct holding a semiopen range [Start; End)
Struct holding Line:Column location.