mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
Remove the bitwise XOR operator from the Attributes class. Replace it with the equivalent from the builder class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165893 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5886b7bfc8
commit
3756e70af6
@ -236,7 +236,6 @@ public:
|
||||
|
||||
Attributes operator | (const Attributes &A) const;
|
||||
Attributes operator & (const Attributes &A) const;
|
||||
Attributes operator ^ (const Attributes &A) const;
|
||||
Attributes &operator |= (const Attributes &A);
|
||||
Attributes &operator &= (const Attributes &A);
|
||||
|
||||
|
@ -314,8 +314,8 @@ bool llvm::isInTailCallPosition(ImmutableCallSite CS, Attributes CalleeRetAttr,
|
||||
// the return. Ignore noalias because it doesn't affect the call sequence.
|
||||
const Function *F = ExitBB->getParent();
|
||||
Attributes CallerRetAttr = F->getAttributes().getRetAttributes();
|
||||
if (Attributes::Builder(CalleeRetAttr ^ CallerRetAttr)
|
||||
.removeAttribute(Attributes::NoAlias).hasAttributes())
|
||||
if (Attributes::Builder(CalleeRetAttr).removeAttribute(Attributes::NoAlias) !=
|
||||
Attributes::Builder(CallerRetAttr).removeAttribute(Attributes::NoAlias))
|
||||
return false;
|
||||
|
||||
// It's not safe to eliminate the sign / zero extension of the return value.
|
||||
|
@ -774,8 +774,10 @@ bool CodeGenPrepare::DupRetToEnableTailCallOpts(ReturnInst *RI) {
|
||||
// Conservatively require the attributes of the call to match those of the
|
||||
// return. Ignore noalias because it doesn't affect the call sequence.
|
||||
Attributes CalleeRetAttr = CS.getAttributes().getRetAttributes();
|
||||
if (Attributes::Builder(CalleeRetAttr ^ CallerRetAttr)
|
||||
.removeAttribute(Attributes::NoAlias).hasAttributes())
|
||||
if (Attributes::Builder(CalleeRetAttr).
|
||||
removeAttribute(Attributes::NoAlias) !=
|
||||
Attributes::Builder(CallerRetAttr).
|
||||
removeAttribute(Attributes::NoAlias))
|
||||
continue;
|
||||
|
||||
// Make sure the call instruction is followed by an unconditional branch to
|
||||
|
@ -99,9 +99,6 @@ Attributes Attributes::operator | (const Attributes &A) const {
|
||||
Attributes Attributes::operator & (const Attributes &A) const {
|
||||
return Attributes(Raw() & A.Raw());
|
||||
}
|
||||
Attributes Attributes::operator ^ (const Attributes &A) const {
|
||||
return Attributes(Raw() ^ A.Raw());
|
||||
}
|
||||
Attributes &Attributes::operator |= (const Attributes &A) {
|
||||
Attrs.Bits |= A.Raw();
|
||||
return *this;
|
||||
|
Loading…
Reference in New Issue
Block a user