mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
Fix an ODR violation consisting of two 'struct Query' in the global namespace.
Put them in their own anonymous namespaces. Found by GCC's new -Wodr (PR20915). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217662 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
785717c271
commit
8f3452d079
@ -41,6 +41,7 @@ enum { RecursionLimit = 3 };
|
||||
STATISTIC(NumExpand, "Number of expansions");
|
||||
STATISTIC(NumReassoc, "Number of reassociations");
|
||||
|
||||
namespace {
|
||||
struct Query {
|
||||
const DataLayout *DL;
|
||||
const TargetLibraryInfo *TLI;
|
||||
@ -53,6 +54,7 @@ struct Query {
|
||||
const Instruction *cxti = nullptr)
|
||||
: DL(DL), TLI(tli), DT(dt), AT(at), CxtI(cxti) {}
|
||||
};
|
||||
} // end anonymous namespace
|
||||
|
||||
static Value *SimplifyAndInst(Value *, Value *, const Query &, unsigned);
|
||||
static Value *SimplifyBinOp(unsigned, Value *, Value *, const Query &,
|
||||
|
@ -58,6 +58,7 @@ static unsigned getBitWidth(Type *Ty, const DataLayout *TD) {
|
||||
// isKnownToBeAPowerOfTwo (all of which can call computeKnownBits), and so on.
|
||||
typedef SmallPtrSet<const Value *, 8> ExclInvsSet;
|
||||
|
||||
namespace {
|
||||
// Simplifying using an assume can only be done in a particular control-flow
|
||||
// context (the context instruction provides that context). If an assume and
|
||||
// the context instruction are not in the same block then the DT helps in
|
||||
@ -77,6 +78,7 @@ struct Query {
|
||||
ExclInvs.insert(NewExcl);
|
||||
}
|
||||
};
|
||||
} // end anonymous namespace
|
||||
|
||||
// Given the provided Value and, potentially, a context instruction, returned
|
||||
// the preferred context instruction (if any).
|
||||
|
Loading…
x
Reference in New Issue
Block a user