mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 19:51:09 +01:00
Adjust handling of values in calls and structs (#2824)
Previously, IR for arguments in calls and struct values was separated out. This merges it back in. Additionally, parameters for functions and struct types had their own IR; the block is still there, but there's a TODO to decide what to do with it. In the LLVM IR, this has the consequence of emitting expressions that are inputs to a call or struct value within the scope of the function, which is pretty much where it should be. Importantly it happens before the call is encountered. This change also tinkers with the int and real literal lowering. I'm pretty sure both are still wrong, but was having trouble figuring out a "better" way to do it, and this seems like it'll work for now.
This commit is contained in:
@@ -4,12 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block4, arg_refs: block5},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
@@ -27,8 +24,8 @@
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+2, arg1: block0},
|
||||
// CHECK:STDOUT: {kind: FunctionDeclaration, arg0: str2, arg1: callable1},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: nodeEmptyStruct, type: nodeEmptyStructType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block6},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block5, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block4},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
// CHECK:STDOUT: [
|
||||
@@ -48,13 +45,11 @@
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+5,
|
||||
// CHECK:STDOUT: node+6,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+5,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+6,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
fn Echo(a: {}) {
|
||||
|
||||
@@ -4,13 +4,11 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_ir: block2, param_refs: block3},
|
||||
// CHECK:STDOUT: {param_ir: block4, param_refs: block5},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block3},
|
||||
// CHECK:STDOUT: {param_refs: block5},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: 1,
|
||||
@@ -56,7 +54,7 @@
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+21, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int5, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+23, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+12, arg1: block0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+12, arg1: block6},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
// CHECK:STDOUT: [
|
||||
@@ -91,35 +89,29 @@
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+13,
|
||||
// CHECK:STDOUT: node+14,
|
||||
// CHECK:STDOUT: node+15,
|
||||
// CHECK:STDOUT: node+16,
|
||||
// CHECK:STDOUT: node+17,
|
||||
// CHECK:STDOUT: node+18,
|
||||
// CHECK:STDOUT: node+19,
|
||||
// CHECK:STDOUT: node+20,
|
||||
// CHECK:STDOUT: node+21,
|
||||
// CHECK:STDOUT: node+22,
|
||||
// CHECK:STDOUT: node+23,
|
||||
// CHECK:STDOUT: node+24,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+14,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+15,
|
||||
// CHECK:STDOUT: node+16,
|
||||
// CHECK:STDOUT: node+17,
|
||||
// CHECK:STDOUT: node+18,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+16,
|
||||
// CHECK:STDOUT: node+18,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+19,
|
||||
// CHECK:STDOUT: node+20,
|
||||
// CHECK:STDOUT: node+21,
|
||||
// CHECK:STDOUT: node+22,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+20,
|
||||
// CHECK:STDOUT: node+22,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+23,
|
||||
// CHECK:STDOUT: node+24,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+24,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
@@ -4,11 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
@@ -28,7 +26,7 @@
|
||||
// CHECK:STDOUT: {kind: FunctionDeclaration, arg0: str2, arg1: callable1},
|
||||
// CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: nodeFloatingPointType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+5, type: nodeFloatingPointType},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block4},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
// CHECK:STDOUT: [
|
||||
|
||||
+3
-6
@@ -4,12 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block0, arg_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0, return_type: nodeFloatingPointType},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block0, return_type: nodeFloatingPointType},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
@@ -29,7 +26,7 @@
|
||||
// CHECK:STDOUT: {kind: FunctionDeclaration, arg0: str1, arg1: callable1},
|
||||
// CHECK:STDOUT: {kind: VarStorage, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+5, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0, type: nodeFloatingPointType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block0, arg1: callable0, type: nodeFloatingPointType},
|
||||
// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: nodeInvalidType, type: nodeInvalidType},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block3},
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
+5
-10
@@ -4,12 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block6, arg_refs: block7},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2, return_type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block2, return_type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: 1,
|
||||
@@ -35,7 +32,7 @@
|
||||
// CHECK:STDOUT: {kind: BindName, arg0: str3, arg1: node+7, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+9, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block6, arg1: callable0, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Assign, arg0: node+7, arg1: node+11, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+6, arg1: block5},
|
||||
// CHECK:STDOUT: ]
|
||||
@@ -62,12 +59,10 @@
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+7,
|
||||
// CHECK:STDOUT: node+8,
|
||||
// CHECK:STDOUT: node+11,
|
||||
// CHECK:STDOUT: node+12,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+9,
|
||||
// CHECK:STDOUT: node+10,
|
||||
// CHECK:STDOUT: node+11,
|
||||
// CHECK:STDOUT: node+12,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+10,
|
||||
|
||||
@@ -4,12 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block4, arg_refs: block5},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: 1,
|
||||
@@ -50,8 +47,8 @@
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+17, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int5, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+19, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+8, arg1: block6},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block5, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+8, arg1: block4},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
// CHECK:STDOUT: [
|
||||
@@ -88,15 +85,13 @@
|
||||
// CHECK:STDOUT: node+18,
|
||||
// CHECK:STDOUT: node+19,
|
||||
// CHECK:STDOUT: node+20,
|
||||
// CHECK:STDOUT: node+21,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+14,
|
||||
// CHECK:STDOUT: node+18,
|
||||
// CHECK:STDOUT: node+20,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+21,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
fn Foo(a: i32, b: i32, c: i32) {}
|
||||
|
||||
@@ -4,12 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block4, arg_refs: block5},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: 1,
|
||||
@@ -29,8 +26,8 @@
|
||||
// CHECK:STDOUT: {kind: FunctionDeclaration, arg0: str2, arg1: callable1},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+5, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block6},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block5, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block4},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
// CHECK:STDOUT: [
|
||||
@@ -51,13 +48,11 @@
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+5,
|
||||
// CHECK:STDOUT: node+6,
|
||||
// CHECK:STDOUT: node+7,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+6,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+7,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
fn Foo(a: i32) {}
|
||||
|
||||
@@ -4,13 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block4, arg_refs: block5},
|
||||
// CHECK:STDOUT: {arg_ir: block7, arg_refs: block8},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: 1,
|
||||
@@ -31,11 +27,11 @@
|
||||
// CHECK:STDOUT: {kind: FunctionDeclaration, arg0: str2, arg1: callable1},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+5, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block5, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+8, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call1, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block6},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block6, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+4, arg1: block4},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
// CHECK:STDOUT: [
|
||||
@@ -56,17 +52,13 @@
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+5,
|
||||
// CHECK:STDOUT: node+6,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+6,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+7,
|
||||
// CHECK:STDOUT: node+8,
|
||||
// CHECK:STDOUT: node+9,
|
||||
// CHECK:STDOUT: node+10,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+8,
|
||||
// CHECK:STDOUT: node+9,
|
||||
// CHECK:STDOUT: node+6,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+9,
|
||||
|
||||
@@ -4,12 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block4, arg_refs: block5},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: 1,
|
||||
@@ -35,8 +32,8 @@
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+7, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+9, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+6, arg1: block6},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block5, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+6, arg1: block4},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
// CHECK:STDOUT: [
|
||||
@@ -62,14 +59,12 @@
|
||||
// CHECK:STDOUT: node+8,
|
||||
// CHECK:STDOUT: node+9,
|
||||
// CHECK:STDOUT: node+10,
|
||||
// CHECK:STDOUT: node+11,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+8,
|
||||
// CHECK:STDOUT: node+10,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+11,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
fn Foo(a: i32, b: i32) {}
|
||||
|
||||
@@ -4,13 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block4, arg_refs: block5},
|
||||
// CHECK:STDOUT: {arg_ir: block7, arg_refs: block8},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: 1,
|
||||
@@ -38,13 +34,13 @@
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+7, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+9, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block5, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int2, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+12, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int3, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: StubReference, arg0: node+14, type: nodeIntegerType},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call1, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+6, arg1: block6},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block6, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+6, arg1: block4},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
// CHECK:STDOUT: [
|
||||
@@ -70,20 +66,16 @@
|
||||
// CHECK:STDOUT: node+8,
|
||||
// CHECK:STDOUT: node+9,
|
||||
// CHECK:STDOUT: node+10,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+8,
|
||||
// CHECK:STDOUT: node+10,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+11,
|
||||
// CHECK:STDOUT: node+16,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+12,
|
||||
// CHECK:STDOUT: node+13,
|
||||
// CHECK:STDOUT: node+14,
|
||||
// CHECK:STDOUT: node+15,
|
||||
// CHECK:STDOUT: node+16,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+8,
|
||||
// CHECK:STDOUT: node+10,
|
||||
// CHECK:STDOUT: ],
|
||||
// CHECK:STDOUT: [
|
||||
// CHECK:STDOUT: node+13,
|
||||
|
||||
@@ -4,12 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: {arg_ir: block0, arg_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
@@ -23,7 +20,7 @@
|
||||
// CHECK:STDOUT: {kind: FunctionDeclaration, arg0: str0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+0, arg1: block0},
|
||||
// CHECK:STDOUT: {kind: FunctionDeclaration, arg0: str1, arg1: callable1},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: call0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: Call, arg0: block0, arg1: callable0},
|
||||
// CHECK:STDOUT: {kind: FunctionDefinition, arg0: node+2, arg1: block2},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
|
||||
+1
-3
@@ -4,10 +4,8 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
@@ -4,12 +4,10 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block0, param_refs: block0},
|
||||
// CHECK:STDOUT: {param_refs: block0},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
@@ -4,11 +4,9 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
// CHECK:STDOUT: calls: [
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: callables: [
|
||||
// CHECK:STDOUT: {param_ir: block1, param_refs: block2},
|
||||
// CHECK:STDOUT: {param_ir: block4, param_refs: block5},
|
||||
// CHECK:STDOUT: {param_refs: block2},
|
||||
// CHECK:STDOUT: {param_refs: block5},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
Reference in New Issue
Block a user