projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[MCJIT] Respect target endianness in RuntimeDyldMachO and RuntimeDyldChecker.
[oota-llvm.git]
/
lib
/
Analysis
/
ValueTracking.cpp
diff --git
a/lib/Analysis/ValueTracking.cpp
b/lib/Analysis/ValueTracking.cpp
index cedf076497e6ef400cf8902ae89bf899b6da6432..4edfb615f2a03341122273ebb2ed2928cbf93f51 100644
(file)
--- a/
lib/Analysis/ValueTracking.cpp
+++ b/
lib/Analysis/ValueTracking.cpp
@@
-308,13
+308,9
@@
void llvm::computeKnownBits(Value *V, APInt &KnownZero, APInt &KnownOne,
}
if (Argument *A = dyn_cast<Argument>(V)) {
}
if (Argument *A = dyn_cast<Argument>(V)) {
- unsigned Align = 0;
+ unsigned Align =
A->getType()->isPointerTy() ? A->getParamAlignment() :
0;
- if (A->hasByValOrInAllocaAttr()) {
- // Get alignment information off byval/inalloca arguments if specified in
- // the IR.
- Align = A->getParamAlignment();
- } else if (TD && A->hasStructRetAttr()) {
+ if (!Align && TD && A->hasStructRetAttr()) {
// An sret parameter has at least the ABI alignment of the return type.
Type *EltTy = cast<PointerType>(A->getType())->getElementType();
if (EltTy->isSized())
// An sret parameter has at least the ABI alignment of the return type.
Type *EltTy = cast<PointerType>(A->getType())->getElementType();
if (EltTy->isSized())
@@
-2086,7
+2082,7
@@
bool llvm::isKnownNonNull(const Value *V, const TargetLibraryInfo *TLI) {
return !GV->hasExternalWeakLinkage();
if (ImmutableCallSite CS = V)
return !GV->hasExternalWeakLinkage();
if (ImmutableCallSite CS = V)
- if (CS.
paramHasAttr(0, Attribute::NonNull
))
+ if (CS.
isReturnNonNull(
))
return true;
// operator new never returns null.
return true;
// operator new never returns null.