aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/Analysis.cpp
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2012-10-15 14:03:16 -0700
committerDerek Schuff <dschuff@chromium.org>2012-10-15 14:03:16 -0700
commit9a2ec7c6ed3eb1b133257f5f40503034fcde40de (patch)
tree06f6f2e29330c940059a4df7193b905a01c3b7bf /lib/CodeGen/Analysis.cpp
parent0ecc9098929275a2b6672d625106225231bed813 (diff)
parentbb20b24224734f5369d124181d086703ca439dd7 (diff)
Merge commit 'bb20b24224734f5369d124181d086703ca439dd7'
Conflicts: lib/Target/X86/X86FrameLowering.cpp lib/Target/X86/X86ISelLowering.cpp
Diffstat (limited to 'lib/CodeGen/Analysis.cpp')
-rw-r--r--lib/CodeGen/Analysis.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/CodeGen/Analysis.cpp b/lib/CodeGen/Analysis.cpp
index 09e30eba57..110a294020 100644
--- a/lib/CodeGen/Analysis.cpp
+++ b/lib/CodeGen/Analysis.cpp
@@ -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.