15#ifndef LLVM_IR_ASSUMPTIONS_H
16#define LLVM_IR_ASSUMPTIONS_H
38 : AssumptionStr(AssumptionStr) {
42 : AssumptionStr(AssumptionStr) {
45 operator StringRef()
const {
return AssumptionStr; }
53 const KnownAssumptionString &AssumptionStr);
58 const KnownAssumptionString &AssumptionStr);
67bool addAssumptions(Function &
F,
const DenseSet<StringRef> &Assumptions);
70bool addAssumptions(CallBase &CB,
const DenseSet<StringRef> &Assumptions);
This file defines the DenseSet and SmallDenseSet classes.
StringSet - A set-like wrapper for the StringMap.
StringRef - Represent a constant reference to a string, i.e.
StringSet - A wrapper for StringMap that provides set-like functionality.
std::pair< typename Base::iterator, bool > insert(StringRef key)
This is an optimization pass for GlobalISel generic memory operations.
bool addAssumptions(Function &F, const DenseSet< StringRef > &Assumptions)
Appends the set of assumptions Assumptions to \F.
bool hasAssumption(const Function &F, const KnownAssumptionString &AssumptionStr)
Return true if F has the assumption AssumptionStr attached.
StringSet KnownAssumptionStrings
A set of known assumption strings that are accepted without warning and which can be recommended as t...
DenseSet< StringRef > getAssumptions(const Function &F)
Return the set of all assumptions for the function F.
constexpr StringRef AssumptionAttrKey
The key we use for assumption attributes.
Helper that allows to insert a new assumption string in the known assumption set by creating a (stati...
KnownAssumptionString(StringRef AssumptionStr)
KnownAssumptionString(const char *AssumptionStr)