diff --git a/llvm/test/Transforms/GlobalOpt/pr39751.ll b/llvm/test/Transforms/GlobalOpt/pr39751.ll new file mode 100644 index 0000000000000..c13eba900afc8 --- /dev/null +++ b/llvm/test/Transforms/GlobalOpt/pr39751.ll @@ -0,0 +1,20 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals +; RUN: opt -S -globalopt < %s | FileCheck %s + +; Check that we don't crash on vector GEP indices. + +@a = internal global [2 x i16] zeroinitializer, align 1 + +;. +; CHECK: @[[A:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global [2 x i16] zeroinitializer, align 1 +;. +define void @f1() { +; CHECK-LABEL: @f1( +; CHECK-NEXT: entry: +; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds [2 x i16], [2 x i16]* @a, i32 0, <2 x i32> +; CHECK-NEXT: ret void +; +entry: + %gep = getelementptr inbounds [2 x i16], [2 x i16]* @a, i32 0, <2 x i32> + ret void +}