
This reverts commit 37eb9d13f891f7656f811516e765b929b169afe0.
Test failures have been fixed:
- ubsan failure fixed by 72eac42f21c0f45a27f3eaaff9364cbb5189b9e4
- warn-unsafe-buffer-usage-fixits-local-var-span.cpp fixed by
03cc52dfd1dbb4a59b479da55e87838fb93d2067 (wasn't related)
- test-output-format.ll failure was spurious, build failed at
https://lab.llvm.org/buildbot/#/builders/54/builds/3545 (b4431b2d945b6fc19b1a55ac6ce969a8e06e1e93)
but passed at
https://lab.llvm.org/buildbot/#/builders/54/builds/3546 (5ae99be0377248c74346096dc475af254a3fc799)
which is before my revert
b4431b2d94...5ae99be037
Original commit message:
Depends on https://reviews.llvm.org/D142861.
Alternative to https://reviews.llvm.org/D137601.
xxHash is much faster than djbHash. This makes a simple Rust test case with a large constant string 10% faster to compile.
Previous attempts at changing this hash function (e.g. https://reviews.llvm.org/D97396) had to be reverted due to breaking tests that depended on iteration order.
No additional tests fail with this patch compared to `main` when running `check-all` with `-DLLVM_ENABLE_PROJECTS="all"` (on a Linux host), so I hope I found everything that needs to be changed.
Differential Revision: https://reviews.llvm.org/D142862
267 lines
8.7 KiB
Plaintext
267 lines
8.7 KiB
Plaintext
// RUN: mlir-lsp-server -lit-test < %s | FileCheck -strict-whitespace %s
|
|
{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"mlir","capabilities":{},"trace":"off"}}
|
|
// -----
|
|
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{
|
|
"uri":"test:///foo.mlir",
|
|
"languageId":"mlir",
|
|
"version":1,
|
|
"text":"#attr = i32\n!alias = i32\nfunc.func private @foo(%arg: i32) -> i32 {\n%cast = \"builtin.unrealized_conversion_cast\"() : () -> (!pdl.value)\nreturn %"
|
|
}}}
|
|
// -----
|
|
{"jsonrpc":"2.0","id":1,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":2,"character":0}
|
|
}}
|
|
// CHECK-LABEL: "id": 1
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK: {
|
|
// CHECK: "detail": "dialect",
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 9,
|
|
// CHECK: "label": "builtin",
|
|
// CHECK: "sortText": "3"
|
|
// CHECK: },
|
|
// CHECK: {
|
|
// CHECK: "detail": "operation",
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "module",
|
|
// CHECK: "sortText": "1"
|
|
// CHECK: }
|
|
// CHECK: ]
|
|
// CHECK-NEXT: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":2,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":3,"character":9}
|
|
}}
|
|
// CHECK-LABEL: "id": 2
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK: {
|
|
// CHECK: "detail": "dialect",
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 9,
|
|
// CHECK: "label": "builtin",
|
|
// CHECK: "sortText": "3"
|
|
// CHECK: },
|
|
// CHECK-NOT: "detail": "operation",
|
|
// CHECK: ]
|
|
// CHECK-NEXT: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":3,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":3,"character":17}
|
|
}}
|
|
// CHECK-LABEL: "id": 3
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK-NOT: "detail": "dialect",
|
|
// CHECK: {
|
|
// CHECK: "detail": "operation",
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "module",
|
|
// CHECK: "sortText": "1"
|
|
// CHECK: }
|
|
// CHECK: ]
|
|
// CHECK-NEXT: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":4,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":4,"character":8}
|
|
}}
|
|
// CHECK-LABEL: "id": 4
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "detail": "arg #0: i32",
|
|
// CHECK-NEXT: "insertText": "arg",
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 6,
|
|
// CHECK-NEXT: "label": "%arg"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "detail": "builtin.unrealized_conversion_cast: !pdl.value",
|
|
// CHECK-NEXT: "insertText": "cast",
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 6,
|
|
// CHECK-NEXT: "label": "%cast"
|
|
// CHECK-NEXT: }
|
|
// CHECK: ]
|
|
// CHECK-NEXT: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":5,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":2,"character":10}
|
|
}}
|
|
// CHECK-LABEL: "id": 5
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "detail": "optional",
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 14,
|
|
// CHECK-NEXT: "label": "public",
|
|
// CHECK-NEXT: "sortText": "0"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "detail": "optional",
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 14,
|
|
// CHECK-NEXT: "label": "private",
|
|
// CHECK-NEXT: "sortText": "0"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "detail": "optional",
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 14,
|
|
// CHECK-NEXT: "label": "nested",
|
|
// CHECK-NEXT: "sortText": "0"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":6,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":0,"character":8}
|
|
}}
|
|
// CHECK-LABEL: "id": 6
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK: {
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "false"
|
|
// CHECK: },
|
|
// CHECK: {
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "loc"
|
|
// CHECK: },
|
|
// CHECK: {
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "true"
|
|
// CHECK: },
|
|
// CHECK: {
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "unit"
|
|
// CHECK: }
|
|
// CHECK: ]
|
|
// CHECK: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":7,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":3,"character":56}
|
|
}}
|
|
// CHECK-LABEL: "id": 7
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK: {
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "index"
|
|
// CHECK: },
|
|
// CHECK: {
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "none"
|
|
// CHECK: },
|
|
// CHECK: {
|
|
// CHECK: "insertText": "i",
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "i<N>"
|
|
// CHECK: }
|
|
// CHECK: ]
|
|
// CHECK-NEXT: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":8,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":3,"character":57}
|
|
}}
|
|
// CHECK-LABEL: "id": 8
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK: {
|
|
// CHECK: "detail": "dialect",
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 9,
|
|
// CHECK: "label": "builtin",
|
|
// CHECK: "sortText": "3"
|
|
// CHECK: },
|
|
// CHECK: {
|
|
// CHECK: "detail": "alias: i32",
|
|
// CHECK: "insertTextFormat": 1,
|
|
// CHECK: "kind": 5,
|
|
// CHECK: "label": "alias",
|
|
// CHECK: "sortText": "2"
|
|
// CHECK: }
|
|
// CHECK: ]
|
|
// CHECK-NEXT: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":9,"method":"textDocument/completion","params":{
|
|
"textDocument":{"uri":"test:///foo.mlir"},
|
|
"position":{"line":3,"character":61}
|
|
}}
|
|
// CHECK-LABEL: "id": 9
|
|
// CHECK-NEXT: "jsonrpc": "2.0",
|
|
// CHECK-NEXT: "result": {
|
|
// CHECK-NEXT: "isIncomplete": false,
|
|
// CHECK-NEXT: "items": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 14,
|
|
// CHECK-NEXT: "label": "attribute",
|
|
// CHECK-NEXT: "sortText": "0"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 14,
|
|
// CHECK-NEXT: "label": "operation",
|
|
// CHECK-NEXT: "sortText": "0"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 14,
|
|
// CHECK-NEXT: "label": "range",
|
|
// CHECK-NEXT: "sortText": "0"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 14,
|
|
// CHECK-NEXT: "label": "type",
|
|
// CHECK-NEXT: "sortText": "0"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "insertTextFormat": 1,
|
|
// CHECK-NEXT: "kind": 14,
|
|
// CHECK-NEXT: "label": "value",
|
|
// CHECK-NEXT: "sortText": "0"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
// -----
|
|
{"jsonrpc":"2.0","id":10,"method":"shutdown"}
|
|
// -----
|
|
{"jsonrpc":"2.0","method":"exit"}
|