Skip to content

Commit c499e94

Browse files
authored
Merge branch 'dev' into implement_previsitcallback
2 parents 9a37c93 + 30d3651 commit c499e94

File tree

9 files changed

+54
-49
lines changed

9 files changed

+54
-49
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,5 @@ Common options are:
4343
Testing
4444
=======
4545
Run the `check-llvm-dialects` target to run a suite of automated tests.
46+
Run the `check-llvm-dialects-lit` target to run only the lit tests, and
47+
the `check-llvm-dialects-units` to run only the unit tests.

docker/dialects.Dockerfile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,7 @@ WORKDIR /vulkandriver/builds/ci-build
3838
RUN source /vulkandriver/env.sh \
3939
&& cmake --build . --target llvm-dialects-tblgen
4040

41-
# Run the lit test suite.
41+
# Run all test suites.
4242
RUN source /vulkandriver/env.sh \
4343
&& cmake --build . --target check-llvm-dialects -- -v
4444

45-
# Run the unit tests suite.
46-
RUN source /vulkandriver/env.sh \
47-
&& cmake --build . --target check-llvm-dialects-units -v

lib/Dialect/Dialect.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,8 @@ bool llvm_dialects::detail::isOperationDecl(llvm::StringRef fn,
281281
if (!fn.starts_with(mnemonic))
282282
return false;
283283

284-
return fn[mnemonic.size()] == '.';
284+
return fn.size() >= mnemonic.size() + 2 && fn[mnemonic.size()] == '_' &&
285+
fn[mnemonic.size() + 1] == '_';
285286
}
286287

287288
return fn == mnemonic;

