mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
c25ec2cf30
Reintroduces the scalable vector IR type from D32530, after it was reverted a couple of times due to increasing chromium LTO build times. This latest incarnation removes the walk over aggregate types from the verifier entirely, in favor of rejecting scalable vectors in the isValidElementType methods in ArrayType and StructType. This removes the 70% degradation observed with the second repro tarball from PR42210. Reviewers: thakis, hans, rengolin, sdesmalen Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D64079 llvm-svn: 365203
12 lines
479 B
LLVM
12 lines
479 B
LLVM
; RUN: not opt -S -verify < %s 2>&1 | FileCheck %s
|
|
|
|
;; Global variables cannot be scalable vectors, since we don't
|
|
;; know the size at compile time.
|
|
|
|
; CHECK: Globals cannot contain scalable vectors
|
|
; CHECK-NEXT: <vscale x 4 x i32>* @ScalableVecGlobal
|
|
@ScalableVecGlobal = global <vscale x 4 x i32> zeroinitializer
|
|
|
|
;; Global _pointers_ to scalable vectors are fine
|
|
; CHECK-NOT: Globals cannot contain scalable vectors
|
|
@ScalableVecPtr = global <vscale x 8 x i16>* zeroinitializer |