Skip to content

Commit fd91a0f

Browse files
vchuravygbaraldipchintalapudi
committed
Fix test changes for LLVM 15
Co-authored-by: Gabriel Baraldi <[email protected]> Co-authored-by: Prem Chintalapudi <[email protected]>
1 parent a585b91 commit fd91a0f

10 files changed

+36
-21
lines changed

src/llvm-alloc-opt.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1089,9 +1089,12 @@ void Optimizer::splitOnStack(CallInst *orig_inst)
10891089
ref->setOrdering(AtomicOrdering::NotAtomic);
10901090
operands.push_back(ref);
10911091
}
1092+
#ifndef __clang_analyzer__
1093+
// FIXME: SA finds "Called C++ object pointer is null" inside the LLVM code.
10921094
auto new_call = builder.CreateCall(pass.gc_preserve_begin_func, operands);
10931095
new_call->takeName(call);
10941096
call->replaceAllUsesWith(new_call);
1097+
#endif
10951098
call->eraseFromParent();
10961099
return;
10971100
}

src/llvm-late-gc-lowering.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,6 +1262,7 @@ static bool isLoadFromConstGV(LoadInst *LI, bool &task_local, PhiSet *seen)
12621262
// We only emit single slot GV in codegen
12631263
// but LLVM global merging can change the pointer operands to GEPs/bitcasts
12641264
auto load_base = LI->getPointerOperand()->stripInBoundsOffsets();
1265+
assert(load_base); // Static analyzer
12651266
auto gv = dyn_cast<GlobalVariable>(load_base);
12661267
if (isTBAA(LI->getMetadata(LLVMContext::MD_tbaa),
12671268
{"jtbaa_immut", "jtbaa_const", "jtbaa_datatype"})) {

src/llvm-lower-handlers.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#include <llvm/ADT/DepthFirstIterator.h>
1010
#include <llvm/ADT/Statistic.h>
11+
#include <llvm/ADT/Triple.h>
1112
#include <llvm/Analysis/CFG.h>
1213
#include <llvm/IR/BasicBlock.h>
1314
#include <llvm/IR/Constants.h>

src/llvm-multiversioning.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414
#include <llvm/Pass.h>
1515
#include <llvm/ADT/BitVector.h>
1616
#include <llvm/ADT/Statistic.h>
17+
#include <llvm/ADT/Triple.h>
1718
#include <llvm/IR/Module.h>
1819
#include <llvm/IR/LegacyPassManager.h>
1920
#include <llvm/IR/Function.h>
2021
#include <llvm/IR/Instructions.h>
2122
#include <llvm/IR/Constants.h>
23+
#include <llvm/IR/Dominators.h>
2224
#include <llvm/IR/LLVMContext.h>
2325
#include <llvm/Analysis/LoopInfo.h>
2426
#include <llvm/Analysis/CallGraph.h>
@@ -779,6 +781,7 @@ static Value *rewrite_inst_use(const Stack& stack, Type *T_size, Value *replace,
779781
replace = inst;
780782
continue;
781783
}
784+
assert(val);
782785
unsigned nargs = val->getNumOperands();
783786
args.resize(nargs);
784787
for (unsigned j = 0; j < nargs; j++) {

src/llvm-ptls.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <llvm-c/Types.h>
1010

1111
#include <llvm/Pass.h>
12+
#include <llvm/ADT/Triple.h>
1213
#include <llvm/IR/Module.h>
1314
#include <llvm/IR/LegacyPassManager.h>
1415
#include <llvm/IR/Function.h>
@@ -161,6 +162,7 @@ void LowerPTLS::fix_pgcstack_use(CallInst *pgcstack, Function *pgcstack_getter,
161162
SmallVector<uint32_t, 2> Weights{9, 1};
162163
TerminatorInst *fastTerm;
163164
TerminatorInst *slowTerm;
165+
assert(pgcstack->getType()); // Static analyzer
164166
auto cmp = new ICmpInst(phi, CmpInst::ICMP_NE, pgcstack, Constant::getNullValue(pgcstack->getType()));
165167
SplitBlockAndInsertIfThenElse(cmp, phi, &fastTerm, &slowTerm,
166168
MDB.createBranchWeights(Weights));

test/clangsa/MissingRoots.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,9 @@ void assoc_exact_broken(jl_value_t **args, size_t n, int8_t offs, size_t world)
352352
}
353353
*/
354354

355+
// declare
356+
jl_typemap_level_t *jl_new_typemap_level(void);
357+
355358
void assoc_exact_ok(jl_value_t *args1, jl_value_t **args, size_t n, int8_t offs, size_t world) {
356359
jl_typemap_level_t *cache = jl_new_typemap_level();
357360
JL_GC_PUSH1(&cache);

test/cmdlineargs.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,12 @@ let exename = `$(Base.julia_cmd()) --startup-file=no --color=no`
188188
@test contains(v[2], r"enable-tail-merge + = 1")
189189
@test isempty(v[3])
190190
end
191-
@testset let v = readchomperrors(setenv(`$exename -e 0`, "JULIA_LLVM_ARGS" => "-print-options -enable-tail-merge=1 -enable-tail-merge=1", "HOME" => homedir()))
192-
@test !v[1]
193-
@test isempty(v[2])
194-
@test v[3] == "julia: for the --enable-tail-merge option: may only occur zero or one times!"
191+
if Base.libllvm_version < v"15" #LLVM over 15 doesn't care for multiple options
192+
@testset let v = readchomperrors(setenv(`$exename -e 0`, "JULIA_LLVM_ARGS" => "-print-options -enable-tail-merge=1 -enable-tail-merge=1", "HOME" => homedir()))
193+
@test !v[1]
194+
@test isempty(v[2])
195+
@test v[3] == "julia: for the --enable-tail-merge option: may only occur zero or one times!"
196+
end
195197
end
196198
end
197199

test/llvmpasses/llvmcall.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ emit(foo, NTuple{2, Float16})
2222
# CHECK: call <2 x half> @foo(<2 x half> %{{[0-9]+}})
2323
emit(foo, NTuple{2, VecElement{Float16}})
2424

25-
# CHECK: call i8 addrspace(3)* @foo(i8 addrspace(3)* %{{[0-9]+}})
25+
# CHECK: call ptr addrspace(3) @foo(ptr addrspace(3) %{{[0-9]+}})
2626
emit(foo, Core.LLVMPtr{Float32, 3})
2727

2828
# CHECK: call { i32, i32 } @foo({ i32, i32 } %{{[0-9]+}})
2929
emit(foo, Foo)
3030

31-
# CHECK: define <2 x half> @julia_bar_{{[0-9]+}}([2 x half]
31+
# CHECK: define <2 x half> @julia_bar_{{[0-9]+}}(ptr addrspace(11)
3232
emit(bar, NTuple{2, Float16})

test/llvmpasses/pipeline-o2-broadcast.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,25 @@ include(joinpath("..", "testhelpers", "llvmpasses.jl"))
77

88
# COM: Float32
99
# CHECK: @japi1_prod_v_vT
10-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x float>
10+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x float>
1111
# CHECK: fmul <[[VSCALE]][[VEC_FACTOR]] x float>
1212
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x float>
1313

1414
# COM: Float64
1515
# CHECK: @japi1_prod_v_vT
16-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x double>
16+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x double>
1717
# CHECK: fmul <[[VSCALE]][[VEC_FACTOR]] x double>
1818
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x double>
1919

2020
# COM: Int32
2121
# CHECK: @japi1_prod_v_vT
22-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i32>
22+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i32>
2323
# CHECK: mul <[[VSCALE]][[VEC_FACTOR]] x i32>
2424
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x i32>
2525

2626
# COM: Int64
2727
# CHECK: @japi1_prod_v_vT
28-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i64>
28+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i64>
2929
# CHECK: mul <[[VSCALE]][[VEC_FACTOR]] x i64>
3030
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x i64>
3131

@@ -37,25 +37,25 @@ end
3737

3838
# COM: Float32
3939
# CHECK: @japi1_prod_vT_v
40-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x float>
40+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x float>
4141
# CHECK: fmul <[[VSCALE]][[VEC_FACTOR]] x float>
4242
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x float>
4343

4444
# COM: Float64
4545
# CHECK: @japi1_prod_vT_v
46-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x double>
46+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x double>
4747
# CHECK: fmul <[[VSCALE]][[VEC_FACTOR]] x double>
4848
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x double>
4949

5050
# COM: Int32
5151
# CHECK: @japi1_prod_vT_v
52-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i32>
52+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i32>
5353
# CHECK: mul <[[VSCALE]][[VEC_FACTOR]] x i32>
5454
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x i32>
5555

5656
# COM: Int64
5757
# CHECK: @japi1_prod_vT_v
58-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i64>
58+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i64>
5959
# CHECK: mul <[[VSCALE]][[VEC_FACTOR]] x i64>
6060
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x i64>
6161

@@ -67,25 +67,25 @@ end
6767

6868
# COM: Float32
6969
# CHECK: @japi1_prod_v_M_vT
70-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x float>
70+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x float>
7171
# CHECK: fmul <[[VSCALE]][[VEC_FACTOR]] x float>
7272
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x float>
7373

7474
# COM: Float64
7575
# CHECK: @japi1_prod_v_M_vT
76-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x double>
76+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x double>
7777
# CHECK: fmul <[[VSCALE]][[VEC_FACTOR]] x double>
7878
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x double>
7979

8080
# COM: Int32
8181
# CHECK: @japi1_prod_v_M_vT
82-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i32>
82+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i32>
8383
# CHECK: mul <[[VSCALE]][[VEC_FACTOR]] x i32>
8484
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x i32>
8585

8686
# COM: Int64
8787
# CHECK: @japi1_prod_v_M_vT
88-
# CHECK: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i64>
88+
# COM: load <[[VSCALE:(vscale x )?]][[VEC_FACTOR:[0-9]+]] x i64>
8989
# CHECK: mul <[[VSCALE]][[VEC_FACTOR]] x i64>
9090
# CHECK: store <[[VSCALE]][[VEC_FACTOR]] x i64>
9191

test/llvmpasses/pipeline-o2.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,21 @@ end
7676
# COM: memset checks
7777

7878
# COM: INT64
79-
# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros
79+
# ALL-LABEL: define nonnull ptr addrspace(10) @julia_zeros
8080
# ALL-NOT: bounds_error
8181
# COM: memset is not used with bounds checks on (too late in the pipeline)
8282
# BC_OFF: llvm.memset
8383
# BC_AUTO: llvm.memset
8484

8585
# COM: INT32
86-
# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros
86+
# ALL-LABEL: define nonnull ptr addrspace(10) @julia_zeros
8787
# ALL-NOT: bounds_error
8888
# COM: memset is not used with bounds checks on (too late in the pipeline)
8989
# BC_OFF: llvm.memset
9090
# BC_AUTO: llvm.memset
9191

9292
# COM: INT16
93-
# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros
93+
# ALL-LABEL: define nonnull ptr addrspace(10) @julia_zeros
9494
# ALL-NOT: bounds_error
9595
# COM: memset is not used with bounds checks on (too late in the pipeline)
9696
# BC_OFF: llvm.memset

0 commit comments

Comments
 (0)