lib/Dialect/Utils.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ std::string llvm_dialects::getMangledName(StringRef name,
130130
ArrayRef<Type *> overloadTypes) {
131131
std::string result = name.str();
132132
for (Type *ty : overloadTypes) {
133-
result += '.';
133+
result += "__";
134134

135135
bool hasUnnamedType = false;
136136
result += getMangledTypeStr(ty, hasUnnamedType);

test/CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,21 @@ configure_lit_site_cfg(
4040
${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
4141
)
4242

43-
add_lit_testsuite(check-llvm-dialects "Running the llvm-dialects regression tests"
43+
add_lit_testsuite(check-llvm-dialects-lit "Running the llvm-dialects regression tests"
4444
${CMAKE_CURRENT_BINARY_DIR}
4545
${exclude_from_check_all}
4646
DEPENDS ${LLVM_DIALECTS_TEST_DEPENDS}
4747
)
48-
set_target_properties(check-llvm-dialects PROPERTIES FOLDER "Tests")
48+
set_target_properties(check-llvm-dialects-lit PROPERTIES FOLDER "Tests")
4949

5050
add_lit_testsuites(LLVM_DIALECTS ${CMAKE_CURRENT_SOURCE_DIR}
5151
${exclude_from_check_all}
5252
DEPENDS ${LLVM_DIALECTS_TEST_DEPENDS}
5353
)
5454

5555
add_subdirectory(unit)
56+
57+
# Alias for all relevant tests
58+
add_custom_target(check-llvm-dialects
59+
DEPENDS check-llvm-dialects-lit check-llvm-dialects-units
60+
)

test/example/test-builder.test

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,32 @@
44

55
; CHECK-LABEL: @example(
66
; CHECK-NEXT: entry:
7-
; CHECK-NEXT: [[TMP0:%.*]] = call i32 @xd.read.i32()
7+
; CHECK-NEXT: [[TMP0:%.*]] = call i32 @xd.read__i32()
88
; CHECK-NEXT: [[TMP1:%.*]] = call i64 (...) @xd.sizeof(double poison)
9-
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (...) @xd.itrunc.i32(i64 [[TMP1]])
9+
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (...) @xd.itrunc__i32(i64 [[TMP1]])
1010
; CHECK-NEXT: [[TMP3:%.*]] = call i32 @xd.add32(i32 [[TMP0]], i32 [[TMP2]], i32 7)
11-
; CHECK-NEXT: [[TMP4:%.*]] = call i32 (...) @xd.combine.i32(i32 [[TMP3]], i32 [[TMP0]])
12-
; CHECK-NEXT: [[TMP5:%.*]] = call i64 (...) @xd.iext.i64(i32 [[TMP4]])
11+
; CHECK-NEXT: [[TMP4:%.*]] = call i32 (...) @xd.combine__i32(i32 [[TMP3]], i32 [[TMP0]])
12+
; CHECK-NEXT: [[TMP5:%.*]] = call i64 (...) @xd.iext__i64(i32 [[TMP4]])
1313
; CHECK-NEXT: call void (...) @xd.write(i64 [[TMP5]])
14-
; CHECK-NEXT: [[TMP6:%.*]] = call <2 x i32> @xd.read.v2i32()
15-
; CHECK-NEXT: [[TMP7:%.*]] = call target("xd.vector", i32, 1, 2) (...) @xd.fromfixedvector.txd.vector_i32_1_2t(<2 x i32> [[TMP6]])
16-
; CHECK-NEXT: [[TMP8:%.*]] = call target("xd.vector", i32, 1, 4) @xd.read.txd.vector_i32_1_4t()
17-
; CHECK-NEXT: [[TMP9:%.*]] = call i32 (...) @xd.extractelement.i32(target("xd.vector", i32, 1, 4) [[TMP8]], i32 [[TMP0]])
18-
; CHECK-NEXT: [[TMP10:%.*]] = call i32 (...) @xd.extractelement.i32(target("xd.vector", i32, 1, 4) [[TMP8]], i32 2)
14+
; CHECK-NEXT: [[TMP6:%.*]] = call <2 x i32> @xd.read__v2i32()
15+
; CHECK-NEXT: [[TMP7:%.*]] = call target("xd.vector", i32, 1, 2) (...) @xd.fromfixedvector__txd.vector_i32_1_2t(<2 x i32> [[TMP6]])
16+
; CHECK-NEXT: [[TMP8:%.*]] = call target("xd.vector", i32, 1, 4) @xd.read__txd.vector_i32_1_4t()
17+
; CHECK-NEXT: [[TMP9:%.*]] = call i32 (...) @xd.extractelement__i32(target("xd.vector", i32, 1, 4) [[TMP8]], i32 [[TMP0]])
18+
; CHECK-NEXT: [[TMP10:%.*]] = call i32 (...) @xd.extractelement__i32(target("xd.vector", i32, 1, 4) [[TMP8]], i32 2)
1919
; CHECK-NEXT: [[TMP11:%.*]] = add i32 [[TMP9]], [[TMP10]]
20-
; CHECK-NEXT: [[TMP12:%.*]] = call target("xd.vector", i32, 1, 2) (...) @xd.insertelement.txd.vector_i32_1_2t(target("xd.vector", i32, 1, 2) [[TMP7]], i32 [[TMP11]], i32 [[TMP0]])
21-
; CHECK-NEXT: [[TMP13:%.*]] = call target("xd.vector", i32, 1, 2) (...) @xd.insertelement.txd.vector_i32_1_2t(target("xd.vector", i32, 1, 2) [[TMP12]], i32 [[TMP9]], i32 1)
20+
; CHECK-NEXT: [[TMP12:%.*]] = call target("xd.vector", i32, 1, 2) (...) @xd.insertelement__txd.vector_i32_1_2t(target("xd.vector", i32, 1, 2) [[TMP7]], i32 [[TMP11]], i32 [[TMP0]])
21+
; CHECK-NEXT: [[TMP13:%.*]] = call target("xd.vector", i32, 1, 2) (...) @xd.insertelement__txd.vector_i32_1_2t(target("xd.vector", i32, 1, 2) [[TMP12]], i32 [[TMP9]], i32 1)
2222
; CHECK-NEXT: call void (...) @xd.write(target("xd.vector", i32, 1, 2) [[TMP13]])
23-
; CHECK-NEXT: [[P1:%.*]] = call ptr @xd.read.p0()
24-
; CHECK-NEXT: [[P2:%.*]] = call i8 (...) @xd.stream.add.i8(ptr [[P1]], i64 14, i8 0)
23+
; CHECK-NEXT: [[P1:%.*]] = call ptr @xd.read__p0()
24+
; CHECK-NEXT: [[P2:%.*]] = call i8 (...) @xd.stream.add__i8(ptr [[P1]], i64 14, i8 0)
2525
; CHECK-NEXT: call void (...) @xd.write(i8 [[P2]])
2626
; CHECK-NEXT: call void (...) @xd.write.vararg(i8 [[P2]], ptr [[P1]], i8 [[P2]])
2727
; CHECK-NEXT: [[TMP14:%.*]] = call target("xd.handle") @xd.handle.get()
28-
; CHECK-NEXT: [[TMP15:%.*]] = call <2 x i32> @xd.set.read.v2i32()
28+
; CHECK-NEXT: [[TMP15:%.*]] = call <2 x i32> @xd.set.read__v2i32()
2929
; CHECK-NEXT: call void (...) @xd.set.write(target("xd.vector", i32, 1, 2) [[TMP13]])
30-
; CHECK-NEXT: [[TMP16:%.*]] = call [[TMP0]] @xd.read.s_s()
31-
; CHECK-NEXT: [[TMP17:%.*]] = call [[TMP1]] @xd.read.s_s_0()
32-
; CHECK-NEXT: [[TMP18:%.*]] = call [[TMP2]] @xd.read.s_s_1()
30+
; CHECK-NEXT: [[TMP16:%.*]] = call [[TMP0]] @xd.read__s_s()
31+
; CHECK-NEXT: [[TMP17:%.*]] = call [[TMP1]] @xd.read__s_s_0()
32+
; CHECK-NEXT: [[TMP18:%.*]] = call [[TMP2]] @xd.read__s_s_1()
3333
; CHECK-NEXT: call void (...) @xd.write([[TMP0]] [[TMP16]])
3434
; CHECK-NEXT: call void (...) @xd.write([[TMP1]] [[TMP17]])
3535
; CHECK-NEXT: call void (...) @xd.write([[TMP2]] [[TMP18]])

test/example/test-generated.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
; RUN: diff -U 5 %S/generated/ExampleDialect.h.inc test_build_dir/../example/ExampleDialect.h.inc
2-
; RUN: diff -U 5 %S/generated/ExampleDialect.cpp.inc test_build_dir/../example/ExampleDialect.cpp.inc
1+
; RUN: diff --strip-trailing-cr -U 5 %S/generated/ExampleDialect.h.inc test_build_dir/../example/ExampleDialect.h.inc
2+
; RUN: diff --strip-trailing-cr -U 5 %S/generated/ExampleDialect.cpp.inc test_build_dir/../example/ExampleDialect.cpp.inc

test/example/verifier-basic.ll

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,29 @@ entry:
1212
; CHECK: failed check for (le ?:$result_width, ?:$source_width)
1313
; CHECK: with $result_width = 64
1414
; CHECK: with $source_width = 32
15-
%trunc1 = call i64 (...) @xd.itrunc.i64(i32 %sizeof1)
15+
%trunc1 = call i64 (...) @xd.itrunc__i64(i32 %sizeof1)
1616

1717
; CHECK-LABEL: Verifier error in: %fromfixedvector1 =
1818
; CHECK: unexpected value of $scalar_type:
1919
; CHECK: expected: i32
2020
; CHECK: actual: i64
21-
%fromfixedvector1 = call target("xd.vector", i32, 0, 2) (...) @xd.fromfixedvector.txd.vector_i32_0_2t(<2 x i64> poison)
21+
%fromfixedvector1 = call target("xd.vector", i32, 0, 2) (...) @xd.fromfixedvector__txd.vector_i32_0_2t(<2 x i64> poison)
2222

2323
; CHECK-LABEL: Verifier error in: %fromfixedvector2 =
2424
; CHECK: unexpected value of $num_elements:
2525
; CHECK: expected: 2
2626
; CHECK: actual: 4
27-
%fromfixedvector2 = call target("xd.vector", i32, 0, 2) (...) @xd.fromfixedvector.txd.vector_i32_0_2t(<4 x i32> poison)
27+
%fromfixedvector2 = call target("xd.vector", i32, 0, 2) (...) @xd.fromfixedvector__txd.vector_i32_0_2t(<4 x i32> poison)
2828

2929
; CHECK-LABEL: Verifier error in: %stream.max1 =
3030
; CHECK: unexpected value of $result:
3131
; CHECK: expected: i16
3232
; CHECK: actual: <2 x i16>
33-
%stream.max1 = call <2 x i16> (...) @xd.stream.max.v2i16(ptr %p, i64 %trunc1, i16 0)
33+
%stream.max1 = call <2 x i16> (...) @xd.stream.max__v2i16(ptr %p, i64 %trunc1, i16 0)
3434

3535
; CHECK-LABEL: Verifier error in: %stream.min1 =
3636
; CHECK: wrong number of arguments: 2, expected 3
37-
%stream.min1 = call i8 (...) @xd.stream.min.i8(ptr %p, i64 14)
37+
%stream.min1 = call i8 (...) @xd.stream.min__i8(ptr %p, i64 14)
3838

3939
; CHECK-LABEL: Verifier error in: %fromfixedvector3 =
4040
; CHECK: eq:$rhs (MiddleEndian) does not match any available option
@@ -50,14 +50,14 @@ entry:
5050
; CHECK: previously: MiddleEndian
5151
; CHECK: while checking (isReasonableVectorKind ?:$kind)
5252
; CHECK: with $kind = MiddleEndian
53-
%fromfixedvector3 = call target("xd.vector", i32, 2, 2) (...) @xd.fromfixedvector.txd.vector_i32_2_2t(<2 x i32> poison)
53+
%fromfixedvector3 = call target("xd.vector", i32, 2, 2) (...) @xd.fromfixedvector__txd.vector_i32_2_2t(<2 x i32> poison)
5454

5555
ret void
5656
}
5757

5858
declare i32 @xd.sizeof(...)
59-
declare i64 @xd.itrunc.i64(...)
60-
declare target("xd.vector", i32, 0, 2) @xd.fromfixedvector.txd.vector_i32_0_2t(...)
61-
declare target("xd.vector", i32, 2, 2) @xd.fromfixedvector.txd.vector_i32_2_2t(...)
62-
declare <2 x i16> @xd.stream.max.v2i16(...)
63-
declare i8 @xd.stream.min.i8(...)
59+
declare i64 @xd.itrunc__i64(...)
60+
declare target("xd.vector", i32, 0, 2) @xd.fromfixedvector__txd.vector_i32_0_2t(...)
61+
declare target("xd.vector", i32, 2, 2) @xd.fromfixedvector__txd.vector_i32_2_2t(...)
62+
declare <2 x i16> @xd.stream.max__v2i16(...)
63+
declare i8 @xd.stream.min__i8(...)

test/example/visitor-basic.ll

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
; DEFAULT-NEXT: Counter after visiting ITruncOp: 1
1212
; DEFAULT-NEXT: Will visit WriteOp next: call void (...) @xd.write(i8 %t)
1313
; DEFAULT-NEXT: visiting WriteOp: call void (...) @xd.write(i8 %t)
14-
; DEFAULT-NEXT: visiting SetReadOp: %v.0 = call i1 @xd.set.read.i1()
15-
; DEFAULT-NEXT: visiting SetReadOp: %v.1 = call i32 @xd.set.read.i32()
16-
; DEFAULT-NEXT: visiting SetReadOp (set): %v.1 = call i32 @xd.set.read.i32()
14+
; DEFAULT-NEXT: visiting SetReadOp: %v.0 = call i1 @xd.set.read__i1()
15+
; DEFAULT-NEXT: visiting SetReadOp: %v.1 = call i32 @xd.set.read__i32()
16+
; DEFAULT-NEXT: visiting SetReadOp (set): %v.1 = call i32 @xd.set.read__i32()
1717
; DEFAULT-NEXT: visiting UnaryInstruction (pre): %v.2 = trunc i32 %v.1 to i8
1818
; DEFAULT-NEXT: visiting UnaryInstruction: %v.2 = trunc i32 %v.1 to i8
1919
; DEFAULT-NEXT: visiting SetWriteOp (set): call void (...) @xd.set.write(i8 %v.2)
@@ -28,30 +28,30 @@
2828

2929
define void @test1(ptr %p) {
3030
entry:
31-
%v = call i32 @xd.read.i32()
31+
%v = call i32 @xd.read__i32()
3232
%w = load i32, ptr %p
3333
%p1 = getelementptr i32, ptr %p, i32 1
3434
%q = load i32, ptr %p1
3535
%v1 = add i32 %v, %w
3636
%v2 = call i32 @llvm.umax.i32(i32 %v1, i32 %q)
37-
%t = call i8 (...) @xd.itrunc.i8(i32 %v2)
37+
%t = call i8 (...) @xd.itrunc__i8(i32 %v2)
3838
call void (...) @xd.write(i8 %t)
39-
%v.0 = call i1 @xd.set.read.i1()
40-
%v.1 = call i32 @xd.set.read.i32()
39+
%v.0 = call i1 @xd.set.read__i1()
40+
%v.1 = call i32 @xd.set.read__i32()
4141
%v.2 = trunc i32 %v.1 to i8
4242
call void (...) @xd.set.write(i8 %v.2)
4343
call void (...) @xd.write.vararg(i8 %t, i32 %v2, i32 %q)
4444
%vm = call i32 @llvm.umin.i32(i32 %v1, i32 %q)
4545
ret void
4646
}
4747

48-
declare i32 @xd.read.i32()
49-
declare i1 @xd.set.read.i1()
50-
declare i32 @xd.set.read.i32()
48+
declare i32 @xd.read__i32()
49+
declare i1 @xd.set.read__i1()
50+
declare i32 @xd.set.read__i32()
5151
declare void @xd.write(...)
5252
declare void @xd.set.write(...)
5353
declare void @xd.write.vararg(...)
54-
declare i8 @xd.itrunc.i8(...)
54+
declare i8 @xd.itrunc__i8(...)
5555

5656
declare i32 @llvm.umax.i32(i32, i32)
5757
declare i32 @llvm.umin.i32(i32, i32)

0 commit comments

Comments
 (0)