mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 15:10:12 +01:00
Format the call parameters of a function, not the patterns. (#5342)
This makes the parameters printed in a SemIR `fn` declaration match the arguments printed in a SemIR `call` instruction.
This commit is contained in:
@@ -86,7 +86,7 @@ fn F() -> NS.a {
|
||||
// CHECK:STDOUT: .v = %.loc11_16
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() -> %return.param_patt: %C {
|
||||
// CHECK:STDOUT: fn @F() -> %return.param: %C {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc19_17.1: %empty_tuple.type = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc19_18.1: %struct_type.v = struct_literal (%.loc19_17.1)
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ fn G() {
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() -> %tuple.type.189;
|
||||
// CHECK:STDOUT: fn @F() -> %return.param: %tuple.type.189;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
@@ -216,9 +216,9 @@ let c: array(i32, ConvertToU32(3))* = &a;
|
||||
// CHECK:STDOUT: %c: %ptr.f01 = bind_name c, @__global_init.%addr.loc16
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Add.1(%a.param_patt: %i32, %b.param_patt: %i32) -> %i32 = "int.sadd";
|
||||
// CHECK:STDOUT: fn @Add.1(%a.param: %i32, %b.param: %i32) -> %i32 = "int.sadd";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertToU32(%a.param_patt: %i32) -> %u32 = "int.convert_checked";
|
||||
// CHECK:STDOUT: fn @ConvertToU32(%a.param: %i32) -> %u32 = "int.convert_checked";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
@@ -116,5 +116,5 @@ var a: array(i32, Negate(1));
|
||||
// CHECK:STDOUT: %a: <error> = bind_name a, <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Negate.1(%n.param_patt: %i32) -> %i32 = "int.snegate";
|
||||
// CHECK:STDOUT: fn @Negate.1(%n.param: %i32) -> %i32 = "int.snegate";
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ fn G() -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%arr.param_patt: %array_type, %i.param_patt: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%arr.param: %array_type, %i.param: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %arr.ref: %array_type = name_ref arr, %arr
|
||||
// CHECK:STDOUT: %i.ref: %i32 = name_ref i, %i
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ fn H() {
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %array_type.loc13_22.2 [symbolic = %require_complete (constants.%require_complete.b7f)]
|
||||
// CHECK:STDOUT: %array: @G.%array_type.loc13_22.2 (%array_type.281) = tuple_value () [symbolic = %array (constants.%array.2ed)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%T.patt.loc11_6.1: type) {
|
||||
// CHECK:STDOUT: fn() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %arr.patt: @G.%array_type.loc13_22.2 (%array_type.281) = binding_pattern arr
|
||||
|
||||
+2
-2
@@ -111,7 +111,7 @@ fn G(n: i32) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%n.param_patt: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: fn @G(%n.param: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, imports.%Main.F [concrete = constants.%F]
|
||||
// CHECK:STDOUT: %.loc5_12.1: ref %array_type = temporary_storage
|
||||
@@ -125,5 +125,5 @@ fn G(n: i32) -> i32 {
|
||||
// CHECK:STDOUT: return %.loc5_15.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() -> %array_type [from "library.carbon"];
|
||||
// CHECK:STDOUT: fn @F [from "library.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -101,7 +101,7 @@ fn H() { G(3); }
|
||||
// CHECK:STDOUT: %array_type.loc9_24.2: type = array_type %int.convert_checked.loc9_23.2, constants.%i32 [symbolic = %array_type.loc9_24.2 (constants.%array_type)]
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %array_type.loc9_24.2 [symbolic = %require_complete (constants.%require_complete.7cb)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%N.patt.loc4_6.1: %i32) {
|
||||
// CHECK:STDOUT: fn() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %arr.patt: @F.%array_type.loc9_24.2 (%array_type) = binding_pattern arr
|
||||
@@ -224,7 +224,7 @@ fn H() { G(3); }
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %.loc10_23.2: <instruction> = convert_to_value_action %N.ref, Core.IntLiteral [template]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%N.patt.loc5_15.1: %i32) {
|
||||
// CHECK:STDOUT: fn() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %arr.patt: <error> = binding_pattern arr
|
||||
|
||||
+3
-3
@@ -292,7 +292,7 @@ var b: B = {.x = 1} as B;
|
||||
// CHECK:STDOUT: .A = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param_patt: %A {
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %A {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
||||
// CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc]
|
||||
@@ -855,7 +855,7 @@ var b: B = {.x = 1} as B;
|
||||
// CHECK:STDOUT: .Noncopyable = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %A) {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %A) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %a_value.patt: %A = binding_pattern a_value
|
||||
@@ -944,7 +944,7 @@ var b: B = {.x = 1} as B;
|
||||
// CHECK:STDOUT: .Noncopyable = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %A) {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %A) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %a_init.patt: %A = binding_pattern a_init
|
||||
|
||||
+3
-3
@@ -102,7 +102,7 @@ fn Initializing() {
|
||||
// CHECK:STDOUT: .Self = constants.%X
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Value(%n.param_patt: %X) {
|
||||
// CHECK:STDOUT: fn @Value(%n.param: %X) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %m.patt: %X = binding_pattern m
|
||||
@@ -114,7 +114,7 @@ fn Initializing() {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Reference(%p.param_patt: %ptr.d17) {
|
||||
// CHECK:STDOUT: fn @Reference(%p.param: %ptr.d17) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %q.patt: %ptr.d17 = binding_pattern q
|
||||
@@ -131,7 +131,7 @@ fn Initializing() {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %X;
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %X;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Initializing() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+1
-1
@@ -69,7 +69,7 @@ fn Var() {
|
||||
// CHECK:STDOUT: .Self = constants.%X
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %X;
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %X;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Let() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+2
-2
@@ -168,7 +168,7 @@ let n: i32 = ((4 as i32) as X) as i32;
|
||||
// CHECK:STDOUT: .n = %.loc12
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Convert.2[%self.param_patt: %i32]() -> %return.param_patt: %X {
|
||||
// CHECK:STDOUT: fn @Convert.2(%self.param: %i32) -> %return.param: %X {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %i32 = name_ref self, %self
|
||||
// CHECK:STDOUT: %.loc16_51.1: %struct_type.n = struct_literal (%self.ref)
|
||||
@@ -179,7 +179,7 @@ let n: i32 = ((4 as i32) as X) as i32;
|
||||
// CHECK:STDOUT: return %.loc16_52 to %return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Convert.3[%self.param_patt: %X]() -> %i32 {
|
||||
// CHECK:STDOUT: fn @Convert.3(%self.param: %X) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %X = name_ref self, %self
|
||||
// CHECK:STDOUT: %n.ref: %X.elem = name_ref n, @X.%.loc12 [concrete = @X.%.loc12]
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ fn Run() -> String {}
|
||||
// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Run() -> %return.param_patt: String {
|
||||
// CHECK:STDOUT: fn @Run() -> %return.param: String {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ fn Run(n: i32) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Run(%n.param_patt: %i32) {
|
||||
// CHECK:STDOUT: fn @Run(%n.param: %i32) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -43,9 +43,9 @@ fn Boo[a: ()]() {}
|
||||
// CHECK:STDOUT: %Boo.decl: %Boo.type = fn_decl @Boo [concrete = constants.%Boo] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Foo[<error>: <error>]();
|
||||
// CHECK:STDOUT: fn @Foo();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Boo[<error>: <error>]() {
|
||||
// CHECK:STDOUT: fn @Boo() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -91,19 +91,19 @@ fn C(r#if: ()) -> () {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @A(%n.param_patt: %empty_tuple.type) -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: fn @A(%n.param: %empty_tuple.type) -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %n.ref: %empty_tuple.type = name_ref n, %n
|
||||
// CHECK:STDOUT: return %n.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @B(%n.param_patt: %empty_tuple.type) -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: fn @B(%n.param: %empty_tuple.type) -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %n.ref: %empty_tuple.type = name_ref n, %n
|
||||
// CHECK:STDOUT: return %n.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @C(%if.param_patt: %empty_tuple.type) -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: fn @C(%if.param: %empty_tuple.type) -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %if.ref: %empty_tuple.type = name_ref r#if, %if
|
||||
// CHECK:STDOUT: return %if.ref
|
||||
|
||||
+5
-5
@@ -223,11 +223,11 @@ var d: C(false == false) = True();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Eq(%a.param_patt: bool, %b.param_patt: bool) -> bool = "bool.eq";
|
||||
// CHECK:STDOUT: fn @Eq(%a.param: bool, %b.param: bool) -> bool = "bool.eq";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @True() -> %C.a14;
|
||||
// CHECK:STDOUT: fn @True() -> %return.param: %C.a14;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @False() -> %C.2ba;
|
||||
// CHECK:STDOUT: fn @False() -> %return.param: %C.2ba;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -438,9 +438,9 @@ var d: C(false == false) = True();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @True() -> %C.a14;
|
||||
// CHECK:STDOUT: fn @True() -> %return.param: %C.a14;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @False() -> %C.2ba;
|
||||
// CHECK:STDOUT: fn @False() -> %return.param: %C.2ba;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ var b: Bool() = false;
|
||||
// CHECK:STDOUT: %b: ref bool = bind_name b, %b.var
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Bool() -> type = "bool.make_type" [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @Bool = "bool.make_type" [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+5
-5
@@ -223,11 +223,11 @@ var d: C(false != false) = False();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Neq(%a.param_patt: bool, %b.param_patt: bool) -> bool = "bool.neq";
|
||||
// CHECK:STDOUT: fn @Neq(%a.param: bool, %b.param: bool) -> bool = "bool.neq";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @True() -> %C.a14;
|
||||
// CHECK:STDOUT: fn @True() -> %return.param: %C.a14;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @False() -> %C.2ba;
|
||||
// CHECK:STDOUT: fn @False() -> %return.param: %C.2ba;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -438,9 +438,9 @@ var d: C(false != false) = False();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @True() -> %C.a14;
|
||||
// CHECK:STDOUT: fn @True() -> %return.param: %C.a14;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @False() -> %C.2ba;
|
||||
// CHECK:STDOUT: fn @False() -> %return.param: %C.2ba;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+9
-9
@@ -158,9 +158,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %x: ref f64 = bind_name x, %x.var
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Add(%a.param_patt: f64, %b.param_patt: f64) -> f64 = "float.add";
|
||||
// CHECK:STDOUT: fn @Add(%a.param: f64, %b.param: f64) -> f64 = "float.add";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Add.ref: %Add.type = name_ref Add, file.%Add.decl [concrete = constants.%Add]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -443,15 +443,15 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooFew(%a.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooFew(%a.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool;
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param: f64, %b.param: f64) -> bool;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param_patt: f64, %b.param_patt: f64) -> f64 = "float.add";
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param: f64, %b.param: f64) -> f64 = "float.add";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, file.%TooFew.decl [concrete = constants.%TooFew]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -461,7 +461,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return %.loc22_19.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, file.%TooMany.decl [concrete = constants.%TooMany]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -473,7 +473,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return %.loc26_26.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, file.%BadReturnType.decl [concrete = constants.%BadReturnType]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
+9
-9
@@ -190,9 +190,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %c: ref f64 = bind_name c, %.loc10_26.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Div(%a.param_patt: f64, %b.param_patt: f64) -> f64 = "float.div";
|
||||
// CHECK:STDOUT: fn @Div(%a.param: f64, %b.param: f64) -> f64 = "float.div";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Div.ref: %Div.type = name_ref Div, file.%Div.decl [concrete = constants.%Div]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -483,15 +483,15 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooFew(%a.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooFew(%a.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool;
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param: f64, %b.param: f64) -> bool;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param_patt: f64, %b.param_patt: f64) -> f64 = "float.div";
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param: f64, %b.param: f64) -> f64 = "float.div";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, file.%TooFew.decl [concrete = constants.%TooFew]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -501,7 +501,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return %.loc22_19.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, file.%TooMany.decl [concrete = constants.%TooMany]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -513,7 +513,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return %.loc26_26.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, file.%BadReturnType.decl [concrete = constants.%BadReturnType]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
+4
-4
@@ -172,9 +172,9 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
|
||||
// CHECK:STDOUT: .Self = constants.%False
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Eq(%a.param_patt: f64, %b.param_patt: f64) -> bool = "float.eq";
|
||||
// CHECK:STDOUT: fn @Eq(%a.param: f64, %b.param: f64) -> bool = "float.eq";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%true_.param_patt: %True, %false_.param_patt: %False) {
|
||||
// CHECK:STDOUT: fn @F(%true_.param: %True, %false_.param: %False) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %true_.ref: %True = name_ref true_, %true_
|
||||
// CHECK:STDOUT: %Eq.ref.loc8: %Eq.type = name_ref Eq, file.%Eq.decl [concrete = constants.%Eq]
|
||||
@@ -217,7 +217,7 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Eq.ref: %Eq.type = name_ref Eq, file.%Eq.decl [concrete = constants.%Eq]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -285,5 +285,5 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @WrongResult(%a.param_patt: f64, %b.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @WrongResult(%a.param: f64, %b.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+4
-4
@@ -192,11 +192,11 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: .Self = constants.%False
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Greater(%a.param_patt: f64, %b.param_patt: f64) -> bool = "float.greater";
|
||||
// CHECK:STDOUT: fn @Greater(%a.param: f64, %b.param: f64) -> bool = "float.greater";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Negate(%a.param_patt: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT: fn @Negate(%a.param: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%true_.param_patt: %True, %false_.param_patt: %False) {
|
||||
// CHECK:STDOUT: fn @F(%true_.param: %True, %false_.param: %False) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %false_.ref.loc9: %False = name_ref false_, %false_
|
||||
// CHECK:STDOUT: %Greater.ref.loc9: %Greater.type = name_ref Greater, file.%Greater.decl [concrete = constants.%Greater]
|
||||
@@ -304,7 +304,7 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Greater.ref: %Greater.type = name_ref Greater, file.%Greater.decl [concrete = constants.%Greater]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
@@ -192,11 +192,11 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: .Self = constants.%False
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @GreaterEq(%a.param_patt: f64, %b.param_patt: f64) -> bool = "float.greater_eq";
|
||||
// CHECK:STDOUT: fn @GreaterEq(%a.param: f64, %b.param: f64) -> bool = "float.greater_eq";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Negate(%a.param_patt: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT: fn @Negate(%a.param: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%true_.param_patt: %True, %false_.param_patt: %False) {
|
||||
// CHECK:STDOUT: fn @F(%true_.param: %True, %false_.param: %False) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %false_.ref.loc9: %False = name_ref false_, %false_
|
||||
// CHECK:STDOUT: %GreaterEq.ref.loc9: %GreaterEq.type = name_ref GreaterEq, file.%GreaterEq.decl [concrete = constants.%GreaterEq]
|
||||
@@ -304,7 +304,7 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %GreaterEq.ref: %GreaterEq.type = name_ref GreaterEq, file.%GreaterEq.decl [concrete = constants.%GreaterEq]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
+4
-4
@@ -192,11 +192,11 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: .Self = constants.%False
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Less(%a.param_patt: f64, %b.param_patt: f64) -> bool = "float.less";
|
||||
// CHECK:STDOUT: fn @Less(%a.param: f64, %b.param: f64) -> bool = "float.less";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Negate(%a.param_patt: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT: fn @Negate(%a.param: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%true_.param_patt: %True, %false_.param_patt: %False) {
|
||||
// CHECK:STDOUT: fn @F(%true_.param: %True, %false_.param: %False) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %true_.ref.loc9: %True = name_ref true_, %true_
|
||||
// CHECK:STDOUT: %Less.ref.loc9: %Less.type = name_ref Less, file.%Less.decl [concrete = constants.%Less]
|
||||
@@ -304,7 +304,7 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Less.ref: %Less.type = name_ref Less, file.%Less.decl [concrete = constants.%Less]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
+4
-4
@@ -192,11 +192,11 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: .Self = constants.%False
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @LessEq(%a.param_patt: f64, %b.param_patt: f64) -> bool = "float.less_eq";
|
||||
// CHECK:STDOUT: fn @LessEq(%a.param: f64, %b.param: f64) -> bool = "float.less_eq";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Negate(%a.param_patt: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT: fn @Negate(%a.param: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%true_.param_patt: %True, %false_.param_patt: %False) {
|
||||
// CHECK:STDOUT: fn @F(%true_.param: %True, %false_.param: %False) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %true_.ref.loc9: %True = name_ref true_, %true_
|
||||
// CHECK:STDOUT: %LessEq.ref.loc9: %LessEq.type = name_ref LessEq, file.%LessEq.decl [concrete = constants.%LessEq]
|
||||
@@ -304,7 +304,7 @@ fn RuntimeCallIsValid(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %LessEq.ref: %LessEq.type = name_ref LessEq, file.%LessEq.decl [concrete = constants.%LessEq]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
@@ -85,7 +85,7 @@ var dyn: Float(dyn_size);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Float(%size.param_patt: %i32) -> type = "float.make_type";
|
||||
// CHECK:STDOUT: fn @Float(%size.param: %i32) -> type = "float.make_type";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- use_types.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -168,9 +168,9 @@ var dyn: Float(dyn_size);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Float(%size.param_patt: %i32) -> type = "float.make_type" [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @Float = "float.make_type" [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @GetFloat(%dyn_size.param_patt: %i32) -> type {
|
||||
// CHECK:STDOUT: fn @GetFloat(%dyn_size.param: %i32) -> type {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Float.ref: %Float.type = name_ref Float, imports.%Main.Float [concrete = constants.%Float]
|
||||
// CHECK:STDOUT: %dyn_size.ref: %i32 = name_ref dyn_size, %dyn_size
|
||||
@@ -278,7 +278,7 @@ var dyn: Float(dyn_size);
|
||||
// CHECK:STDOUT: %dyn: <error> = bind_name dyn, <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Float(%size.param_patt: %i32) -> type = "float.make_type" [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @Float = "float.make_type" [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+9
-9
@@ -158,9 +158,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %x: ref f64 = bind_name x, %x.var
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Mul(%a.param_patt: f64, %b.param_patt: f64) -> f64 = "float.mul";
|
||||
// CHECK:STDOUT: fn @Mul(%a.param: f64, %b.param: f64) -> f64 = "float.mul";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Mul.ref: %Mul.type = name_ref Mul, file.%Mul.decl [concrete = constants.%Mul]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -443,15 +443,15 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooFew(%a.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooFew(%a.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool;
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param: f64, %b.param: f64) -> bool;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param_patt: f64, %b.param_patt: f64) -> f64 = "float.mul";
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param: f64, %b.param: f64) -> f64 = "float.mul";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, file.%TooFew.decl [concrete = constants.%TooFew]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -461,7 +461,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return %.loc22_19.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, file.%TooMany.decl [concrete = constants.%TooMany]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -473,7 +473,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return %.loc26_26.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, file.%BadReturnType.decl [concrete = constants.%BadReturnType]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
+8
-8
@@ -168,9 +168,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %a: ref f64 = bind_name a, %.loc8_24.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Negate(%a.param_patt: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT: fn @Negate(%a.param: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Negate.ref: %Negate.type = name_ref Negate, file.%Negate.decl [concrete = constants.%Negate]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -412,20 +412,20 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooFew() -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param_patt: f64, %b.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param: f64, %b.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param_patt: f64) -> bool;
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param: f64) -> bool;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param_patt: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param: f64) -> f64 = "float.negate";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, file.%TooFew.decl [concrete = constants.%TooFew]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, file.%TooMany.decl [concrete = constants.%TooMany]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -434,7 +434,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, file.%BadReturnType.decl [concrete = constants.%BadReturnType]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
+4
-4
@@ -172,9 +172,9 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
|
||||
// CHECK:STDOUT: .Self = constants.%False
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Neq(%a.param_patt: f64, %b.param_patt: f64) -> bool = "float.neq";
|
||||
// CHECK:STDOUT: fn @Neq(%a.param: f64, %b.param: f64) -> bool = "float.neq";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%true_.param_patt: %True, %false_.param_patt: %False) {
|
||||
// CHECK:STDOUT: fn @F(%true_.param: %True, %false_.param: %False) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %true_.ref: %True = name_ref true_, %true_
|
||||
// CHECK:STDOUT: %Neq.ref.loc8: %Neq.type = name_ref Neq, file.%Neq.decl [concrete = constants.%Neq]
|
||||
@@ -217,7 +217,7 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Neq.ref: %Neq.type = name_ref Neq, file.%Neq.decl [concrete = constants.%Neq]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -285,5 +285,5 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @WrongResult(%a.param_patt: f64, %b.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @WrongResult(%a.param: f64, %b.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+9
-9
@@ -158,9 +158,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %x: ref f64 = bind_name x, %x.var
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Sub(%a.param_patt: f64, %b.param_patt: f64) -> f64 = "float.sub";
|
||||
// CHECK:STDOUT: fn @Sub(%a.param: f64, %b.param: f64) -> f64 = "float.sub";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param_patt: f64, %b.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValid(%a.param: f64, %b.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Sub.ref: %Sub.type = name_ref Sub, file.%Sub.decl [concrete = constants.%Sub]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -443,15 +443,15 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooFew(%a.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooFew(%a.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64;
|
||||
// CHECK:STDOUT: fn @TooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool;
|
||||
// CHECK:STDOUT: fn @BadReturnType(%a.param: f64, %b.param: f64) -> bool;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param_patt: f64, %b.param_patt: f64) -> f64 = "float.sub";
|
||||
// CHECK:STDOUT: fn @JustRight(%a.param: f64, %b.param: f64) -> f64 = "float.sub";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooFew(%a.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, file.%TooFew.decl [concrete = constants.%TooFew]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -461,7 +461,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return %.loc22_19.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param_patt: f64, %b.param_patt: f64, %c.param_patt: f64) -> f64 {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidTooMany(%a.param: f64, %b.param: f64, %c.param: f64) -> f64 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, file.%TooMany.decl [concrete = constants.%TooMany]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
@@ -473,7 +473,7 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: return %.loc26_26.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param_patt: f64, %b.param_patt: f64) -> bool {
|
||||
// CHECK:STDOUT: fn @RuntimeCallIsValidBadReturnType(%a.param: f64, %b.param: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, file.%BadReturnType.decl [concrete = constants.%BadReturnType]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
|
||||
@@ -160,7 +160,7 @@ fn NoOp() -> {} = "no_op";
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @NoOp(%x.param_patt: %empty_tuple.type) -> %empty_tuple.type = "no_op";
|
||||
// CHECK:STDOUT: fn @NoOp(%x.param: %empty_tuple.type) -> %empty_tuple.type = "no_op";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @PrintChar.1(%a.param_patt: %i32) -> %i32 = "print.char";
|
||||
// CHECK:STDOUT: fn @PrintChar.1(%a.param: %i32) -> %i32 = "print.char";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Main() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+1
-1
@@ -82,7 +82,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Print.1(%a.param_patt: %i32) = "print.int";
|
||||
// CHECK:STDOUT: fn @Print.1(%a.param: %i32) = "print.int";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Main() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+3
-3
@@ -264,7 +264,7 @@ class A {
|
||||
// CHECK:STDOUT: return %.loc9_13.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param_patt: %Circle {
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %Circle {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b]
|
||||
// CHECK:STDOUT: %.loc13_24.1: %struct_type.radius.f47 = struct_literal (%int_5)
|
||||
@@ -475,7 +475,7 @@ class A {
|
||||
// CHECK:STDOUT: .Compute = %Compute.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @GetRadius[%self.param_patt: %Circle]() -> %i32 {
|
||||
// CHECK:STDOUT: fn @GetRadius(%self.param: %Circle) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %Circle = name_ref self, %self
|
||||
// CHECK:STDOUT: %radius.ref: %Circle.elem = name_ref radius, @Circle.%.loc5 [concrete = @Circle.%.loc5]
|
||||
@@ -497,7 +497,7 @@ class A {
|
||||
// CHECK:STDOUT: return %.loc12_13.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Compute[%self.param_patt: %Circle]() -> %i32 {
|
||||
// CHECK:STDOUT: fn @Compute(%self.param: %Circle) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %Circle = name_ref self, %self
|
||||
// CHECK:STDOUT: %SomeInternalFunction.ref: %SomeInternalFunction.type = name_ref SomeInternalFunction, @Circle.%SomeInternalFunction.decl [concrete = constants.%SomeInternalFunction]
|
||||
|
||||
+1
-1
@@ -205,7 +205,7 @@ interface I {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.1();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2(%a.param_patt: %AdaptNotExtend) {
|
||||
// CHECK:STDOUT: fn @F.2(%a.param: %AdaptNotExtend) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %AdaptNotExtend = name_ref a, %a
|
||||
// CHECK:STDOUT: %F.ref: <error> = name_ref F, <error> [concrete = <error>]
|
||||
|
||||
@@ -204,7 +204,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
||||
// CHECK:STDOUT: .Self = constants.%AdaptCopyable
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%c.param_patt: %AdaptCopyable) -> %AdaptCopyable {
|
||||
// CHECK:STDOUT: fn @F(%c.param: %AdaptCopyable) -> %AdaptCopyable {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %d.patt: %AdaptCopyable = binding_pattern d
|
||||
@@ -220,7 +220,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
||||
// CHECK:STDOUT: return %.loc12
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @InTuple(%c.param_patt: %tuple.type.2a3) -> %return.param_patt: %tuple.type.2a3 {
|
||||
// CHECK:STDOUT: fn @InTuple(%c.param: %tuple.type.2a3) -> %return.param: %tuple.type.2a3 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %d.patt: %tuple.type.2a3 = binding_pattern d
|
||||
@@ -347,7 +347,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
||||
// CHECK:STDOUT: .Self = constants.%AdaptTuple
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%c.param_patt: %AdaptTuple) -> %return.param_patt: %AdaptTuple {
|
||||
// CHECK:STDOUT: fn @F(%c.param: %AdaptTuple) -> %return.param: %AdaptTuple {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %d.patt: %AdaptTuple = binding_pattern d
|
||||
@@ -386,7 +386,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
||||
// CHECK:STDOUT: return %.loc10_11.9 to %return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @InTuple(%c.param_patt: %tuple.type.f69) -> %return.param_patt: %tuple.type.f69 {
|
||||
// CHECK:STDOUT: fn @InTuple(%c.param: %tuple.type.f69) -> %return.param: %tuple.type.f69 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %d.patt: %tuple.type.f69 = binding_pattern d
|
||||
@@ -509,7 +509,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
||||
// CHECK:STDOUT: .Noncopyable = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%a.param_patt: %AdaptNoncopyable) -> %return.param_patt: %AdaptNoncopyable {
|
||||
// CHECK:STDOUT: fn @G(%a.param: %AdaptNoncopyable) -> %return.param: %AdaptNoncopyable {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %b.patt: %AdaptNoncopyable = binding_pattern b
|
||||
@@ -600,7 +600,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
||||
// CHECK:STDOUT: .Noncopyable = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @H(%a.param_patt: %AdaptNoncopyableIndirect) -> %return.param_patt: %AdaptNoncopyableIndirect {
|
||||
// CHECK:STDOUT: fn @H(%a.param: %AdaptNoncopyableIndirect) -> %return.param: %AdaptNoncopyableIndirect {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %b.patt: %AdaptNoncopyableIndirect = binding_pattern b
|
||||
@@ -716,7 +716,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
||||
// CHECK:STDOUT: .Self = constants.%AdaptStruct
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @I(%g.param_patt: %AdaptStruct) -> %return.param_patt: %AdaptStruct {
|
||||
// CHECK:STDOUT: fn @I(%g.param: %AdaptStruct) -> %return.param: %AdaptStruct {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %h.patt: %AdaptStruct = binding_pattern h
|
||||
@@ -755,7 +755,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) {
|
||||
// CHECK:STDOUT: return %.loc10_11.13 to %return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @InTuple(%c.param_patt: %tuple.type.80b) -> %return.param_patt: %tuple.type.80b {
|
||||
// CHECK:STDOUT: fn @InTuple(%c.param: %tuple.type.80b) -> %return.param: %tuple.type.80b {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %d.patt: %tuple.type.80b = binding_pattern d
|
||||
|
||||
+10
-10
@@ -242,9 +242,9 @@ fn F(a: IntAdapter) -> i32 {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @StaticMemberFunction();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AdapterMethod[%self.param_patt: %SomeClassAdapter]();
|
||||
// CHECK:STDOUT: fn @AdapterMethod(%self.param: %SomeClassAdapter);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TestStaticMemberFunction(%a.param_patt: %SomeClassAdapter) {
|
||||
// CHECK:STDOUT: fn @TestStaticMemberFunction(%a.param: %SomeClassAdapter) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %SomeClassAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %StaticMemberFunction.ref: %StaticMemberFunction.type = name_ref StaticMemberFunction, @SomeClass.%StaticMemberFunction.decl [concrete = constants.%StaticMemberFunction]
|
||||
@@ -252,7 +252,7 @@ fn F(a: IntAdapter) -> i32 {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TestAdapterMethod(%a.param_patt: %SomeClassAdapter) {
|
||||
// CHECK:STDOUT: fn @TestAdapterMethod(%a.param: %SomeClassAdapter) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %SomeClassAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %AdapterMethod.ref: %AdapterMethod.type = name_ref AdapterMethod, @SomeClass.%AdapterMethod.decl [concrete = constants.%AdapterMethod]
|
||||
@@ -334,9 +334,9 @@ fn F(a: IntAdapter) -> i32 {
|
||||
// CHECK:STDOUT: extend %SomeClass.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.1[%self.param_patt: %SomeClass]();
|
||||
// CHECK:STDOUT: fn @F.1(%self.param: %SomeClass);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2(%a.param_patt: %SomeClassAdapter) {
|
||||
// CHECK:STDOUT: fn @F.2(%a.param: %SomeClassAdapter) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %SomeClassAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %F.ref: %F.type.633 = name_ref F, @SomeClass.%F.decl [concrete = constants.%F.e19]
|
||||
@@ -425,7 +425,7 @@ fn F(a: IntAdapter) -> i32 {
|
||||
// CHECK:STDOUT: extend %SomeClass.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %SomeClassAdapter) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %SomeClassAdapter) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %SomeClassAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: %SomeClass.elem = name_ref b, @SomeClass.%.loc6 [concrete = @SomeClass.%.loc6]
|
||||
@@ -494,7 +494,7 @@ fn F(a: IntAdapter) -> i32 {
|
||||
// CHECK:STDOUT: extend %struct_type.a.b
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %StructAdapter) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %StructAdapter) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %StructAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: <error> = name_ref b, <error> [concrete = <error>]
|
||||
@@ -563,7 +563,7 @@ fn F(a: IntAdapter) -> i32 {
|
||||
// CHECK:STDOUT: extend %.loc5_26
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %TupleAdapter) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %TupleAdapter) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %TupleAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1]
|
||||
@@ -656,9 +656,9 @@ fn F(a: IntAdapter) -> i32 {
|
||||
// CHECK:STDOUT: extend %.loc7_27.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MakeInt(%N.param_patt: Core.IntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: fn @MakeInt(%N.param: Core.IntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %IntAdapter) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %IntAdapter) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %IntAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %foo.ref: <error> = name_ref foo, <error> [concrete = <error>]
|
||||
|
||||
@@ -150,7 +150,7 @@ class C {
|
||||
// CHECK:STDOUT: .F = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Use(%b.param_patt: %Bad) {
|
||||
// CHECK:STDOUT: fn @Use(%b.param: %Bad) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %b.ref: %Bad = name_ref b, %b
|
||||
// CHECK:STDOUT: %F.ref: <error> = name_ref F, <error> [concrete = <error>]
|
||||
@@ -205,7 +205,7 @@ class C {
|
||||
// CHECK:STDOUT: extend <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Use(%b.param_patt: %Bad) {
|
||||
// CHECK:STDOUT: fn @Use(%b.param: %Bad) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %b.ref: %Bad = name_ref b, %b
|
||||
// CHECK:STDOUT: %F.ref: <error> = name_ref F, <error> [concrete = <error>]
|
||||
|
||||
@@ -77,5 +77,5 @@ base class AdaptWithVirtual {
|
||||
// CHECK:STDOUT: .Simple = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: virtual fn @F[%self.param_patt: %AdaptWithVirtual]();
|
||||
// CHECK:STDOUT: virtual fn @F(%self.param: %AdaptWithVirtual);
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -247,9 +247,9 @@ var e: C = MakeAdaptC();
|
||||
// CHECK:STDOUT: .C = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MakeC() -> %C;
|
||||
// CHECK:STDOUT: fn @MakeC() -> %return.param: %C;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MakeAdaptC() -> %AdaptC;
|
||||
// CHECK:STDOUT: fn @MakeAdaptC() -> %return.param: %AdaptC;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -438,9 +438,9 @@ var e: C = MakeAdaptC();
|
||||
// CHECK:STDOUT: .C = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MakeC() -> %C;
|
||||
// CHECK:STDOUT: fn @MakeC() -> %return.param: %C;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MakeAdaptC() -> %AdaptC;
|
||||
// CHECK:STDOUT: fn @MakeAdaptC() -> %return.param: %AdaptC;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+2
-2
@@ -167,7 +167,7 @@ class Derived {
|
||||
// CHECK:STDOUT: extend %Base.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param_patt: %Derived {
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %Derived {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1]
|
||||
// CHECK:STDOUT: %.loc14_26.1: %struct_type.b.a15 = struct_literal (%int_4)
|
||||
@@ -197,7 +197,7 @@ class Derived {
|
||||
// CHECK:STDOUT: return %.loc14_36 to %return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Access(%d.param_patt: %Derived) -> %return.param_patt: %tuple.type.d07 {
|
||||
// CHECK:STDOUT: fn @Access(%d.param: %Derived) -> %return.param: %tuple.type.d07 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %d.ref.loc18_11: %Derived = name_ref d, %d
|
||||
// CHECK:STDOUT: %d.ref.loc18_12: %Derived.elem.344 = name_ref d, @Derived.%.loc10 [concrete = @Derived.%.loc10]
|
||||
|
||||
+1
-1
@@ -127,7 +127,7 @@ fn Access(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: extend %Base.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Access(%p.param_patt: %ptr.404) -> %ptr.235 {
|
||||
// CHECK:STDOUT: fn @Access(%p.param: %ptr.404) -> %ptr.235 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.404 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc25_12: ref %Derived = deref %p.ref
|
||||
|
||||
+2
-2
@@ -146,7 +146,7 @@ fn Call(p: Derived*) {
|
||||
// CHECK:STDOUT: extend %Base.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[addr %self.param_patt: %ptr.11f]() {
|
||||
// CHECK:STDOUT: fn @F(%self.param.loc17: %ptr.11f) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %ptr.11f = name_ref self, %self.loc17
|
||||
// CHECK:STDOUT: %.loc18_4: ref %Base = deref %self.ref
|
||||
@@ -163,7 +163,7 @@ fn Call(p: Derived*) {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Call(%p.param_patt: %ptr.404) {
|
||||
// CHECK:STDOUT: fn @Call(%p.param: %ptr.404) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.404 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc26_4.1: ref %Derived = deref %p.ref
|
||||
|
||||
@@ -227,15 +227,15 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.1[%self.param_patt: %Base]() -> %i32;
|
||||
// CHECK:STDOUT: fn @F.1(%self.param: %Base) -> %i32;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G.1[%self.param_patt: %Derived]() -> %i32;
|
||||
// CHECK:STDOUT: fn @G.1(%self.param: %Derived) -> %i32;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2[%self.param_patt: %Derived]();
|
||||
// CHECK:STDOUT: fn @F.2(%self.param: %Derived);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G.2[%self.param_patt: %Derived]();
|
||||
// CHECK:STDOUT: fn @G.2(%self.param: %Derived);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Call(%a.param_patt: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: fn @Call(%a.param: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Derived = name_ref a, %a
|
||||
// CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base]
|
||||
@@ -250,7 +250,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: return %.loc26_22.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallIndirect(%p.param_patt: %ptr.404) -> %i32 {
|
||||
// CHECK:STDOUT: fn @CallIndirect(%p.param: %ptr.404) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.404 = name_ref p, %p
|
||||
// CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base]
|
||||
@@ -266,7 +266,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: return %.loc30_23.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @PassDerivedToBase(%a.param_patt: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: fn @PassDerivedToBase(%a.param: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Derived = name_ref a, %a
|
||||
// CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base]
|
||||
@@ -278,7 +278,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: return %.loc34_22.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @PassDerivedToBaseIndirect(%p.param_patt: %ptr.404) -> %i32 {
|
||||
// CHECK:STDOUT: fn @PassDerivedToBaseIndirect(%p.param: %ptr.404) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.404 = name_ref p, %p
|
||||
// CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base]
|
||||
|
||||
@@ -213,13 +213,13 @@ fn Call(a: A*, b: B*, c: C*, d: D*) {
|
||||
// CHECK:STDOUT: extend %B.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.1[addr %self.param_patt: %ptr.6db]();
|
||||
// CHECK:STDOUT: fn @F.1(%self.param: %ptr.6db);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2[addr %self.param_patt: %ptr.e79]();
|
||||
// CHECK:STDOUT: fn @F.2(%self.param: %ptr.e79);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.3[addr %self.param_patt: %ptr.019]();
|
||||
// CHECK:STDOUT: fn @F.3(%self.param: %ptr.019);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Call(%a.param_patt: %ptr.6db, %b.param_patt: %ptr.e79, %c.param_patt: %ptr.019, %d.param_patt: %ptr.19c) {
|
||||
// CHECK:STDOUT: fn @Call(%a.param: %ptr.6db, %b.param: %ptr.e79, %c.param: %ptr.019, %d.param: %ptr.19c) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %ptr.6db = name_ref a, %a
|
||||
// CHECK:STDOUT: %.loc30: ref %A = deref %a.ref
|
||||
|
||||
+2
-2
@@ -152,13 +152,13 @@ fn Run() -> i32 {
|
||||
// CHECK:STDOUT: .k = %.loc18
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%n.param_patt: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%n.param: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n
|
||||
// CHECK:STDOUT: return %n.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%n.param_patt: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: fn @G(%n.param.loc21: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n.loc21
|
||||
// CHECK:STDOUT: return %n.ref
|
||||
|
||||
@@ -73,7 +73,7 @@ class C {
|
||||
// CHECK:STDOUT: .a = %.loc14
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%c.param_patt: %C) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%c.param: %C) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %C = name_ref c, %c
|
||||
// CHECK:STDOUT: %a.ref: %C.elem = name_ref a, @C.%.loc14 [concrete = @C.%.loc14]
|
||||
|
||||
+4
-4
@@ -193,7 +193,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: extend %Base.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessDerived(%d.param_patt: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessDerived(%d.param: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %d.ref.loc25_10: %Derived = name_ref d, %d
|
||||
// CHECK:STDOUT: %Derived.ref.loc25: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived]
|
||||
@@ -203,7 +203,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: return %.loc25_11.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessBase(%d.param_patt: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessBase(%d.param: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %d.ref: %Derived = name_ref d, %d
|
||||
// CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base]
|
||||
@@ -215,7 +215,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: return %.loc29_11.4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessDerivedIndirect(%p.param_patt: %ptr.404) -> %ptr.235 {
|
||||
// CHECK:STDOUT: fn @AccessDerivedIndirect(%p.param: %ptr.404) -> %ptr.235 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.404 = name_ref p, %p
|
||||
// CHECK:STDOUT: %Derived.ref.loc33: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived]
|
||||
@@ -226,7 +226,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: return %addr
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessBaseIndirect(%p.param_patt: %ptr.404) -> %ptr.235 {
|
||||
// CHECK:STDOUT: fn @AccessBaseIndirect(%p.param: %ptr.404) -> %ptr.235 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.404 = name_ref p, %p
|
||||
// CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base]
|
||||
|
||||
+5
-5
@@ -255,7 +255,7 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: extend %B.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertCToB(%p.param_patt: %ptr.019) -> %ptr.e79 {
|
||||
// CHECK:STDOUT: fn @ConvertCToB(%p.param: %ptr.019) -> %ptr.e79 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.019 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc25_39.1: ref %C = deref %p.ref
|
||||
@@ -265,7 +265,7 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: return %.loc25_39.3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertBToA(%p.param_patt: %ptr.e79) -> %ptr.6db {
|
||||
// CHECK:STDOUT: fn @ConvertBToA(%p.param: %ptr.e79) -> %ptr.6db {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.e79 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc26_39.1: ref %B = deref %p.ref
|
||||
@@ -275,7 +275,7 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: return %.loc26_39.3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertCToA(%p.param_patt: %ptr.019) -> %ptr.6db {
|
||||
// CHECK:STDOUT: fn @ConvertCToA(%p.param: %ptr.019) -> %ptr.6db {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.019 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc27_39.1: ref %C = deref %p.ref
|
||||
@@ -286,7 +286,7 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: return %.loc27_39.4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertValue(%c.param_patt: %C) {
|
||||
// CHECK:STDOUT: fn @ConvertValue(%c.param: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %a.patt: %A = binding_pattern a
|
||||
@@ -300,7 +300,7 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertRef(%c.param_patt: %ptr.019) -> %ptr.6db {
|
||||
// CHECK:STDOUT: fn @ConvertRef(%c.param: %ptr.019) -> %ptr.6db {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %ptr.019 = name_ref c, %c
|
||||
// CHECK:STDOUT: %.loc34_12: ref %C = deref %c.ref
|
||||
|
||||
@@ -89,10 +89,10 @@ class Class {
|
||||
// CHECK:STDOUT: %a.loc16_13.1: %ptr = bind_symbolic_name a, 0 [symbolic = %a.loc16_13.1 (constants.%a)]
|
||||
// CHECK:STDOUT: %a.patt.loc16_13.2: %ptr = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc16_13.2 (constants.%a.patt)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%a.patt.loc16_13.1: %ptr]();
|
||||
// CHECK:STDOUT: fn();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%b.param_patt: %ptr);
|
||||
// CHECK:STDOUT: fn @G(%b.param: %ptr);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @F(constants.%a) {
|
||||
// CHECK:STDOUT: %a.loc16_13.1 => constants.%a
|
||||
|
||||
+3
-3
@@ -116,11 +116,11 @@ fn F(c: Class, p: Class*) {
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.1[addr %self.param_patt: %ptr.e71]();
|
||||
// CHECK:STDOUT: fn @F.1(%self.param: %ptr.e71);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G[%self.param_patt: %Class]();
|
||||
// CHECK:STDOUT: fn @G(%self.param: %Class);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2(%c.param_patt: %Class, %p.param_patt: %ptr.e71) {
|
||||
// CHECK:STDOUT: fn @F.2(%c.param: %Class, %p.param: %ptr.e71) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref.loc28: %Class = name_ref c, %c
|
||||
// CHECK:STDOUT: %F.ref.loc28: %F.type.f1b = name_ref F, @Class.%F.decl [concrete = constants.%F.1f2]
|
||||
|
||||
+13
-13
@@ -240,7 +240,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: has_error
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseError(%p.param_patt: %ptr) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseError(%p.param: %ptr) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc13_75: ref %DeriveFromError = deref %p.ref
|
||||
@@ -310,7 +310,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: has_error
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBasNonType(%p.param_patt: %ptr) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBasNonType(%p.param: %ptr) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc15_78: ref %DeriveFromNonType = deref %p.ref
|
||||
@@ -404,7 +404,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: extend %i32
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertToBadBasei32(%p.param_patt: %ptr.45c) -> %ptr.235 {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBasei32(%p.param: %ptr.45c) -> %ptr.235 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.45c = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc14_61.1: ref %DeriveFromi32 = deref %p.ref
|
||||
@@ -414,7 +414,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: return %.loc14_61.3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBasei32(%p.param_patt: %ptr.45c) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBasei32(%p.param: %ptr.45c) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.45c = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc20_71: ref %DeriveFromi32 = deref %p.ref
|
||||
@@ -525,14 +525,14 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: has_error
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseTuple(%p.param_patt: %ptr.340) -> %ptr.1ab {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseTuple(%p.param: %ptr.340) -> %ptr.1ab {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.340 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc21_69: %ptr.1ab = converted %p.ref, <error> [concrete = <error>]
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseTuple(%p.param_patt: %ptr.340) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseTuple(%p.param: %ptr.340) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.340 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc23_75: ref %DeriveFromTuple = deref %p.ref
|
||||
@@ -631,14 +631,14 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: has_error
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseStruct(%p.param_patt: %ptr.df0) -> %ptr.3ee {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseStruct(%p.param: %ptr.df0) -> %ptr.3ee {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.df0 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc21_82: %ptr.3ee = converted %p.ref, <error> [concrete = <error>]
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseStruct(%p.param_patt: %ptr.df0) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseStruct(%p.param: %ptr.df0) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.df0 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc24_77: ref %DeriveFromStruct = deref %p.ref
|
||||
@@ -734,14 +734,14 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: has_error
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseIncomplete(%p.param_patt: %ptr.089) -> %ptr.c62 {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseIncomplete(%p.param: %ptr.089) -> %ptr.c62 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.089 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc28_82: %ptr.c62 = converted %p.ref, <error> [concrete = <error>]
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseIncomplete(%p.param_patt: %ptr.089) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseIncomplete(%p.param: %ptr.089) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.089 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc30_85: ref %DeriveFromIncomplete = deref %p.ref
|
||||
@@ -875,7 +875,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: extend %Final.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseFinal(%p.param_patt: %ptr.160) -> %ptr.5f6 {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseFinal(%p.param: %ptr.160) -> %ptr.5f6 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.160 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc18_11.1: ref %DeriveFromFinal = deref %p.ref
|
||||
@@ -885,7 +885,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: return %.loc18_11.3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseFinal_WithMember(%p.param_patt: %ptr.160) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseFinal_WithMember(%p.param: %ptr.160) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.160 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc22_11: ref %DeriveFromFinal = deref %p.ref
|
||||
@@ -897,7 +897,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: return %.loc22_14.4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseFinal_NoMember(%p.param_patt: %ptr.160) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMemberWithInvalidBaseFinal_NoMember(%p.param: %ptr.160) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.160 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc30: ref %DeriveFromFinal = deref %p.ref
|
||||
|
||||
@@ -105,7 +105,7 @@ fn AccessBInA(a: A) -> i32 {
|
||||
// CHECK:STDOUT: .b = %.loc16
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessBInA(%a.param_patt: %A) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessBInA(%a.param: %A) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
||||
// CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B]
|
||||
|
||||
@@ -69,7 +69,7 @@ fn Make() -> C {
|
||||
// CHECK:STDOUT: .a = %.loc16
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param_patt: %C {
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %C {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123]
|
||||
// CHECK:STDOUT: %.loc20: %struct_type.a = struct_literal (%int_123)
|
||||
|
||||
@@ -174,14 +174,14 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @Incomplete;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertUnrelated(%p.param_patt: %ptr.afe) -> %ptr.678 {
|
||||
// CHECK:STDOUT: fn @ConvertUnrelated(%p.param: %ptr.afe) -> %ptr.678 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.afe = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc31_46: %ptr.678 = converted %p.ref, <error> [concrete = <error>]
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ConvertIncomplete(%p.param_patt: %ptr.c62) -> %ptr.590 {
|
||||
// CHECK:STDOUT: fn @ConvertIncomplete(%p.param: %ptr.c62) -> %ptr.590 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.c62 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc42_55: %ptr.590 = converted %p.ref, <error> [concrete = <error>]
|
||||
|
||||
@@ -142,7 +142,7 @@ fn Class(N:! i32).F[self: Self](n: T) {}
|
||||
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)]
|
||||
// CHECK:STDOUT: %Class: type = class_type @Class, @Class(%T) [symbolic = %Class (constants.%Class)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @F.1.%Class (%Class)](%n.param_patt: @F.1.%T (%T));
|
||||
// CHECK:STDOUT: fn(%self.param: @F.1.%Class (%Class), %n.param: @F.1.%T (%T));
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @F.2(%N.loc33_10.1: %i32) {
|
||||
@@ -151,7 +151,7 @@ fn Class(N:! i32).F[self: Self](n: T) {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: <error>](%n.param_patt: <error>) {
|
||||
// CHECK:STDOUT: fn(%self.param: <error>, %n.param: <error>) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+8
-8
@@ -404,28 +404,28 @@ class C {
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.e71) -> %i32 {
|
||||
// CHECK:STDOUT: fn @G(%p.param: %ptr.e71) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.e71 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc52: ref %Class = deref %p.ref
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MemberAccess(%p.param_patt: %ptr.e71) -> %i32 {
|
||||
// CHECK:STDOUT: fn @MemberAccess(%p.param: %ptr.e71) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.e71 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc63: ref %Class = deref %p.ref
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Copy(%p.param_patt: %ptr.e71) -> %Class {
|
||||
// CHECK:STDOUT: fn @Copy(%p.param: %ptr.e71) -> %Class {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.e71 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc74: ref %Class = deref %p.ref
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Let(%p.param_patt: %ptr.e71) {
|
||||
// CHECK:STDOUT: fn @Let(%p.param: %ptr.e71) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %c.patt: <error> = binding_pattern c
|
||||
@@ -437,11 +437,11 @@ class C {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @TakeIncomplete(%c.param_patt: %Class);
|
||||
// CHECK:STDOUT: fn @TakeIncomplete(%c.param: %Class);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ReturnIncomplete() -> %Class;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallTakeIncomplete(%p.param_patt: %ptr.e71) {
|
||||
// CHECK:STDOUT: fn @CallTakeIncomplete(%p.param: %ptr.e71) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TakeIncomplete.ref.loc103: %TakeIncomplete.type = name_ref TakeIncomplete, file.%TakeIncomplete.decl [concrete = constants.%TakeIncomplete]
|
||||
// CHECK:STDOUT: %p.ref: %ptr.e71 = name_ref p, %p
|
||||
@@ -460,9 +460,9 @@ class C {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[addr %self.param_patt: %ptr.e71]();
|
||||
// CHECK:STDOUT: fn @F(%self.param: %ptr.e71);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallIncompleteAddrSelf(%p.param_patt: %ptr.e71) {
|
||||
// CHECK:STDOUT: fn @CallIncompleteAddrSelf(%p.param: %ptr.e71) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.e71 = name_ref p, %p
|
||||
// CHECK:STDOUT: %IncompleteAddrSelf.ref: type = name_ref IncompleteAddrSelf, file.%IncompleteAddrSelf.decl [concrete = constants.%IncompleteAddrSelf]
|
||||
|
||||
@@ -112,7 +112,7 @@ fn F() {
|
||||
// CHECK:STDOUT: .b = %.loc13
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.e71);
|
||||
// CHECK:STDOUT: fn @G(%p.param: %ptr.e71);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
@@ -128,9 +128,9 @@ fn F(s: {.a: A}, b: B) {
|
||||
// CHECK:STDOUT: .a = %.loc16
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.1[addr %self.param_patt: %ptr.6db]();
|
||||
// CHECK:STDOUT: fn @F.1(%self.param: %ptr.6db);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2(%s.param_patt: %struct_type.a.72c, %b.param_patt: %B) {
|
||||
// CHECK:STDOUT: fn @F.2(%s.param: %struct_type.a.72c, %b.param: %B) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %s.ref: %struct_type.a.72c = name_ref s, %s
|
||||
// CHECK:STDOUT: %.loc28_4.1: %A = struct_access %s.ref, element0
|
||||
|
||||
+2
-2
@@ -114,9 +114,9 @@ fn F(c: Class) {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @NoSelf();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @WithSelf[%self.param_patt: %Class]();
|
||||
// CHECK:STDOUT: fn @WithSelf(%self.param: %Class);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%c.param_patt: %Class) {
|
||||
// CHECK:STDOUT: fn @F(%c.param: %Class) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref.loc19: %Class = name_ref c, %c
|
||||
// CHECK:STDOUT: %NoSelf.ref.loc19: %NoSelf.type = name_ref NoSelf, @Class.%NoSelf.decl [concrete = constants.%NoSelf]
|
||||
|
||||
@@ -168,13 +168,13 @@ base class BaseClass {
|
||||
// CHECK:STDOUT: .Abstract = %Abstract.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Abstract.1[%self.param_patt: %FinalClass]();
|
||||
// CHECK:STDOUT: fn @Abstract.1(%self.param: %FinalClass);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Virtual[%self.param_patt: %FinalClass]();
|
||||
// CHECK:STDOUT: fn @Virtual(%self.param: %FinalClass);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Default[%self.param_patt: %AbstractClass]();
|
||||
// CHECK:STDOUT: fn @Default(%self.param: %AbstractClass);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Final[%self.param_patt: %AbstractClass]();
|
||||
// CHECK:STDOUT: fn @Final(%self.param: %AbstractClass);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Abstract.2[%self.param_patt: %BaseClass]();
|
||||
// CHECK:STDOUT: fn @Abstract.2(%self.param: %BaseClass);
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+2
-2
@@ -233,12 +233,12 @@ fn AbstractWithDefinition.G[self: Self]() {
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: abstract fn @F[%self.param_patt: %AbstractWithDefinition]() {
|
||||
// CHECK:STDOUT: abstract fn @F(%self.param: %AbstractWithDefinition) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: abstract fn @G[%self.param_patt: %AbstractWithDefinition]() {
|
||||
// CHECK:STDOUT: abstract fn @G(%self.param.loc97: %AbstractWithDefinition) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+4
-4
@@ -164,12 +164,12 @@ fn CallWrongSelf(ws: WrongSelf) {
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.1(%self.param_patt: %Class) {
|
||||
// CHECK:STDOUT: fn @F.1(%self.param.loc25: %Class) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G() -> %return.param_patt: %Class {
|
||||
// CHECK:STDOUT: fn @G() -> %return.param.loc28: %Class {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %self.patt: %Class = binding_pattern self
|
||||
@@ -183,9 +183,9 @@ fn CallWrongSelf(ws: WrongSelf) {
|
||||
// CHECK:STDOUT: return <error> to %return.loc28
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2[%self.param_patt: %Class]();
|
||||
// CHECK:STDOUT: fn @F.2(%self.param: %Class);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallWrongSelf(%ws.param_patt: %WrongSelf) {
|
||||
// CHECK:STDOUT: fn @CallWrongSelf(%ws.param: %WrongSelf) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %ws.ref: %WrongSelf = name_ref ws, %ws
|
||||
// CHECK:STDOUT: %F.ref: %F.type.25f = name_ref F, @WrongSelf.%F.decl [concrete = constants.%F.3a3]
|
||||
|
||||
@@ -80,7 +80,7 @@ fn G(c: Class) -> i32 {
|
||||
// CHECK:STDOUT: .something = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%c.param_patt: %Class) -> %i32 {
|
||||
// CHECK:STDOUT: fn @G(%c.param: %Class) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %Class = name_ref c, %c
|
||||
// CHECK:STDOUT: %something.ref: <error> = name_ref something, <error> [concrete = <error>]
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ fn F(p: Class*) -> Class* { return p; }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @Class;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%p.param_patt: %ptr) -> %ptr {
|
||||
// CHECK:STDOUT: fn @F(%p.param: %ptr) -> %ptr {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr = name_ref p, %p
|
||||
// CHECK:STDOUT: return %p.ref
|
||||
|
||||
+7
-7
@@ -223,7 +223,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 {
|
||||
// CHECK:STDOUT: .C = <poisoned>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Access(%a.param_patt: %Adapter) -> %i32 {
|
||||
// CHECK:STDOUT: fn @Access(%a.param: %Adapter) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Adapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic]
|
||||
@@ -352,7 +352,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ImportedAccess(%a.param_patt: %Adapter) -> %i32 {
|
||||
// CHECK:STDOUT: fn @ImportedAccess(%a.param: %Adapter) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Adapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C.generic]
|
||||
@@ -491,7 +491,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 {
|
||||
// CHECK:STDOUT: extend %C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Access(%a.param_patt: %Adapter) -> %i32 {
|
||||
// CHECK:STDOUT: fn @Access(%a.param: %Adapter) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Adapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %x.ref: %C.elem.476 = name_ref x, @C.%.loc5 [concrete = @C.%.loc5]
|
||||
@@ -719,7 +719,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ImportedAccess(%a.param_patt: %Adapter) -> %i32 {
|
||||
// CHECK:STDOUT: fn @ImportedAccess(%a.param: %Adapter) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Adapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %x.ref: %C.elem.ed6 = name_ref x, imports.%Main.import_ref.262 [concrete = imports.%.22b]
|
||||
@@ -828,7 +828,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Convert(%a.param_patt: %Adapter.e4c) -> %i32 {
|
||||
// CHECK:STDOUT: fn @Convert(%a.param: %Adapter.e4c) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Adapter.e4c = name_ref a, %a
|
||||
// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -972,7 +972,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 {
|
||||
// CHECK:STDOUT: .n = %.loc11
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ImportedConvert(%a.param_patt: %Adapter.e4c) -> %i32 {
|
||||
// CHECK:STDOUT: fn @ImportedConvert(%a.param: %Adapter.e4c) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Adapter.e4c = name_ref a, %a
|
||||
// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
|
||||
@@ -982,7 +982,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 {
|
||||
// CHECK:STDOUT: return %.loc7_12.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ImportedConvertLocal(%a.param_patt: %Adapter.58f) -> %i32 {
|
||||
// CHECK:STDOUT: fn @ImportedConvertLocal(%a.param: %Adapter.58f) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Adapter.58f = name_ref a, %a
|
||||
// CHECK:STDOUT: %C.ref.loc15: type = name_ref C, file.%C.decl [concrete = constants.%C]
|
||||
|
||||
@@ -211,7 +211,7 @@ fn H() {
|
||||
// CHECK:STDOUT: extend %Base
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @DoubleFieldAccess(%d.param_patt: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: fn @DoubleFieldAccess(%d.param: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %d.ref: %Derived = name_ref d, %d
|
||||
// CHECK:STDOUT: %x.ref: %Base.elem.d1f = name_ref x, @Base.%.loc5 [concrete = @Base.%.loc5]
|
||||
@@ -358,7 +358,7 @@ fn H() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ImportedDoubleFieldAccess(%d.param_patt: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: fn @ImportedDoubleFieldAccess(%d.param: %Derived) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %d.ref: %Derived = name_ref d, %d
|
||||
// CHECK:STDOUT: %x.ref: %Base.elem.d1f = name_ref x, imports.%Main.import_ref.7f7 [concrete = imports.%.e66]
|
||||
@@ -888,7 +888,7 @@ fn H() {
|
||||
// CHECK:STDOUT: %G: @G.%G.type (%G.type.56f312.1) = struct_value () [symbolic = %G (constants.%G.b504c4.1)]
|
||||
// CHECK:STDOUT: %G.specific_fn: <specific function> = specific_function %G, @G(%U) [symbolic = %G.specific_fn (constants.%G.specific_fn.169)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> @G.%U (%U);
|
||||
// CHECK:STDOUT: fn;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @X(constants.%U) {
|
||||
|
||||
+2
-2
@@ -159,7 +159,7 @@ class Declaration(T:! type);
|
||||
// CHECK:STDOUT: %require_complete.loc13: <witness> = require_complete_type %Class [symbolic = %require_complete.loc13 (constants.%require_complete.4f8)]
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, %T [symbolic = %Class.elem (constants.%Class.elem)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[addr %self.param_patt: @GetAddr.%ptr.loc12_29.1 (%ptr.955)]() -> @GetAddr.%ptr.loc12_38.1 (%ptr.79f) {
|
||||
// CHECK:STDOUT: fn(%self.param: @GetAddr.%ptr.loc12_29.1 (%ptr.955)) -> @GetAddr.%ptr.loc12_38.1 (%ptr.79f) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: @GetAddr.%ptr.loc12_29.1 (%ptr.955) = name_ref self, %self
|
||||
// CHECK:STDOUT: %.loc13_17.1: ref @GetAddr.%Class (%Class) = deref %self.ref
|
||||
@@ -179,7 +179,7 @@ class Declaration(T:! type);
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, %T [symbolic = %Class.elem (constants.%Class.elem)]
|
||||
// CHECK:STDOUT: %require_complete.loc18: <witness> = require_complete_type %T [symbolic = %require_complete.loc18 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @GetValue.%Class (%Class)]() -> @GetValue.%T (%T) {
|
||||
// CHECK:STDOUT: fn(%self.param: @GetValue.%Class (%Class)) -> @GetValue.%T (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: @GetValue.%Class (%Class) = name_ref self, %self
|
||||
// CHECK:STDOUT: %k.ref: @GetValue.%Class.elem (%Class.elem) = name_ref k, @Class.%.loc21 [concrete = @Class.%.loc21]
|
||||
|
||||
+4
-4
@@ -665,7 +665,7 @@ class Outer(T:! type) {
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Outer.loc4_22.1 [symbolic = %require_complete (constants.%require_complete.127)]
|
||||
// CHECK:STDOUT: %Outer.val: @A.%Outer.loc4_22.1 (%Outer.9d6) = struct_value () [symbolic = %Outer.val (constants.%Outer.val.234)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %return.param_patt: @A.%Outer.loc4_22.1 (%Outer.9d6) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @A.%Outer.loc4_22.1 (%Outer.9d6) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc5_15.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc5_15.2: init @A.%Outer.loc4_22.1 (%Outer.9d6) = class_init (), %return [symbolic = %Outer.val (constants.%Outer.val.234)]
|
||||
@@ -682,7 +682,7 @@ class Outer(T:! type) {
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Outer.loc7_22.1 [symbolic = %require_complete (constants.%require_complete.964)]
|
||||
// CHECK:STDOUT: %Outer.val: @B.%Outer.loc7_22.1 (%Outer.99f) = struct_value () [symbolic = %Outer.val (constants.%Outer.val.a2f)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %return.param_patt: @B.%Outer.loc7_22.1 (%Outer.99f) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @B.%Outer.loc7_22.1 (%Outer.99f) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc8_15.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc8_15.2: init @B.%Outer.loc7_22.1 (%Outer.99f) = class_init (), %return [symbolic = %Outer.val (constants.%Outer.val.a2f)]
|
||||
@@ -701,7 +701,7 @@ class Outer(T:! type) {
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Inner.loc10_22.1 [symbolic = %require_complete (constants.%require_complete.7b1)]
|
||||
// CHECK:STDOUT: %Inner.val: @C.%Inner.loc10_22.1 (%Inner.13a) = struct_value () [symbolic = %Inner.val (constants.%Inner.val.69d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %return.param_patt: @C.%Inner.loc10_22.1 (%Inner.13a) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @C.%Inner.loc10_22.1 (%Inner.13a) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc11_15.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc11_15.2: init @C.%Inner.loc10_22.1 (%Inner.13a) = class_init (), %return [symbolic = %Inner.val (constants.%Inner.val.69d)]
|
||||
@@ -721,7 +721,7 @@ class Outer(T:! type) {
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Inner.loc13_22.1 [symbolic = %require_complete (constants.%require_complete.e7e)]
|
||||
// CHECK:STDOUT: %Inner.val: @D.%Inner.loc13_22.1 (%Inner.c71) = struct_value () [symbolic = %Inner.val (constants.%Inner.val.dfa)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %return.param_patt: @D.%Inner.loc13_22.1 (%Inner.c71) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @D.%Inner.loc13_22.1 (%Inner.c71) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc14_15.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc14_15.2: init @D.%Inner.loc13_22.1 (%Inner.c71) = class_init (), %return [symbolic = %Inner.val (constants.%Inner.val.dfa)]
|
||||
|
||||
@@ -217,9 +217,9 @@ fn F(a: A(0)*) {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Int.1(%N.param_patt: Core.IntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT: fn @Int.1(%N.param: Core.IntLiteral) -> type = "int.make_type_signed";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %ptr.b65) {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %ptr.b65) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %b.patt: %ptr.e79 = binding_pattern b
|
||||
|
||||
+3
-3
@@ -167,7 +167,7 @@ fn H(U:! type, c: Class(U)) -> U {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%c.param_patt: %Class.247) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%c.param: %Class.247) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %Class.247 = name_ref c, %c
|
||||
// CHECK:STDOUT: %x.ref: %Class.elem.2d8 = name_ref x, @Class.%.loc12 [concrete = @Class.%.loc12]
|
||||
@@ -186,7 +186,7 @@ fn H(U:! type, c: Class(U)) -> U {
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class.loc19_26.2, %T.loc19_6.2 [symbolic = %Class.elem (constants.%Class.elem.e262de.1)]
|
||||
// CHECK:STDOUT: %require_complete.loc20: <witness> = require_complete_type %T.loc19_6.2 [symbolic = %require_complete.loc20 (constants.%require_complete.4aeca8.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%T.patt.loc19_6.1: type, %c.param_patt: @G.%Class.loc19_26.2 (%Class.fe1b2d.1)) -> @G.%T.loc19_6.2 (%T) {
|
||||
// CHECK:STDOUT: fn(%c.param: @G.%Class.loc19_26.2 (%Class.fe1b2d.1)) -> @G.%T.loc19_6.2 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: @G.%Class.loc19_26.2 (%Class.fe1b2d.1) = name_ref c, %c
|
||||
// CHECK:STDOUT: %x.ref: @G.%Class.elem (%Class.elem.e262de.1) = name_ref x, @Class.%.loc12 [concrete = @Class.%.loc12]
|
||||
@@ -206,7 +206,7 @@ fn H(U:! type, c: Class(U)) -> U {
|
||||
// CHECK:STDOUT: %require_complete.loc23_17: <witness> = require_complete_type %Class.loc23_26.2 [symbolic = %require_complete.loc23_17 (constants.%require_complete.4f8a42.2)]
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class.loc23_26.2, %U.loc23_6.2 [symbolic = %Class.elem (constants.%Class.elem.e262de.2)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%U.patt.loc23_6.1: type, %c.param_patt: @H.%Class.loc23_26.2 (%Class.fe1b2d.2)) -> @H.%U.loc23_6.2 (%U) {
|
||||
// CHECK:STDOUT: fn(%c.param: @H.%Class.loc23_26.2 (%Class.fe1b2d.2)) -> @H.%U.loc23_6.2 (%U) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: @H.%Class.loc23_26.2 (%Class.fe1b2d.2) = name_ref c, %c
|
||||
// CHECK:STDOUT: %x.ref: @H.%Class.elem (%Class.elem.e262de.2) = name_ref x, @Class.%.loc12 [concrete = @Class.%.loc12]
|
||||
|
||||
+6
-6
@@ -383,10 +383,10 @@ class Class(U:! type) {
|
||||
// CHECK:STDOUT: generic fn @F.1(imports.%Main.import_ref.5ab3ec.3: type) [from "foo.carbon"] {
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %i32;
|
||||
// CHECK:STDOUT: fn;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2() -> %return.param_patt: %CompleteClass.a06 [from "foo.carbon"] {
|
||||
// CHECK:STDOUT: fn @F.2() -> %return.param: %CompleteClass.a06 [from "foo.carbon"] {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
||||
// CHECK:STDOUT: %.loc9_17.1: %struct_type.n.44a = struct_literal (%int_1)
|
||||
@@ -563,10 +563,10 @@ class Class(U:! type) {
|
||||
// CHECK:STDOUT: generic fn @F.1(imports.%Main.import_ref.5ab3ec.2: type) [from "foo.carbon"] {
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %i32;
|
||||
// CHECK:STDOUT: fn;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2() -> %CompleteClass.e9e [from "foo.carbon"];
|
||||
// CHECK:STDOUT: fn @F.2 [from "foo.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @UseField() -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -730,10 +730,10 @@ class Class(U:! type) {
|
||||
// CHECK:STDOUT: generic fn @F.1(imports.%Main.import_ref.5ab3ec.2: type) [from "foo.carbon"] {
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %i32;
|
||||
// CHECK:STDOUT: fn;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2() -> %CompleteClass.a06 [from "foo.carbon"];
|
||||
// CHECK:STDOUT: fn @F.2 [from "foo.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @CompleteClass(constants.%T) {
|
||||
// CHECK:STDOUT: %T => constants.%T
|
||||
|
||||
+4
-4
@@ -160,7 +160,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 {
|
||||
// CHECK:STDOUT: %struct_type.k: type = struct_type {.k: @InitFromStructGeneric.%T.loc8_26.2 (%T)} [symbolic = %struct_type.k (constants.%struct_type.k.b21)]
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class.loc9_17.2, %T.loc8_26.2 [symbolic = %Class.elem (constants.%Class.elem.e26)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%T.patt.loc8_26.1: type, %x.param_patt: @InitFromStructGeneric.%T.loc8_26.2 (%T)) -> @InitFromStructGeneric.%T.loc8_26.2 (%T) {
|
||||
// CHECK:STDOUT: fn(%x.param: @InitFromStructGeneric.%T.loc8_26.2 (%T)) -> @InitFromStructGeneric.%T.loc8_26.2 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %v.patt: @InitFromStructGeneric.%Class.loc9_17.2 (%Class.fe1) = binding_pattern v
|
||||
@@ -188,7 +188,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @InitFromStructSpecific(%x.param_patt: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: fn @InitFromStructSpecific(%x.param: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %v.patt: %Class.247 = binding_pattern v
|
||||
@@ -356,7 +356,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 {
|
||||
// CHECK:STDOUT: %Adapt.loc9_23.2: type = class_type @Adapt, @Adapt(%T.loc8_27.2) [symbolic = %Adapt.loc9_23.2 (constants.%Adapt.2e4)]
|
||||
// CHECK:STDOUT: %require_complete.loc9: <witness> = require_complete_type %Adapt.loc9_23.2 [symbolic = %require_complete.loc9 (constants.%require_complete.26c)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%T.patt.loc8_27.1: type, %x.param_patt: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T)) -> @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) {
|
||||
// CHECK:STDOUT: fn(%x.param: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T)) -> @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = name_ref x, %x
|
||||
// CHECK:STDOUT: %Adapt.ref: %Adapt.type = name_ref Adapt, file.%Adapt.decl [concrete = constants.%Adapt.generic]
|
||||
@@ -371,7 +371,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @InitFromAdaptedSpecific(%x.param_patt: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: fn @InitFromAdaptedSpecific(%x.param: %i32) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: %i32 = name_ref x, %x
|
||||
// CHECK:STDOUT: %Adapt.ref: %Adapt.type = name_ref Adapt, file.%Adapt.decl [concrete = constants.%Adapt.generic]
|
||||
|
||||
@@ -253,7 +253,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) {
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, %T [symbolic = %Class.elem (constants.%Class.elem.e26)]
|
||||
// CHECK:STDOUT: %require_complete.loc5_42: <witness> = require_complete_type %T [symbolic = %require_complete.loc5_42 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @Get.%Class (%Class.fe1)]() -> @Get.%T (%T) {
|
||||
// CHECK:STDOUT: fn(%self.param: @Get.%Class (%Class.fe1)) -> @Get.%T (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: @Get.%Class (%Class.fe1) = name_ref self, %self
|
||||
// CHECK:STDOUT: %x.ref: @Get.%Class.elem (%Class.elem.e26) = name_ref x, @Class.%.loc3 [concrete = @Class.%.loc3]
|
||||
@@ -275,7 +275,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) {
|
||||
// CHECK:STDOUT: %require_complete.loc7_54: <witness> = require_complete_type %Class [symbolic = %require_complete.loc7_54 (constants.%require_complete.4f8)]
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, %T [symbolic = %Class.elem (constants.%Class.elem.e26)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[addr %self.param_patt: @GetAddr.%ptr.loc7_29.1 (%ptr.955)]() -> @GetAddr.%ptr.loc7_38.1 (%ptr.79f) {
|
||||
// CHECK:STDOUT: fn(%self.param: @GetAddr.%ptr.loc7_29.1 (%ptr.955)) -> @GetAddr.%ptr.loc7_38.1 (%ptr.79f) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: @GetAddr.%ptr.loc7_29.1 (%ptr.955) = name_ref self, %self
|
||||
// CHECK:STDOUT: %.loc7_54.1: ref @GetAddr.%Class (%Class.fe1) = deref %self.ref
|
||||
@@ -286,7 +286,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @DirectFieldAccess(%x.param_patt: %Class.247) -> %i32 {
|
||||
// CHECK:STDOUT: fn @DirectFieldAccess(%x.param: %Class.247) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref.loc11_10: %Class.247 = name_ref x, %x
|
||||
// CHECK:STDOUT: %x.ref.loc11_11: %Class.elem.2d8 = name_ref x, @Class.%.loc3 [concrete = @Class.%.loc3]
|
||||
@@ -295,7 +295,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) {
|
||||
// CHECK:STDOUT: return %.loc11_11.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MethodCall(%x.param_patt: %Class.247) -> %i32 {
|
||||
// CHECK:STDOUT: fn @MethodCall(%x.param: %Class.247) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: %Class.247 = name_ref x, %x
|
||||
// CHECK:STDOUT: %.loc15_11: %Get.type.59d = specific_constant @Class.%Get.decl, @Class(constants.%i32) [concrete = constants.%Get.a40]
|
||||
@@ -309,7 +309,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) {
|
||||
// CHECK:STDOUT: return %.loc15_17.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AddrMethodCall(%p.param_patt: %ptr.f7c) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AddrMethodCall(%p.param: %ptr.f7c) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.f7c = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc19_12.1: ref %Class.247 = deref %p.ref
|
||||
@@ -503,7 +503,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) {
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Class.loc5_23.1 [symbolic = %require_complete (constants.%require_complete.4f8)]
|
||||
// CHECK:STDOUT: %Class.val: @Make.%Class.loc5_23.1 (%Class) = struct_value () [symbolic = %Class.val (constants.%Class.val)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %return.param_patt: @Make.%Class.loc5_23.1 (%Class) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @Make.%Class.loc5_23.1 (%Class) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc5_35.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc5_35.2: init @Make.%Class.loc5_23.1 (%Class) = class_init (), %return [symbolic = %Class.val (constants.%Class.val)]
|
||||
@@ -527,7 +527,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) {
|
||||
// CHECK:STDOUT: %ImplicitAs.assoc_type: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%Class.loc8_49.2) [symbolic = %ImplicitAs.assoc_type (constants.%ImplicitAs.assoc_type.6aa)]
|
||||
// CHECK:STDOUT: %assoc0: @StaticMemberFunctionCall.%ImplicitAs.assoc_type (%ImplicitAs.assoc_type.6aa) = assoc_entity element0, imports.%Core.import_ref.1c7 [symbolic = %assoc0 (constants.%assoc0.f00)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%T.patt.loc8_29.1: type) -> %return.param_patt: @StaticMemberFunctionCall.%Class.loc8_49.2 (%Class) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @StaticMemberFunctionCall.%Class.loc8_49.2 (%Class) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Class.ref.loc16: %Class.type = name_ref Class, file.%Class.decl [concrete = constants.%Class.generic]
|
||||
// CHECK:STDOUT: %T.ref.loc16: type = name_ref T, %T.loc8_29.1 [symbolic = %T.loc8_29.2 (constants.%T)]
|
||||
|
||||
@@ -144,7 +144,7 @@ class C(T:! type) {
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T [symbolic = %require_complete (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%n.param_patt: @F.%T (%T)) -> @F.%T (%T) {
|
||||
// CHECK:STDOUT: fn(%n.param: @F.%T (%T)) -> @F.%T (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %n.ref: @F.%T (%T) = name_ref n, %n
|
||||
// CHECK:STDOUT: return %n.ref
|
||||
@@ -160,7 +160,7 @@ class C(T:! type) {
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, %T [symbolic = %Class.elem (constants.%Class.elem)]
|
||||
// CHECK:STDOUT: %require_complete.loc10: <witness> = require_complete_type %T [symbolic = %require_complete.loc10 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @G.%Class (%Class)]() -> @G.%T (%T) {
|
||||
// CHECK:STDOUT: fn(%self.param: @G.%Class (%Class)) -> @G.%T (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: @G.%Class (%Class) = name_ref self, %self
|
||||
// CHECK:STDOUT: %n.ref: @G.%Class.elem (%Class.elem) = name_ref n, @Class.%.loc13 [concrete = @Class.%.loc13]
|
||||
|
||||
@@ -270,7 +270,7 @@ fn AccessMissingConcrete(x: Derived(i32)) -> i32 {
|
||||
// CHECK:STDOUT: %Derived.elem: type = unbound_element_type %Derived.loc13_40.2, %T.loc13_18.2 [symbolic = %Derived.elem (constants.%Derived.elem.6d2)]
|
||||
// CHECK:STDOUT: %require_complete.loc14: <witness> = require_complete_type %T.loc13_18.2 [symbolic = %require_complete.loc14 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%T.patt.loc13_18.1: type](%x.param_patt: @AccessDerived.%Derived.loc13_40.2 (%Derived.85c)) -> @AccessDerived.%T.loc13_18.2 (%T) {
|
||||
// CHECK:STDOUT: fn(%x.param: @AccessDerived.%Derived.loc13_40.2 (%Derived.85c)) -> @AccessDerived.%T.loc13_18.2 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: @AccessDerived.%Derived.loc13_40.2 (%Derived.85c) = name_ref x, %x
|
||||
// CHECK:STDOUT: %d.ref: @AccessDerived.%Derived.elem (%Derived.elem.6d2) = name_ref d, @Derived.%.loc10 [concrete = @Derived.%.loc10]
|
||||
@@ -292,7 +292,7 @@ fn AccessMissingConcrete(x: Derived(i32)) -> i32 {
|
||||
// CHECK:STDOUT: %Base.elem: type = unbound_element_type %Base, %T.loc17_15.2 [symbolic = %Base.elem (constants.%Base.elem.9af)]
|
||||
// CHECK:STDOUT: %require_complete.loc18_13: <witness> = require_complete_type %T.loc17_15.2 [symbolic = %require_complete.loc18_13 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%T.patt.loc17_15.1: type](%x.param_patt: @AccessBase.%Derived.loc17_37.2 (%Derived.85c)) -> @AccessBase.%T.loc17_15.2 (%T) {
|
||||
// CHECK:STDOUT: fn(%x.param: @AccessBase.%Derived.loc17_37.2 (%Derived.85c)) -> @AccessBase.%T.loc17_15.2 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: @AccessBase.%Derived.loc17_37.2 (%Derived.85c) = name_ref x, %x
|
||||
// CHECK:STDOUT: %b.ref: @AccessBase.%Base.elem (%Base.elem.9af) = name_ref b, @Base.%.loc5 [concrete = @Base.%.loc5]
|
||||
@@ -304,7 +304,7 @@ fn AccessMissingConcrete(x: Derived(i32)) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessConcrete(%x.param_patt: %Derived.115) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessConcrete(%x.param: %Derived.115) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: %Derived.115 = name_ref x, %x
|
||||
// CHECK:STDOUT: %b.ref: %Base.elem.a98 = name_ref b, @Base.%.loc5 [concrete = @Base.%.loc5]
|
||||
@@ -592,7 +592,7 @@ fn AccessMissingConcrete(x: Derived(i32)) -> i32 {
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Base.loc13_41.2 [symbolic = %require_complete (constants.%require_complete.97d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%T.patt.loc13_22.1: type](%x.param_patt: @AccessMissingBase.%Base.loc13_41.2 (%Base.370)) -> @AccessMissingBase.%T.loc13_22.2 (%T) {
|
||||
// CHECK:STDOUT: fn(%x.param: @AccessMissingBase.%Base.loc13_41.2 (%Base.370)) -> @AccessMissingBase.%T.loc13_22.2 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: @AccessMissingBase.%Base.loc13_41.2 (%Base.370) = name_ref x, %x
|
||||
// CHECK:STDOUT: %nonesuch.ref: <error> = name_ref nonesuch, <error> [concrete = <error>]
|
||||
@@ -610,7 +610,7 @@ fn AccessMissingConcrete(x: Derived(i32)) -> i32 {
|
||||
// CHECK:STDOUT: %Base: type = class_type @Base, @Base(%T.loc21_25.2) [symbolic = %Base (constants.%Base.370)]
|
||||
// CHECK:STDOUT: %require_complete.loc26: <witness> = require_complete_type %Base [symbolic = %require_complete.loc26 (constants.%require_complete.97d)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%T.patt.loc21_25.1: type](%x.param_patt: @AccessMissingDerived.%Derived.loc21_47.2 (%Derived.85c)) -> @AccessMissingDerived.%T.loc21_25.2 (%T) {
|
||||
// CHECK:STDOUT: fn(%x.param: @AccessMissingDerived.%Derived.loc21_47.2 (%Derived.85c)) -> @AccessMissingDerived.%T.loc21_25.2 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: @AccessMissingDerived.%Derived.loc21_47.2 (%Derived.85c) = name_ref x, %x
|
||||
// CHECK:STDOUT: %nonesuch.ref: <error> = name_ref nonesuch, <error> [concrete = <error>]
|
||||
@@ -618,7 +618,7 @@ fn AccessMissingConcrete(x: Derived(i32)) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @AccessMissingConcrete(%x.param_patt: %Derived.115) -> %i32 {
|
||||
// CHECK:STDOUT: fn @AccessMissingConcrete(%x.param: %Derived.115) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: %Derived.115 = name_ref x, %x
|
||||
// CHECK:STDOUT: %nonesuch.ref: <error> = name_ref nonesuch, <error> [concrete = <error>]
|
||||
|
||||
@@ -242,7 +242,7 @@ fn Generic(T:! ()).WrongType() {}
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %T.loc5 [symbolic = %require_complete (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%n.param_patt: @F.%T.loc5 (%T)) -> @F.%T.loc5 (%T) {
|
||||
// CHECK:STDOUT: fn(%n.param.loc10: @F.%T.loc5 (%T)) -> @F.%T.loc5 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %n.ref: @F.%T.loc5 (%T) = name_ref n, %n.loc10
|
||||
// CHECK:STDOUT: return %n.ref
|
||||
@@ -258,7 +258,7 @@ fn Generic(T:! ()).WrongType() {}
|
||||
// CHECK:STDOUT: %Class.elem: type = unbound_element_type %Class, %T.loc6 [symbolic = %Class.elem (constants.%Class.elem)]
|
||||
// CHECK:STDOUT: %require_complete.loc15: <witness> = require_complete_type %T.loc6 [symbolic = %require_complete.loc15 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @G.%Class (%Class)]() -> @G.%T.loc6 (%T) {
|
||||
// CHECK:STDOUT: fn(%self.param.loc14: @G.%Class (%Class)) -> @G.%T.loc6 (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: @G.%Class (%Class) = name_ref self, %self.loc14
|
||||
// CHECK:STDOUT: %n.ref: @G.%Class.elem (%Class.elem) = name_ref n, @Class.%.loc7 [concrete = @Class.%.loc7]
|
||||
@@ -429,7 +429,7 @@ fn Generic(T:! ()).WrongType() {}
|
||||
// CHECK:STDOUT: %require_complete.loc10_31: <witness> = require_complete_type %B [symbolic = %require_complete.loc10_31 (constants.%require_complete.fca)]
|
||||
// CHECK:STDOUT: %require_complete.loc10_40: <witness> = require_complete_type %T.loc6 [symbolic = %require_complete.loc10_40 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @F.%B (%B)](%a.param_patt: @F.%T.loc6 (%T)) {
|
||||
// CHECK:STDOUT: fn(%self.param.loc10: @F.%B (%B), %a.param.loc10: @F.%T.loc6 (%T)) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -200,7 +200,7 @@ fn Test() -> i32 {
|
||||
// CHECK:STDOUT: %require_complete.loc9_9: <witness> = require_complete_type %T [symbolic = %require_complete.loc9_9 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT: %struct_type.n: type = struct_type {.n: @F.%T (%T)} [symbolic = %struct_type.n (constants.%struct_type.n.848)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%n.param_patt: @F.%T (%T)) -> %return.param_patt: @F.%Inner (%Inner.51b) {
|
||||
// CHECK:STDOUT: fn(%n.param: @F.%T (%T)) -> %return.param: @F.%Inner (%Inner.51b) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %n.ref: @F.%T (%T) = name_ref n, %n
|
||||
// CHECK:STDOUT: %.loc9_39.1: @F.%struct_type.n (%struct_type.n.848) = struct_literal (%n.ref)
|
||||
@@ -582,7 +582,7 @@ fn Test() -> i32 {
|
||||
// CHECK:STDOUT: %Self: @F.1.%Inner.type (%Inner.type.392) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.770)]
|
||||
// CHECK:STDOUT: %Self.as_type.loc6_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_16.1 (constants.%Self.as_type.ea1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @F.1.%Self.as_type.loc6_16.1 (%Self.as_type.ea1)]() -> @F.1.%T (%T);
|
||||
// CHECK:STDOUT: fn(%self.param: @F.1.%Self.as_type.loc6_16.1 (%Self.as_type.ea1)) -> @F.1.%T (%T);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @F.2(@Outer.%T.loc4_13.1: type) {
|
||||
@@ -603,7 +603,7 @@ fn Test() -> i32 {
|
||||
// CHECK:STDOUT: %impl.elem0.loc11_41.2: @F.2.%.loc11_41 (%.692) = impl_witness_access %Inner.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc11_41.2 (constants.%impl.elem0)]
|
||||
// CHECK:STDOUT: %specific_impl_fn.loc11_41.2: <specific function> = specific_impl_function %impl.elem0.loc11_41.2, @F.1(%T, %Inner.facet) [symbolic = %specific_impl_fn.loc11_41.2 (constants.%specific_impl_fn)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @F.2.%C (%C.390)]() -> @F.2.%T (%T) {
|
||||
// CHECK:STDOUT: fn(%self.param: @F.2.%C (%C.390)) -> @F.2.%T (%T) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: @F.2.%C (%C.390) = name_ref self, %self
|
||||
// CHECK:STDOUT: %.loc11_43: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%T) [symbolic = %Inner.type (constants.%Inner.type.392)]
|
||||
@@ -621,7 +621,7 @@ fn Test() -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.3[%self.param_patt: %D]() -> %i32;
|
||||
// CHECK:STDOUT: fn @F.3(%self.param: %D) -> %i32;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Test() -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
@@ -217,7 +217,7 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) {
|
||||
// CHECK:STDOUT: %require_complete.loc15_44.1: <witness> = require_complete_type %T [symbolic = %require_complete.loc15_44.1 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT: %require_complete.loc15_44.2: <witness> = require_complete_type %U.loc15_10.1 [symbolic = %require_complete.loc15_44.2 (constants.%require_complete.b54)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%U.patt.loc15_10.1: type) -> %return.param_patt: @Get.%tuple.type (%tuple.type.30b) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @Get.%tuple.type (%tuple.type.30b) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc15_39: @Get.%Get.type (%Get.type.fd9) = specific_constant @Class.%Get.decl, @Class(constants.%T) [symbolic = %Get (constants.%Get.cf9)]
|
||||
// CHECK:STDOUT: %Get.ref: @Get.%Get.type (%Get.type.fd9) = name_ref Get, %.loc15_39 [symbolic = %Get (constants.%Get.cf9)]
|
||||
@@ -254,7 +254,7 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) {
|
||||
// CHECK:STDOUT: %require_complete.loc16_70: <witness> = require_complete_type %tuple.type [symbolic = %require_complete.loc16_70 (constants.%require_complete.fe1)]
|
||||
// CHECK:STDOUT: %require_complete.loc16_69: <witness> = require_complete_type %U.loc16_24.1 [symbolic = %require_complete.loc16_69 (constants.%require_complete.b54)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%x.param_patt: @GetNoDeduce.%T (%T), %U.patt.loc16_24.1: type) -> %return.param_patt: @GetNoDeduce.%tuple.type (%tuple.type.30b) {
|
||||
// CHECK:STDOUT: fn(%x.param: @GetNoDeduce.%T (%T)) -> %return.param: @GetNoDeduce.%tuple.type (%tuple.type.30b) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc16_53: @GetNoDeduce.%GetNoDeduce.type (%GetNoDeduce.type.766) = specific_constant @Class.%GetNoDeduce.decl, @Class(constants.%T) [symbolic = %GetNoDeduce (constants.%GetNoDeduce.c9a)]
|
||||
// CHECK:STDOUT: %GetNoDeduce.ref: @GetNoDeduce.%GetNoDeduce.type (%GetNoDeduce.type.766) = name_ref GetNoDeduce, %.loc16_53 [symbolic = %GetNoDeduce (constants.%GetNoDeduce.c9a)]
|
||||
@@ -278,7 +278,7 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallGenericMethod(%c.param_patt: %Class.480) -> %return.param_patt: %tuple.type.cc6 {
|
||||
// CHECK:STDOUT: fn @CallGenericMethod(%c.param: %Class.480) -> %return.param: %tuple.type.cc6 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %Class.480 = name_ref c, %c
|
||||
// CHECK:STDOUT: %.loc20: %Get.type.501 = specific_constant @Class.%Get.decl, @Class(constants.%A) [concrete = constants.%Get.f37]
|
||||
@@ -290,7 +290,7 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) {
|
||||
// CHECK:STDOUT: return %Get.call to %return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallGenericMethodWithNonDeducedParam(%c.param_patt: %Class.480) -> %return.param_patt: %tuple.type.cc6 {
|
||||
// CHECK:STDOUT: fn @CallGenericMethodWithNonDeducedParam(%c.param: %Class.480) -> %return.param: %tuple.type.cc6 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %Class.480 = name_ref c, %c
|
||||
// CHECK:STDOUT: %.loc24_11: %GetNoDeduce.type.5d6 = specific_constant @Class.%GetNoDeduce.decl, @Class(constants.%A) [concrete = constants.%GetNoDeduce.162]
|
||||
|
||||
+2
-2
@@ -116,7 +116,7 @@ class Class(T:! type) {
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Class [symbolic = %require_complete (constants.%require_complete)]
|
||||
// CHECK:STDOUT: %Class.val: @MakeSelf.%Class (%Class) = struct_value () [symbolic = %Class.val (constants.%Class.val)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %return.param_patt: @MakeSelf.%Class (%Class) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @MakeSelf.%Class (%Class) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc14_35.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc14_35.2: init @MakeSelf.%Class (%Class) = class_init (), %return [symbolic = %Class.val (constants.%Class.val)]
|
||||
@@ -133,7 +133,7 @@ class Class(T:! type) {
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Class.loc15_28.1 [symbolic = %require_complete (constants.%require_complete)]
|
||||
// CHECK:STDOUT: %Class.val: @MakeClass.%Class.loc15_28.1 (%Class) = struct_value () [symbolic = %Class.val (constants.%Class.val)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn() -> %return.param_patt: @MakeClass.%Class.loc15_28.1 (%Class) {
|
||||
// CHECK:STDOUT: fn() -> %return.param: @MakeClass.%Class.loc15_28.1 (%Class) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc15_40.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc15_40.2: init @MakeClass.%Class.loc15_28.1 (%Class) = class_init (), %return [symbolic = %Class.val (constants.%Class.val)]
|
||||
|
||||
+1
-1
@@ -121,7 +121,7 @@ fn Class(T:! type).F[self: Self](n: T) {}
|
||||
// CHECK:STDOUT: %require_complete.loc16_26: <witness> = require_complete_type %Class [symbolic = %require_complete.loc16_26 (constants.%require_complete.4f8)]
|
||||
// CHECK:STDOUT: %require_complete.loc16_35: <witness> = require_complete_type %T.loc13 [symbolic = %require_complete.loc16_35 (constants.%require_complete.4ae)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn[%self.param_patt: @F.%Class (%Class)](%n.param_patt: @F.%T.loc13 (%T)) {
|
||||
// CHECK:STDOUT: fn(%self.param.loc16: @F.%Class (%Class), %n.param.loc16: @F.%T.loc13 (%T)) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+4
-4
@@ -149,9 +149,9 @@ fn Run() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @Incomplete;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[%self.param_patt: %ForwardDeclared]();
|
||||
// CHECK:STDOUT: fn @F(%self.param: %ForwardDeclared);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G[addr %self.param_patt: %ptr]();
|
||||
// CHECK:STDOUT: fn @G(%self.param: %ptr);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- b.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -364,7 +364,7 @@ fn Run() {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[%self.param_patt: %ForwardDeclared.7b34f2.1]() [from "a.carbon"];
|
||||
// CHECK:STDOUT: fn @F [from "a.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G[addr <unexpected>.inst1395: %ptr.6cf]() [from "a.carbon"];
|
||||
// CHECK:STDOUT: fn @G [from "a.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+3
-3
@@ -123,9 +123,9 @@ fn Run() {
|
||||
// CHECK:STDOUT: extend %Base.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[%self.param_patt: %Base]();
|
||||
// CHECK:STDOUT: fn @F(%self.param: %Base);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Unused[%self.param_patt: %Base]();
|
||||
// CHECK:STDOUT: fn @Unused(%self.param: %Base);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- b.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -283,5 +283,5 @@ fn Run() {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[%self.param_patt: %Base]() [from "a.carbon"];
|
||||
// CHECK:STDOUT: fn @F [from "a.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -317,7 +317,7 @@ class B {
|
||||
// CHECK:STDOUT: extend %Shape.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @GetPosition[%self.param_patt: %Circle]() -> %return.param_patt: %tuple.type.d07 {
|
||||
// CHECK:STDOUT: fn @GetPosition(%self.param: %Circle) -> %return.param: %tuple.type.d07 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref.loc13_13: %Circle = name_ref self, %self
|
||||
// CHECK:STDOUT: %x.ref: %Shape.elem = name_ref x, @Shape.%.loc5 [concrete = @Shape.%.loc5]
|
||||
@@ -457,7 +457,7 @@ class B {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2() -> %i32;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G[%self.param_patt: %C]() -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: fn @G(%self.param: %C) -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %C = name_ref self, %self
|
||||
// CHECK:STDOUT: %F.ref: %F.type.649 = name_ref F, @A.%F.decl [concrete = constants.%F.485]
|
||||
@@ -702,7 +702,7 @@ class B {
|
||||
// CHECK:STDOUT: extend %Shape.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @GetPosition[%self.param_patt: %Square]() -> %i32 {
|
||||
// CHECK:STDOUT: fn @GetPosition(%self.param: %Square) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %Square = name_ref self, %self
|
||||
// CHECK:STDOUT: %y.ref: <error> = name_ref y, <error> [concrete = <error>]
|
||||
@@ -1140,7 +1140,7 @@ class B {
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @SomeFunc[%self.param_patt: %B]() -> %i32 {
|
||||
// CHECK:STDOUT: fn @SomeFunc(%self.param: %B) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %B = name_ref self, %self
|
||||
// CHECK:STDOUT: %internal.ref: %B.elem = name_ref internal, @B.%.loc14 [concrete = @B.%.loc14]
|
||||
@@ -1223,7 +1223,7 @@ class B {
|
||||
// CHECK:STDOUT: extend %A.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[%self.param_patt: %B]() {
|
||||
// CHECK:STDOUT: fn @F(%self.param: %B) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %B = name_ref self, %self
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A]
|
||||
@@ -1304,7 +1304,7 @@ class B {
|
||||
// CHECK:STDOUT: extend %A.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[%self.param_patt: %B]() {
|
||||
// CHECK:STDOUT: fn @F(%self.param: %B) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %B = name_ref self, %self
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A]
|
||||
|
||||
+2
-2
@@ -124,7 +124,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class {
|
||||
// CHECK:STDOUT: .next = %.loc13
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make(%n.param_patt: %i32, %next.param_patt: %ptr.e71) -> %return.param_patt: %Class {
|
||||
// CHECK:STDOUT: fn @Make(%n.param: %i32, %next.param: %ptr.e71) -> %return.param: %Class {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n
|
||||
// CHECK:STDOUT: %next.ref: %ptr.e71 = name_ref next, %next
|
||||
@@ -138,7 +138,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class {
|
||||
// CHECK:STDOUT: return %.loc17_32 to %return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MakeReorder(%n.param_patt: %i32, %next.param_patt: %ptr.e71) -> %return.param_patt: %Class {
|
||||
// CHECK:STDOUT: fn @MakeReorder(%n.param: %i32, %next.param: %ptr.e71) -> %return.param: %Class {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %next.ref: %ptr.e71 = name_ref next, %next
|
||||
// CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n
|
||||
|
||||
+2
-2
@@ -113,9 +113,9 @@ fn MakeOuter() -> Outer {
|
||||
// CHECK:STDOUT: .d = %.loc20
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MakeInner() -> %Inner;
|
||||
// CHECK:STDOUT: fn @MakeInner() -> %return.param: %Inner;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @MakeOuter() -> %return.param_patt: %Outer {
|
||||
// CHECK:STDOUT: fn @MakeOuter() -> %return.param: %Outer {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %MakeInner.ref.loc24_16: %MakeInner.type = name_ref MakeInner, file.%MakeInner.decl [concrete = constants.%MakeInner]
|
||||
// CHECK:STDOUT: %.loc24_45.1: ref %Inner = class_element_access %return, element0
|
||||
|
||||
+1
-1
@@ -129,7 +129,7 @@ class A {
|
||||
// CHECK:STDOUT: return %.loc22_20.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param_patt: %B {
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %B {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %b.patt: %B = binding_pattern b
|
||||
|
||||
+7
-7
@@ -304,7 +304,7 @@ fn CallGOnInitializingExpr() -> i32 {
|
||||
// CHECK:STDOUT: .k = %.loc17
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[%self.param_patt: %Class]() -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%self.param.loc20: %Class) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %self.ref: %Class = name_ref self, %self.loc20
|
||||
// CHECK:STDOUT: %k.ref: %Class.elem = name_ref k, @Class.%.loc17 [concrete = @Class.%.loc17]
|
||||
@@ -313,9 +313,9 @@ fn CallGOnInitializingExpr() -> i32 {
|
||||
// CHECK:STDOUT: return %.loc21_14.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G[addr %self.param_patt: %ptr.e71]() -> %i32;
|
||||
// CHECK:STDOUT: fn @G(%self.param: %ptr.e71) -> %i32;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Call(%c.param_patt: %Class) -> %i32 {
|
||||
// CHECK:STDOUT: fn @Call(%c.param: %Class) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %Class = name_ref c, %c
|
||||
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, @Class.%F.decl [concrete = constants.%F]
|
||||
@@ -326,7 +326,7 @@ fn CallGOnInitializingExpr() -> i32 {
|
||||
// CHECK:STDOUT: return %.loc27_15.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallAlias(%c.param_patt: %Class) -> %i32 {
|
||||
// CHECK:STDOUT: fn @CallAlias(%c.param: %Class) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %Class = name_ref c, %c
|
||||
// CHECK:STDOUT: %A.ref: %F.type = name_ref A, @Class.%A [concrete = constants.%F]
|
||||
@@ -382,7 +382,7 @@ fn CallGOnInitializingExpr() -> i32 {
|
||||
// CHECK:STDOUT: return %.loc40_15.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallFThroughPointer(%p.param_patt: %ptr.e71) -> %i32 {
|
||||
// CHECK:STDOUT: fn @CallFThroughPointer(%p.param: %ptr.e71) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.e71 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc44_11.1: ref %Class = deref %p.ref
|
||||
@@ -395,7 +395,7 @@ fn CallGOnInitializingExpr() -> i32 {
|
||||
// CHECK:STDOUT: return %.loc44_18.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallGThroughPointer(%p.param_patt: %ptr.e71) -> %i32 {
|
||||
// CHECK:STDOUT: fn @CallGThroughPointer(%p.param: %ptr.e71) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %ptr.e71 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc48_11: ref %Class = deref %p.ref
|
||||
@@ -408,7 +408,7 @@ fn CallGOnInitializingExpr() -> i32 {
|
||||
// CHECK:STDOUT: return %.loc48_18.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %Class;
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %Class;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallFOnInitializingExpr() -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
+1
-1
@@ -212,7 +212,7 @@ fn F(a: Outer*) {
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F.2(%a.param_patt: %ptr.5df) {
|
||||
// CHECK:STDOUT: fn @F.2(%a.param: %ptr.5df) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %b.patt: %ptr.36a = binding_pattern b
|
||||
|
||||
+2
-2
@@ -108,7 +108,7 @@ fn G(o: Outer) {
|
||||
// CHECK:STDOUT: .n = %.loc13
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%oi.param_patt: %Inner) -> %i32 {
|
||||
// CHECK:STDOUT: fn @F(%oi.param: %Inner) -> %i32 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %oi.ref: %Inner = name_ref oi, %oi
|
||||
// CHECK:STDOUT: %n.ref: %Inner.elem = name_ref n, @Inner.%.loc13 [concrete = @Inner.%.loc13]
|
||||
@@ -117,7 +117,7 @@ fn G(o: Outer) {
|
||||
// CHECK:STDOUT: return %.loc18_12.2
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%o.param_patt: %Outer) {
|
||||
// CHECK:STDOUT: fn @G(%o.param: %Outer) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %i.patt: %Inner = binding_pattern i
|
||||
|
||||
+17
-17
@@ -234,15 +234,15 @@ fn G() { F({}); }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make.1() -> %NoAddr;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.1[%self.param_patt: %NoAddr]();
|
||||
// CHECK:STDOUT: fn @destroy.1(%self.param: %NoAddr);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make.2() -> %ExplicitReturn;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.2[%self.param_patt: %ExplicitReturn]() -> %empty_tuple.type;
|
||||
// CHECK:STDOUT: fn @destroy.2(%self.param: %ExplicitReturn) -> %empty_tuple.type;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make.3() -> %WithAddr;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.3[addr %self.param_patt: %ptr]();
|
||||
// CHECK:STDOUT: fn @destroy.3(%self.param: %ptr);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- implicit_return.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -358,11 +358,11 @@ fn G() { F({}); }
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.1[%self.param_patt: %NoAddr]() [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.1 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.2[%self.param_patt: %ExplicitReturn]() -> %empty_tuple.type [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.2 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.3[addr <unexpected>.inst83: %ptr.b4e]() [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.3 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- nested_scope.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -495,11 +495,11 @@ fn G() { F({}); }
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.1[%self.param_patt: %NoAddr]() [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.1 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.2[%self.param_patt: %ExplicitReturn]() -> %empty_tuple.type [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.2 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.3[addr <unexpected>.inst83: %ptr.b4e]() [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.3 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- temp.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -615,17 +615,17 @@ fn G() { F({}); }
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make.1() -> %NoAddr [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @Make.1 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.1[%self.param_patt: %NoAddr]() [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.1 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make.2() -> %ExplicitReturn [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @Make.2 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.2[%self.param_patt: %ExplicitReturn]() -> %empty_tuple.type [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.2 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make.3() -> %WithAddr [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @Make.3 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.3[addr <unexpected>.inst93: %ptr.b4e]() [from "types.carbon"];
|
||||
// CHECK:STDOUT: fn @destroy.3 [from "types.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- fail_recovery.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -693,7 +693,7 @@ fn G() { F({}); }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.1();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @destroy.2[%self.param_patt: %Args]();
|
||||
// CHECK:STDOUT: fn @destroy.2(%self.param: %Args, %x.param: %empty_tuple.type);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -792,7 +792,7 @@ fn G() { F({}); }
|
||||
// CHECK:STDOUT: %.4: <instruction> = access_optional_member_action %.1, destroy [template]
|
||||
// CHECK:STDOUT: %.5: type = type_of_inst %.4 [template]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%T.patt.loc6_15.1: type) {
|
||||
// CHECK:STDOUT: fn() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %v.patt: @F.%C.loc7_13.2 (%C.f2e) = binding_pattern v
|
||||
|
||||
@@ -304,7 +304,7 @@ fn CallReturnAbstract() {
|
||||
// CHECK:STDOUT: .Self = constants.%Abstract
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %Abstract) {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %Abstract) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %l.patt: %Abstract = binding_pattern l
|
||||
@@ -400,9 +400,9 @@ fn CallReturnAbstract() {
|
||||
// CHECK:STDOUT: .Self = constants.%Abstract
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Param(%a.param_patt: %Abstract);
|
||||
// CHECK:STDOUT: fn @Param(%a.param: %Abstract);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Call(%p.param_patt: %Abstract) {
|
||||
// CHECK:STDOUT: fn @Call(%p.param: %Abstract) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Param.ref: %Param.type = name_ref Param, file.%Param.decl [concrete = constants.%Param]
|
||||
// CHECK:STDOUT: %p.ref: %Abstract = name_ref p, %p
|
||||
@@ -471,7 +471,7 @@ fn CallReturnAbstract() {
|
||||
// CHECK:STDOUT: extend %Abstract.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param_patt: %Derived {
|
||||
// CHECK:STDOUT: fn @Make() -> %return.param: %Derived {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc22_20: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc22_29: %empty_struct_type = struct_literal ()
|
||||
@@ -544,7 +544,7 @@ fn CallReturnAbstract() {
|
||||
// CHECK:STDOUT: extend %Abstract.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Return(%a.param_patt: %Abstract) -> %return.param_patt: %Abstract {
|
||||
// CHECK:STDOUT: fn @Return(%a.param: %Abstract) -> %return.param: %Abstract {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %Abstract = name_ref a, %a
|
||||
// CHECK:STDOUT: return <error> to %return
|
||||
@@ -622,7 +622,7 @@ fn CallReturnAbstract() {
|
||||
// CHECK:STDOUT: extend %Abstract.ref
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Access(%d.param_patt: %Derived) -> %empty_struct_type {
|
||||
// CHECK:STDOUT: fn @Access(%d.param: %Derived) -> %empty_struct_type {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %d.ref: %Derived = name_ref d, %d
|
||||
// CHECK:STDOUT: %base.ref: %Derived.elem.513 = name_ref base, @Derived.%.loc9 [concrete = @Derived.%.loc9]
|
||||
@@ -709,7 +709,7 @@ fn CallReturnAbstract() {
|
||||
// CHECK:STDOUT: .Self = constants.%Abstract
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @ReturnAbstract() -> %Abstract;
|
||||
// CHECK:STDOUT: fn @ReturnAbstract() -> %return.param: %Abstract;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallReturnAbstract() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
@@ -243,7 +243,7 @@ fn Var5() {
|
||||
// CHECK:STDOUT: .Self = constants.%Abstract3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %Abstract3) {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %Abstract3) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %l.patt: %struct_type.m3.fe4 = binding_pattern l
|
||||
|
||||
@@ -248,7 +248,7 @@ fn Var5() {
|
||||
// CHECK:STDOUT: .Self = constants.%Abstract3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%a.param_patt: %Abstract3) {
|
||||
// CHECK:STDOUT: fn @F(%a.param: %Abstract3) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %l.patt: %tuple.type.fa1 = binding_pattern l
|
||||
|
||||
@@ -91,7 +91,7 @@ fn F(N:! error_not_found) {
|
||||
// CHECK:STDOUT: generic fn @F(%N: <error>) {
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%N.patt: <error>) {
|
||||
// CHECK:STDOUT: fn() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = <error>] {} {}
|
||||
// CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = <error>] {} {}
|
||||
@@ -102,7 +102,7 @@ fn F(N:! error_not_found) {
|
||||
// CHECK:STDOUT: generic virtual fn @Foo(@F.%N: <error>) {
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: virtual fn[%self.param_patt: <error>]() {
|
||||
// CHECK:STDOUT: virtual fn(%self.param: <error>) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -436,7 +436,7 @@ class Foo[T:! type];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn(%T.patt.loc11_6.1: type) {
|
||||
// CHECK:STDOUT: fn() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %A.ref: %A.type = name_ref A, file.%A.decl [concrete = constants.%A.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)]
|
||||
|
||||
@@ -471,7 +471,7 @@ private class Redecl {}
|
||||
// CHECK:STDOUT: .Self = constants.%Forward
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%c.param_patt: %ptr) {
|
||||
// CHECK:STDOUT: fn @F(%c.param: %ptr) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -502,7 +502,7 @@ private class Redecl {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%c.param_patt: <error>) {
|
||||
// CHECK:STDOUT: fn @F(%c.param: <error>) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -541,7 +541,7 @@ private class Redecl {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F(%c.param_patt: <error>) {
|
||||
// CHECK:STDOUT: fn @F(%c.param: <error>) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -293,7 +293,7 @@ var x: () = D.C.F();
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.943
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() [from "a.carbon"];
|
||||
// CHECK:STDOUT: fn @F [from "a.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -348,7 +348,7 @@ var x: () = D.C.F();
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.5d3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() [from "a.carbon"];
|
||||
// CHECK:STDOUT: fn @F [from "a.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -403,7 +403,7 @@ var x: () = D.C.F();
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.5d3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() [from "a.carbon"];
|
||||
// CHECK:STDOUT: fn @F [from "a.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -470,7 +470,7 @@ var x: () = D.C.F();
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.c85
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() [from "a.carbon"];
|
||||
// CHECK:STDOUT: fn @F [from "a.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
@@ -538,7 +538,7 @@ var x: () = D.C.F();
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.c85
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() [from "a.carbon"];
|
||||
// CHECK:STDOUT: fn @F [from "a.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
|
||||
@@ -70,9 +70,9 @@ fn G(x: X) {
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F[%self.param_patt: %X]();
|
||||
// CHECK:STDOUT: fn @F(%self.param: %X);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%x.param_patt: %X) {
|
||||
// CHECK:STDOUT: fn @G(%x.param: %X) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref.loc12_3: %X = name_ref x, %x
|
||||
// CHECK:STDOUT: %x.ref.loc12_6: %X = name_ref x, %x
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user