In DAGISel, the parameter alignment only have 4 bits to hold the value. The encode(alignment) would plus the value by 1, so the max aligment that ISel can support is 2^14. This patch verify align attribute for parameter. Differential Revision: https://reviews.llvm.org/D122130
12 lines
313 B
LLVM
12 lines
313 B
LLVM
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
|
|
|
; CHECK: Attribute 'align' exceed the max size 2^14
|
|
define dso_local void @foo(i8* %p) {
|
|
entry:
|
|
%p1 = bitcast i8* %p to <8 x float>*
|
|
call void @bar(<8 x float>* noundef byval(<8 x float>) align 32768 %p1)
|
|
ret void
|
|
}
|
|
|
|
declare dso_local void @bar(<8 x float>* %p)
|