[IR] Fix getPointerAlignment for CallBase
authorHideto Ueno <uenoku.tokotoko@gmail.com>
Sun, 28 Jul 2019 06:17:46 +0000 (06:17 +0000)
committerHideto Ueno <uenoku.tokotoko@gmail.com>
Sun, 28 Jul 2019 06:17:46 +0000 (06:17 +0000)
commitafd4a37b2a35d730a85a26d21428034915bd5b3f
tree35cf92efb78ba8609617524a6b71a5ba6a1b6e67
parentcc0a4cdc890f738fc93916a8604301362bcc9d57
[IR] Fix getPointerAlignment for CallBase

Summary:
In current getPointerAlignemnt implementation, CallBase.getPointerAlignement(..) checks only parameter attriutes in the callsite.  For example,

```
declare align 8 i8* @foo()

define void @bar() {
    %a = tail call align 8 i8* @foo() ; getPointerAlignment returns 8
    %b = tail call i8* @foo() ; getPointerAlignemnt returns 0
    ret void
}
```

This patch will fix the problem.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65281

llvm-svn: 367185
llvm/lib/IR/Value.cpp