Rename IntLiteral to IntValue. (#4475)

This instruction represents integer values, whether they come from
literals or calculations, so it the old name is inaccurate. I also plan
to rename `BigInt` to `IntLiteral` based on recent discussion and this
change aims to avoid confusion stemming from the same name being used
for two different things.

I'm not renaming `FloatLiteral` because recent discussion suggests we
may want distinct `FloatLiteral` versus `FloatValue` representations in
SemIR.
This commit is contained in:
Richard Smith
2024-11-02 01:19:39 +00:00
committed by GitHub
parent 261fe38508
commit db76e81630
250 changed files with 1933 additions and 1935 deletions
+1 -1
View File
@@ -152,7 +152,7 @@ static auto MakeElementAccessInst(Context& context, SemIR::LocId loc_id,
// TODO: Add a new instruction kind for indexing an array at a constant
// index so that we don't need an integer literal instruction here, and
// remove this special case.
auto index_id = block.template AddInst<SemIR::IntLiteral>(
auto index_id = block.template AddInst<SemIR::IntValue>(
loc_id,
{.type_id = context.GetBuiltinType(SemIR::BuiltinInstKind::IntType),
.int_id = context.ints().Add(llvm::APInt(32, i))});
+16 -16
View File
@@ -243,7 +243,7 @@ static auto MakeIntResult(Context& context, SemIR::TypeId type_id,
llvm::APInt value) -> SemIR::ConstantId {
auto result = context.ints().Add(std::move(value));
return MakeConstantResult(
context, SemIR::IntLiteral{.type_id = type_id, .int_id = result},
context, SemIR::IntValue{.type_id = type_id, .int_id = result},
Phase::Template);
}
@@ -489,7 +489,7 @@ static auto PerformArrayIndex(EvalContext& eval_context, SemIR::ArrayIndex inst)
if (!index_id.is_valid()) {
return MakeNonConstantResult(phase);
}
auto index = eval_context.insts().TryGetAs<SemIR::IntLiteral>(index_id);
auto index = eval_context.insts().TryGetAs<SemIR::IntValue>(index_id);
if (!index) {
CARBON_CHECK(phase != Phase::Template,
"Template constant integer should be a literal");
@@ -503,7 +503,7 @@ static auto PerformArrayIndex(EvalContext& eval_context, SemIR::ArrayIndex inst)
eval_context.insts().Get(inst.array_id).type_id());
if (auto array_type =
eval_context.types().TryGetAs<SemIR::ArrayType>(aggregate_type_id)) {
if (auto bound = eval_context.insts().TryGetAs<SemIR::IntLiteral>(
if (auto bound = eval_context.insts().TryGetAs<SemIR::IntValue>(
array_type->bound_id)) {
// This awkward call to `getZExtValue` is a workaround for APInt not
// supporting comparisons between integers of different bit widths.
@@ -542,7 +542,7 @@ static auto PerformArrayIndex(EvalContext& eval_context, SemIR::ArrayIndex inst)
static auto ValidateIntType(Context& context, SemIRLoc loc,
SemIR::IntType result) -> bool {
auto bit_width =
context.insts().TryGetAs<SemIR::IntLiteral>(result.bit_width_id);
context.insts().TryGetAs<SemIR::IntValue>(result.bit_width_id);
if (!bit_width) {
// Symbolic bit width.
return true;
@@ -592,7 +592,7 @@ static auto MakeIntTypeResult(Context& context, SemIRLoc loc,
// Enforces that the bit width is 64 for a float.
static auto ValidateFloatBitWidth(Context& context, SemIRLoc loc,
SemIR::InstId inst_id) -> bool {
auto inst = context.insts().GetAs<SemIR::IntLiteral>(inst_id);
auto inst = context.insts().GetAs<SemIR::IntValue>(inst_id);
if (context.ints().Get(inst.int_id) == 64) {
return true;
}
@@ -606,7 +606,7 @@ static auto ValidateFloatBitWidth(Context& context, SemIRLoc loc,
static auto ValidateFloatType(Context& context, SemIRLoc loc,
SemIR::FloatType result) -> bool {
auto bit_width =
context.insts().TryGetAs<SemIR::IntLiteral>(result.bit_width_id);
context.insts().TryGetAs<SemIR::IntValue>(result.bit_width_id);
if (!bit_width) {
// Symbolic bit width.
return true;
@@ -625,7 +625,7 @@ static auto PerformBuiltinUnaryIntOp(Context& context, SemIRLoc loc,
SemIR::BuiltinFunctionKind builtin_kind,
SemIR::InstId arg_id)
-> SemIR::ConstantId {
auto op = context.insts().GetAs<SemIR::IntLiteral>(arg_id);
auto op = context.insts().GetAs<SemIR::IntValue>(arg_id);
auto op_val = context.ints().Get(op.int_id);
switch (builtin_kind) {
@@ -658,8 +658,8 @@ static auto PerformBuiltinBinaryIntOp(Context& context, SemIRLoc loc,
SemIR::InstId lhs_id,
SemIR::InstId rhs_id)
-> SemIR::ConstantId {
auto lhs = context.insts().GetAs<SemIR::IntLiteral>(lhs_id);
auto rhs = context.insts().GetAs<SemIR::IntLiteral>(rhs_id);
auto lhs = context.insts().GetAs<SemIR::IntValue>(lhs_id);
auto rhs = context.insts().GetAs<SemIR::IntValue>(rhs_id);
const auto& lhs_val = context.ints().Get(lhs.int_id);
const auto& rhs_val = context.ints().Get(rhs.int_id);
@@ -791,10 +791,10 @@ static auto PerformBuiltinIntComparison(Context& context,
SemIR::InstId rhs_id,
SemIR::TypeId bool_type_id)
-> SemIR::ConstantId {
auto lhs = context.insts().GetAs<SemIR::IntLiteral>(lhs_id);
auto lhs = context.insts().GetAs<SemIR::IntValue>(lhs_id);
const auto& lhs_val = context.ints().Get(lhs.int_id);
const auto& rhs_val = context.ints().Get(
context.insts().GetAs<SemIR::IntLiteral>(rhs_id).int_id);
const auto& rhs_val =
context.ints().Get(context.insts().GetAs<SemIR::IntValue>(rhs_id).int_id);
bool is_signed = context.types().IsSignedInt(lhs.type_id);
bool result;
@@ -1122,8 +1122,8 @@ static auto TryEvalInstInContext(EvalContext& eval_context,
eval_context, inst,
[&](SemIR::ArrayType result) {
auto bound_id = array_type.bound_id;
auto int_bound = eval_context.insts().TryGetAs<SemIR::IntLiteral>(
result.bound_id);
auto int_bound =
eval_context.insts().TryGetAs<SemIR::IntValue>(result.bound_id);
if (!int_bound) {
// TODO: Permit symbolic array bounds. This will require fixing
// callers of `GetArrayBoundValue`.
@@ -1330,13 +1330,13 @@ static auto TryEvalInstInContext(EvalContext& eval_context,
case SemIR::BoolLiteral::Kind:
case SemIR::FloatLiteral::Kind:
case SemIR::IntLiteral::Kind:
case SemIR::IntValue::Kind:
case SemIR::StringLiteral::Kind:
// Promote literals to the constant block.
// TODO: Convert literals into a canonical form. Currently we can form two
// different `i32` constants with the same value if they are represented
// by `APInt`s with different bit widths.
// TODO: Can the type of an IntLiteral or FloatLiteral be symbolic? If so,
// TODO: Can the type of an IntValue or FloatLiteral be symbolic? If so,
// we may need to rebuild.
return MakeConstantResult(eval_context.context(), inst, Phase::Template);
+4 -4
View File
@@ -28,7 +28,7 @@ auto HandleParseNode(Context& context, Parse::BoolLiteralTrueId node_id)
return true;
}
// Forms an IntLiteral instruction with type `i32` for a given literal integer
// Forms an IntValue instruction with type `i32` for a given literal integer
// value, which is assumed to be unsigned.
static auto MakeI32Literal(Context& context, Parse::NodeId node_id,
IntId int_id) -> SemIR::InstId {
@@ -43,20 +43,20 @@ static auto MakeI32Literal(Context& context, Parse::NodeId node_id,
}
// Literals are always represented as unsigned, so zero-extend if needed.
auto i32_val = val.zextOrTrunc(32);
return context.AddInst<SemIR::IntLiteral>(
return context.AddInst<SemIR::IntValue>(
node_id,
{.type_id = context.GetBuiltinType(SemIR::BuiltinInstKind::IntType),
.int_id = context.ints().Add(i32_val)});
}
// Forms an IntLiteral instruction with type `BigInt` for a given literal
// Forms an IntValue instruction with type `BigInt` for a given literal
// integer value, which is assumed to be unsigned.
static auto MakeBigIntLiteral(Context& context, Parse::NodeId node_id,
IntId int_id) -> SemIR::InstId {
// TODO: `IntId`s with different bit-widths are considered different values
// here. Decide how we want to canonicalize these. For now this is only used
// by type literals, so we rely on the lexer picking some consistent rule.
return context.AddInst<SemIR::IntLiteral>(
return context.AddInst<SemIR::IntValue>(
node_id,
{.type_id = context.GetBuiltinType(SemIR::BuiltinInstKind::BigIntType),
.int_id = int_id});
+3 -3
View File
@@ -1217,7 +1217,7 @@ class ImportRefResolver {
case CARBON_KIND(SemIR::InterfaceType inst): {
return TryResolveTypedInst(inst);
}
case CARBON_KIND(SemIR::IntLiteral inst): {
case CARBON_KIND(SemIR::IntValue inst): {
return TryResolveTypedInst(inst);
}
case CARBON_KIND(SemIR::IntType inst): {
@@ -2093,13 +2093,13 @@ class ImportRefResolver {
.elements_id = elements_id});
}
auto TryResolveTypedInst(SemIR::IntLiteral inst) -> ResolveResult {
auto TryResolveTypedInst(SemIR::IntValue inst) -> ResolveResult {
auto type_id = GetLocalConstantId(inst.type_id);
if (HasNewWork()) {
return Retry();
}
return ResolveAs<SemIR::IntLiteral>(
return ResolveAs<SemIR::IntValue>(
{.type_id = context_.GetTypeIdForTypeConstant(type_id),
.int_id = context_.ints().Add(import_ir_.ints().Get(inst.int_id))});
}
+3 -3
View File
@@ -349,11 +349,11 @@ static auto PerformInstanceBinding(Context& context, SemIR::LocId loc_id,
}
}
// Validates that the index (required to be an IntLiteral) is valid within the
// Validates that the index (required to be an IntValue) is valid within the
// tuple size. Returns the index on success, or nullptr on failure.
static auto ValidateTupleIndex(Context& context, SemIR::LocId loc_id,
SemIR::InstId operand_inst_id,
SemIR::IntLiteral index_inst, int size)
SemIR::IntValue index_inst, int size)
-> const llvm::APInt* {
const auto& index_val = context.ints().Get(index_inst.int_id);
if (index_val.uge(size)) {
@@ -517,7 +517,7 @@ auto PerformTupleAccess(Context& context, SemIR::LocId loc_id,
return SemIR::InstId::BuiltinError;
}
auto index_literal = context.insts().GetAs<SemIR::IntLiteral>(
auto index_literal = context.insts().GetAs<SemIR::IntValue>(
context.constant_values().GetInstId(index_const_id));
auto type_block = context.type_blocks().Get(tuple_type->elements_id);
const auto* index_val = ValidateTupleIndex(context, loc_id, tuple_inst_id,
+6 -6
View File
@@ -26,13 +26,13 @@ fn G() {
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
// CHECK:STDOUT: %.4: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 2 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, %.3 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.7: type = ptr_type %.5 [template]
// CHECK:STDOUT: %.8: type = tuple_type (%.3, %.3) [template]
// CHECK:STDOUT: %.9: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.10: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.9: i32 = int_value 0 [template]
// CHECK:STDOUT: %.10: i32 = int_value 1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -82,7 +82,7 @@ fn G() {
// CHECK:STDOUT: %int.make_type_32.loc14_17: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %int.make_type_32.loc14_22: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc14_25.1: %.2 = tuple_literal (%int.make_type_32.loc14_12, %int.make_type_32.loc14_17, %int.make_type_32.loc14_22)
// CHECK:STDOUT: %.loc14_28: i32 = int_literal 2 [template = constants.%.4]
// CHECK:STDOUT: %.loc14_28: i32 = int_value 2 [template = constants.%.4]
// CHECK:STDOUT: %.loc14_25.2: type = value_of_initializer %int.make_type_32.loc14_12 [template = i32]
// CHECK:STDOUT: %.loc14_25.3: type = converted %int.make_type_32.loc14_12, %.loc14_25.2 [template = i32]
// CHECK:STDOUT: %.loc14_25.4: type = value_of_initializer %int.make_type_32.loc14_17 [template = i32]
@@ -95,13 +95,13 @@ fn G() {
// CHECK:STDOUT: %v: ref %.5 = bind_name v, %v.var
// CHECK:STDOUT: %F.ref.loc14_34: %F.type = name_ref F, file.%F.decl [template = constants.%F]
// CHECK:STDOUT: %.loc14_42.3: ref %.3 = splice_block %.loc14_42.2 {
// CHECK:STDOUT: %.loc14_42.1: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc14_42.1: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc14_42.2: ref %.3 = array_index %v.var, %.loc14_42.1
// CHECK:STDOUT: }
// CHECK:STDOUT: %F.call.loc14_35: init %.3 = call %F.ref.loc14_34() to %.loc14_42.3
// CHECK:STDOUT: %F.ref.loc14_39: %F.type = name_ref F, file.%F.decl [template = constants.%F]
// CHECK:STDOUT: %.loc14_42.6: ref %.3 = splice_block %.loc14_42.5 {
// CHECK:STDOUT: %.loc14_42.4: i32 = int_literal 1 [template = constants.%.10]
// CHECK:STDOUT: %.loc14_42.4: i32 = int_value 1 [template = constants.%.10]
// CHECK:STDOUT: %.loc14_42.5: ref %.3 = array_index %v.var, %.loc14_42.4
// CHECK:STDOUT: }
// CHECK:STDOUT: %F.call.loc14_40: init %.3 = call %F.ref.loc14_39() to %.loc14_42.6
+14 -14
View File
@@ -22,13 +22,13 @@ fn G() {
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: type = tuple_type (i32, i32, i32) [template]
// CHECK:STDOUT: %.8: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.8: i32 = int_value 0 [template]
// CHECK:STDOUT: %array: %.3 = tuple_value (%.5, %.6, %.2) [template]
// CHECK:STDOUT: %.9: type = tuple_type (type, type, type) [template]
// CHECK:STDOUT: %.10: type = ptr_type %.7 [template]
@@ -56,23 +56,23 @@ fn G() {
// CHECK:STDOUT: fn @G() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %int.make_type_32.loc13: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc13_16: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_16: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_11.1: type = value_of_initializer %int.make_type_32.loc13 [template = i32]
// CHECK:STDOUT: %.loc13_11.2: type = converted %int.make_type_32.loc13, %.loc13_11.1 [template = i32]
// CHECK:STDOUT: %.loc13_17: type = array_type %.loc13_16, i32 [template = constants.%.3]
// CHECK:STDOUT: %a.var: ref %.3 = var a
// CHECK:STDOUT: %a: ref %.3 = bind_name a, %a.var
// CHECK:STDOUT: %.loc13_22: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_25: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc13_28: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_22: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_25: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc13_28: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_29.1: %.7 = tuple_literal (%.loc13_22, %.loc13_25, %.loc13_28)
// CHECK:STDOUT: %.loc13_29.2: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_29.2: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_29.3: ref i32 = array_index %a.var, %.loc13_29.2
// CHECK:STDOUT: %.loc13_29.4: init i32 = initialize_from %.loc13_22 to %.loc13_29.3 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_29.5: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_29.5: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_29.6: ref i32 = array_index %a.var, %.loc13_29.5
// CHECK:STDOUT: %.loc13_29.7: init i32 = initialize_from %.loc13_25 to %.loc13_29.6 [template = constants.%.6]
// CHECK:STDOUT: %.loc13_29.8: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc13_29.8: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc13_29.9: ref i32 = array_index %a.var, %.loc13_29.8
// CHECK:STDOUT: %.loc13_29.10: init i32 = initialize_from %.loc13_28 to %.loc13_29.9 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_29.11: init %.3 = array_init (%.loc13_29.4, %.loc13_29.7, %.loc13_29.10) to %a.var [template = constants.%array]
@@ -91,9 +91,9 @@ fn G() {
// CHECK:STDOUT: %.loc14_24.8: type = converted %.loc14_24.1, constants.%.7 [template = constants.%.7]
// CHECK:STDOUT: %b.var: ref %.7 = var b
// CHECK:STDOUT: %b: ref %.7 = bind_name b, %b.var
// CHECK:STDOUT: %.loc14_29: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc14_32: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc14_35: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_29: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc14_32: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc14_35: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_36.1: %.7 = tuple_literal (%.loc14_29, %.loc14_32, %.loc14_35)
// CHECK:STDOUT: %.loc14_36.2: ref i32 = tuple_access %b.var, element0
// CHECK:STDOUT: %.loc14_36.3: init i32 = initialize_from %.loc14_29 to %.loc14_36.2 [template = constants.%.5]
+5 -5
View File
@@ -24,11 +24,11 @@ fn Run() {
// CHECK:STDOUT: %.3: type = tuple_type (i32) [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.4: i32 = int_value 0 [template]
// CHECK:STDOUT: %tuple: %.3 = tuple_value (%.4) [template]
// CHECK:STDOUT: %Run.type: type = fn_type @Run [template]
// CHECK:STDOUT: %Run: %Run.type = struct_value () [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: type = array_type %.5, i32 [template]
// CHECK:STDOUT: %.7: type = ptr_type %.6 [template]
// CHECK:STDOUT: }
@@ -68,7 +68,7 @@ fn Run() {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @F() -> %.3 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11_28: i32 = int_literal 0 [template = constants.%.4]
// CHECK:STDOUT: %.loc11_28: i32 = int_value 0 [template = constants.%.4]
// CHECK:STDOUT: %.loc11_30: %.3 = tuple_literal (%.loc11_28)
// CHECK:STDOUT: %tuple: %.3 = tuple_value (%.loc11_28) [template = constants.%tuple]
// CHECK:STDOUT: %.loc11_31: %.3 = converted %.loc11_30, %tuple [template = constants.%tuple]
@@ -78,7 +78,7 @@ fn Run() {
// CHECK:STDOUT: fn @Run() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc14_16: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc14_16: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc14_11.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc14_11.2: type = converted %int.make_type_32, %.loc14_11.1 [template = i32]
// CHECK:STDOUT: %.loc14_17: type = array_type %.loc14_16, i32 [template = constants.%.6]
@@ -90,7 +90,7 @@ fn Run() {
// CHECK:STDOUT: %.loc14_22.2: ref %.3 = temporary %.loc14_22.1, %F.call
// CHECK:STDOUT: %.loc14_22.3: ref i32 = tuple_access %.loc14_22.2, element0
// CHECK:STDOUT: %.loc14_22.4: i32 = bind_value %.loc14_22.3
// CHECK:STDOUT: %.loc14_22.5: i32 = int_literal 0 [template = constants.%.4]
// CHECK:STDOUT: %.loc14_22.5: i32 = int_value 0 [template = constants.%.4]
// CHECK:STDOUT: %.loc14_22.6: ref i32 = array_index %t.var, %.loc14_22.5
// CHECK:STDOUT: %.loc14_22.7: init i32 = initialize_from %.loc14_22.4 to %.loc14_22.6
// CHECK:STDOUT: %.loc14_22.8: init %.6 = array_init (%.loc14_22.7) to %t.var
+11 -11
View File
@@ -20,13 +20,13 @@ var b: [i32; 3] = a;
// CHECK:STDOUT: %.2: type = tuple_type (type, type, type) [template]
// CHECK:STDOUT: %.3: type = tuple_type (i32, i32, i32) [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: i32 = int_value 3 [template]
// CHECK:STDOUT: %tuple: %.3 = tuple_value (%.5, %.6, %.7) [template]
// CHECK:STDOUT: %.8: type = array_type %.7, i32 [template]
// CHECK:STDOUT: %.9: type = ptr_type %.8 [template]
// CHECK:STDOUT: %.10: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.10: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -59,7 +59,7 @@ var b: [i32; 3] = a;
// CHECK:STDOUT: %a.var: ref %.3 = var a
// CHECK:STDOUT: %a: ref %.3 = bind_name a, %a.var
// CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc12_14: i32 = int_literal 3 [template = constants.%.7]
// CHECK:STDOUT: %.loc12_14: i32 = int_value 3 [template = constants.%.7]
// CHECK:STDOUT: %.loc12_9.1: type = value_of_initializer %int.make_type_32.loc12 [template = i32]
// CHECK:STDOUT: %.loc12_9.2: type = converted %int.make_type_32.loc12, %.loc12_9.1 [template = i32]
// CHECK:STDOUT: %.loc12_15: type = array_type %.loc12_14, i32 [template = constants.%.8]
@@ -71,9 +71,9 @@ var b: [i32; 3] = a;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11_27: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_30: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_33: i32 = int_literal 3 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_27: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_30: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_33: i32 = int_value 3 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_34.1: %.3 = tuple_literal (%.loc11_27, %.loc11_30, %.loc11_33)
// CHECK:STDOUT: %.loc11_34.2: ref i32 = tuple_access file.%a.var, element0
// CHECK:STDOUT: %.loc11_34.3: init i32 = initialize_from %.loc11_27 to %.loc11_34.2 [template = constants.%.5]
@@ -87,17 +87,17 @@ var b: [i32; 3] = a;
// CHECK:STDOUT: %a.ref: ref %.3 = name_ref a, file.%a
// CHECK:STDOUT: %.loc12_19.1: ref i32 = tuple_access %a.ref, element0
// CHECK:STDOUT: %.loc12_19.2: i32 = bind_value %.loc12_19.1
// CHECK:STDOUT: %.loc12_19.3: i32 = int_literal 0 [template = constants.%.10]
// CHECK:STDOUT: %.loc12_19.3: i32 = int_value 0 [template = constants.%.10]
// CHECK:STDOUT: %.loc12_19.4: ref i32 = array_index file.%b.var, %.loc12_19.3
// CHECK:STDOUT: %.loc12_19.5: init i32 = initialize_from %.loc12_19.2 to %.loc12_19.4
// CHECK:STDOUT: %.loc12_19.6: ref i32 = tuple_access %a.ref, element1
// CHECK:STDOUT: %.loc12_19.7: i32 = bind_value %.loc12_19.6
// CHECK:STDOUT: %.loc12_19.8: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc12_19.8: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc12_19.9: ref i32 = array_index file.%b.var, %.loc12_19.8
// CHECK:STDOUT: %.loc12_19.10: init i32 = initialize_from %.loc12_19.7 to %.loc12_19.9
// CHECK:STDOUT: %.loc12_19.11: ref i32 = tuple_access %a.ref, element2
// CHECK:STDOUT: %.loc12_19.12: i32 = bind_value %.loc12_19.11
// CHECK:STDOUT: %.loc12_19.13: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc12_19.13: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc12_19.14: ref i32 = array_index file.%b.var, %.loc12_19.13
// CHECK:STDOUT: %.loc12_19.15: init i32 = initialize_from %.loc12_19.12 to %.loc12_19.14
// CHECK:STDOUT: %.loc12_19.16: init %.8 = array_init (%.loc12_19.5, %.loc12_19.10, %.loc12_19.15) to file.%b.var
+20 -20
View File
@@ -18,29 +18,29 @@ var c: [(); 5] = ((), (), (), (), (),);
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: type = tuple_type (i32) [template]
// CHECK:STDOUT: %.6: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.6: i32 = int_value 0 [template]
// CHECK:STDOUT: %array.1: %.3 = tuple_value (%.2) [template]
// CHECK:STDOUT: %.7: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.7: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
// CHECK:STDOUT: %.8: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.8: i32 = int_value 2 [template]
// CHECK:STDOUT: %.9: type = array_type %.8, f64 [template]
// CHECK:STDOUT: %.10: type = ptr_type %.9 [template]
// CHECK:STDOUT: %.11: f64 = float_literal 11.100000000000001 [template]
// CHECK:STDOUT: %.12: f64 = float_literal 2.2000000000000002 [template]
// CHECK:STDOUT: %.13: type = tuple_type (f64, f64) [template]
// CHECK:STDOUT: %array.2: %.9 = tuple_value (%.11, %.12) [template]
// CHECK:STDOUT: %.14: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.14: i32 = int_value 5 [template]
// CHECK:STDOUT: %.15: type = array_type %.14, %.1 [template]
// CHECK:STDOUT: %.16: type = ptr_type %.15 [template]
// CHECK:STDOUT: %.17: type = tuple_type (%.1, %.1, %.1, %.1, %.1) [template]
// CHECK:STDOUT: %tuple: %.1 = tuple_value () [template]
// CHECK:STDOUT: %.18: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.19: i32 = int_literal 4 [template]
// CHECK:STDOUT: %.18: i32 = int_value 3 [template]
// CHECK:STDOUT: %.19: i32 = int_value 4 [template]
// CHECK:STDOUT: %array.3: %.15 = tuple_value (%tuple, %tuple, %tuple, %tuple, %tuple) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -64,22 +64,22 @@ var c: [(); 5] = ((), (), (), (), (),);
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc11_14: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_14: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc11_9.2: type = converted %int.make_type_32, %.loc11_9.1 [template = i32]
// CHECK:STDOUT: %.loc11_15: type = array_type %.loc11_14, i32 [template = constants.%.3]
// CHECK:STDOUT: %a.var: ref %.3 = var a
// CHECK:STDOUT: %a: ref %.3 = bind_name a, %a.var
// CHECK:STDOUT: %.loc12_9.1: Core.BigInt = int_literal 64 [template = constants.%.7]
// CHECK:STDOUT: %.loc12_9.1: Core.BigInt = int_value 64 [template = constants.%.7]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc12_9.1) [template = f64]
// CHECK:STDOUT: %.loc12_14: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc12_14: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc12_9.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc12_9.3: type = converted %float.make_type, %.loc12_9.2 [template = f64]
// CHECK:STDOUT: %.loc12_15: type = array_type %.loc12_14, f64 [template = constants.%.9]
// CHECK:STDOUT: %b.var: ref %.9 = var b
// CHECK:STDOUT: %b: ref %.9 = bind_name b, %b.var
// CHECK:STDOUT: %.loc13_10.1: %.1 = tuple_literal ()
// CHECK:STDOUT: %.loc13_13: i32 = int_literal 5 [template = constants.%.14]
// CHECK:STDOUT: %.loc13_13: i32 = int_value 5 [template = constants.%.14]
// CHECK:STDOUT: %.loc13_10.2: type = converted %.loc13_10.1, constants.%.1 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_14: type = array_type %.loc13_13, %.1 [template = constants.%.15]
// CHECK:STDOUT: %c.var: ref %.15 = var c
@@ -92,9 +92,9 @@ var c: [(); 5] = ((), (), (), (), (),);
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11_20: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_20: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_22.1: %.5 = tuple_literal (%.loc11_20)
// CHECK:STDOUT: %.loc11_22.2: i32 = int_literal 0 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_22.2: i32 = int_value 0 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_22.3: ref i32 = array_index file.%a.var, %.loc11_22.2
// CHECK:STDOUT: %.loc11_22.4: init i32 = initialize_from %.loc11_20 to %.loc11_22.3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_22.5: init %.3 = array_init (%.loc11_22.4) to file.%a.var [template = constants.%array.1]
@@ -103,10 +103,10 @@ var c: [(); 5] = ((), (), (), (), (),);
// CHECK:STDOUT: %.loc12_20: f64 = float_literal 11.100000000000001 [template = constants.%.11]
// CHECK:STDOUT: %.loc12_26: f64 = float_literal 2.2000000000000002 [template = constants.%.12]
// CHECK:STDOUT: %.loc12_30.1: %.13 = tuple_literal (%.loc12_20, %.loc12_26)
// CHECK:STDOUT: %.loc12_30.2: i32 = int_literal 0 [template = constants.%.6]
// CHECK:STDOUT: %.loc12_30.2: i32 = int_value 0 [template = constants.%.6]
// CHECK:STDOUT: %.loc12_30.3: ref f64 = array_index file.%b.var, %.loc12_30.2
// CHECK:STDOUT: %.loc12_30.4: init f64 = initialize_from %.loc12_20 to %.loc12_30.3 [template = constants.%.11]
// CHECK:STDOUT: %.loc12_30.5: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_30.5: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_30.6: ref f64 = array_index file.%b.var, %.loc12_30.5
// CHECK:STDOUT: %.loc12_30.7: init f64 = initialize_from %.loc12_26 to %.loc12_30.6 [template = constants.%.12]
// CHECK:STDOUT: %.loc12_30.8: init %.9 = array_init (%.loc12_30.4, %.loc12_30.7) to file.%b.var [template = constants.%array.2]
@@ -118,23 +118,23 @@ var c: [(); 5] = ((), (), (), (), (),);
// CHECK:STDOUT: %.loc13_32.1: %.1 = tuple_literal ()
// CHECK:STDOUT: %.loc13_36.1: %.1 = tuple_literal ()
// CHECK:STDOUT: %.loc13_38.1: %.17 = tuple_literal (%.loc13_20.1, %.loc13_24.1, %.loc13_28.1, %.loc13_32.1, %.loc13_36.1)
// CHECK:STDOUT: %.loc13_38.2: i32 = int_literal 0 [template = constants.%.6]
// CHECK:STDOUT: %.loc13_38.2: i32 = int_value 0 [template = constants.%.6]
// CHECK:STDOUT: %.loc13_38.3: ref %.1 = array_index file.%c.var, %.loc13_38.2
// CHECK:STDOUT: %.loc13_20.2: init %.1 = tuple_init () to %.loc13_38.3 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.4: init %.1 = converted %.loc13_20.1, %.loc13_20.2 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.5: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_38.5: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_38.6: ref %.1 = array_index file.%c.var, %.loc13_38.5
// CHECK:STDOUT: %.loc13_24.2: init %.1 = tuple_init () to %.loc13_38.6 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.7: init %.1 = converted %.loc13_24.1, %.loc13_24.2 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.8: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_38.8: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_38.9: ref %.1 = array_index file.%c.var, %.loc13_38.8
// CHECK:STDOUT: %.loc13_28.2: init %.1 = tuple_init () to %.loc13_38.9 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.10: init %.1 = converted %.loc13_28.1, %.loc13_28.2 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.11: i32 = int_literal 3 [template = constants.%.18]
// CHECK:STDOUT: %.loc13_38.11: i32 = int_value 3 [template = constants.%.18]
// CHECK:STDOUT: %.loc13_38.12: ref %.1 = array_index file.%c.var, %.loc13_38.11
// CHECK:STDOUT: %.loc13_32.2: init %.1 = tuple_init () to %.loc13_38.12 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.13: init %.1 = converted %.loc13_32.1, %.loc13_32.2 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.14: i32 = int_literal 4 [template = constants.%.19]
// CHECK:STDOUT: %.loc13_38.14: i32 = int_value 4 [template = constants.%.19]
// CHECK:STDOUT: %.loc13_38.15: ref %.1 = array_index file.%c.var, %.loc13_38.14
// CHECK:STDOUT: %.loc13_36.2: init %.1 = tuple_init () to %.loc13_38.15 [template = constants.%tuple]
// CHECK:STDOUT: %.loc13_38.16: init %.1 = converted %.loc13_36.1, %.loc13_36.2 [template = constants.%tuple]
+13 -13
View File
@@ -21,13 +21,13 @@ let b: [i32; 3]* = &a;
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Add.type: type = fn_type @Add [template]
// CHECK:STDOUT: %Add: %Add.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 3 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %.7: type = tuple_type (i32, i32, i32) [template]
// CHECK:STDOUT: %.8: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.8: i32 = int_value 0 [template]
// CHECK:STDOUT: %array: %.5 = tuple_value (%.2, %.3, %.4) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -74,8 +74,8 @@ let b: [i32; 3]* = &a;
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc13: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Add.ref: %Add.type = name_ref Add, %Add.decl [template = constants.%Add]
// CHECK:STDOUT: %.loc13_18: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_21: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc13_18: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_21: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.sadd: init i32 = call %Add.ref(%.loc13_18, %.loc13_21) [template = constants.%.4]
// CHECK:STDOUT: %.loc13_9.1: type = value_of_initializer %int.make_type_32.loc13 [template = i32]
// CHECK:STDOUT: %.loc13_9.2: type = converted %int.make_type_32.loc13, %.loc13_9.1 [template = i32]
@@ -83,7 +83,7 @@ let b: [i32; 3]* = &a;
// CHECK:STDOUT: %a.var: ref %.5 = var a
// CHECK:STDOUT: %a: ref %.5 = bind_name a, %a.var
// CHECK:STDOUT: %int.make_type_32.loc14: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc14_14: i32 = int_literal 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc14_14: i32 = int_value 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc14_9.1: type = value_of_initializer %int.make_type_32.loc14 [template = i32]
// CHECK:STDOUT: %.loc14_9.2: type = converted %int.make_type_32.loc14, %.loc14_9.1 [template = i32]
// CHECK:STDOUT: %.loc14_15: type = array_type %.loc14_14, i32 [template = constants.%.5]
@@ -96,17 +96,17 @@ let b: [i32; 3]* = &a;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc13_28: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_31: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc13_34: i32 = int_literal 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc13_28: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_31: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc13_34: i32 = int_value 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc13_35.1: %.7 = tuple_literal (%.loc13_28, %.loc13_31, %.loc13_34)
// CHECK:STDOUT: %.loc13_35.2: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_35.2: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_35.3: ref i32 = array_index file.%a.var, %.loc13_35.2
// CHECK:STDOUT: %.loc13_35.4: init i32 = initialize_from %.loc13_28 to %.loc13_35.3 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_35.5: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_35.5: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_35.6: ref i32 = array_index file.%a.var, %.loc13_35.5
// CHECK:STDOUT: %.loc13_35.7: init i32 = initialize_from %.loc13_31 to %.loc13_35.6 [template = constants.%.3]
// CHECK:STDOUT: %.loc13_35.8: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc13_35.8: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc13_35.9: ref i32 = array_index file.%a.var, %.loc13_35.8
// CHECK:STDOUT: %.loc13_35.10: init i32 = initialize_from %.loc13_34 to %.loc13_35.9 [template = constants.%.4]
// CHECK:STDOUT: %.loc13_35.11: init %.5 = array_init (%.loc13_35.4, %.loc13_35.7, %.loc13_35.10) to file.%a.var [template = constants.%array]
+3 -3
View File
@@ -23,8 +23,8 @@ var a: [i32; Negate(1)];
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value -1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -62,7 +62,7 @@ var a: [i32; Negate(1)];
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Negate.ref: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc16_21: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc16_21: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate: init i32 = call %Negate.ref(%.loc16_21) [template = constants.%.3]
// CHECK:STDOUT: %.loc16_9.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc16_9.2: type = converted %int.make_type_32, %.loc16_9.1 [template = i32]
+2 -2
View File
@@ -35,7 +35,7 @@ var b: [1; 39999999999999999993];
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
// CHECK:STDOUT: %Dest: type = bind_symbolic_name Dest, 0 [symbolic]
@@ -84,7 +84,7 @@ var b: [1; 39999999999999999993];
// CHECK:STDOUT: %.loc18_34: type = array_type <error>, i32 [template = <error>]
// CHECK:STDOUT: %a.var: ref <error> = var a
// CHECK:STDOUT: %a: ref <error> = bind_name a, %a.var
// CHECK:STDOUT: %.loc30_9.1: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_9.1: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %ImplicitAs.type: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%ImplicitAs.type.3]
// CHECK:STDOUT: %.loc30_9.2: %.5 = specific_constant imports.%import_ref.4, @ImplicitAs(type) [template = constants.%.6]
// CHECK:STDOUT: %Convert.ref: %.5 = name_ref Convert, %.loc30_9.2 [template = constants.%.6]
@@ -24,10 +24,10 @@ var p: Incomplete* = &a[0];
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %Incomplete: type = class_type @Incomplete [template]
// CHECK:STDOUT: %.1: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.1: i32 = int_value 1 [template]
// CHECK:STDOUT: %.2: type = array_type %.1, %Incomplete [template]
// CHECK:STDOUT: %.3: type = ptr_type %Incomplete [template]
// CHECK:STDOUT: %.4: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.4: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -47,7 +47,7 @@ var p: Incomplete* = &a[0];
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %Incomplete.decl: type = class_decl @Incomplete [template = constants.%Incomplete] {} {}
// CHECK:STDOUT: %Incomplete.ref.loc19: type = name_ref Incomplete, %Incomplete.decl [template = constants.%Incomplete]
// CHECK:STDOUT: %.loc19_21: i32 = int_literal 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc19_21: i32 = int_value 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc19_22: type = array_type %.loc19_21, %Incomplete [template = constants.%.2]
// CHECK:STDOUT: %a.var: ref <error> = var a
// CHECK:STDOUT: %a: ref <error> = bind_name a, %a.var
@@ -62,7 +62,7 @@ var p: Incomplete* = &a[0];
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %a.ref: ref <error> = name_ref a, file.%a
// CHECK:STDOUT: %.loc21_25: i32 = int_literal 0 [template = constants.%.4]
// CHECK:STDOUT: %.loc21_25: i32 = int_value 0 [template = constants.%.4]
// CHECK:STDOUT: %.loc21_22: <error> = addr_of <error> [template = <error>]
// CHECK:STDOUT: assign file.%p.var, <error>
// CHECK:STDOUT: return
+3 -3
View File
@@ -19,7 +19,7 @@ var a: [1; 1];
// CHECK:STDOUT: --- fail_invalid_type.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.1: i32 = int_value 1 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
@@ -60,8 +60,8 @@ var a: [1; 1];
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %.loc17_9.1: i32 = int_literal 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_12: i32 = int_literal 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_9.1: i32 = int_value 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_12: i32 = int_value 1 [template = constants.%.1]
// CHECK:STDOUT: %ImplicitAs.type: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%ImplicitAs.type.3]
// CHECK:STDOUT: %.loc17_9.2: %.5 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.6]
// CHECK:STDOUT: %Convert.ref: %.5 = name_ref Convert, %.loc17_9.2 [template = constants.%.6]
+7 -7
View File
@@ -19,11 +19,11 @@ var a: [i32; 1] = (1, 2, 3);
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.5: i32 = int_value 2 [template]
// CHECK:STDOUT: %.6: i32 = int_value 3 [template]
// CHECK:STDOUT: %.7: type = tuple_type (i32, i32, i32) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -43,7 +43,7 @@ var a: [i32; 1] = (1, 2, 3);
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc14_14: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_14: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_9.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc14_9.2: type = converted %int.make_type_32, %.loc14_9.1 [template = i32]
// CHECK:STDOUT: %.loc14_15: type = array_type %.loc14_14, i32 [template = constants.%.3]
@@ -55,9 +55,9 @@ var a: [i32; 1] = (1, 2, 3);
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc14_20: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_23: i32 = int_literal 2 [template = constants.%.5]
// CHECK:STDOUT: %.loc14_26: i32 = int_literal 3 [template = constants.%.6]
// CHECK:STDOUT: %.loc14_20: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_23: i32 = int_value 2 [template = constants.%.5]
// CHECK:STDOUT: %.loc14_26: i32 = int_value 3 [template = constants.%.6]
// CHECK:STDOUT: %.loc14_27: %.7 = tuple_literal (%.loc14_20, %.loc14_23, %.loc14_26)
// CHECK:STDOUT: assign file.%a.var, <error>
// CHECK:STDOUT: return
@@ -20,13 +20,13 @@ var b: i32 = a[{.index = 3}.index];
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: type = tuple_type (i32, i32, i32) [template]
// CHECK:STDOUT: %.8: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.8: i32 = int_value 0 [template]
// CHECK:STDOUT: %array: %.3 = tuple_value (%.5, %.6, %.2) [template]
// CHECK:STDOUT: %.9: type = struct_type {.index: i32} [template]
// CHECK:STDOUT: %struct: %.9 = struct_value (%.2) [template]
@@ -49,7 +49,7 @@ var b: i32 = a[{.index = 3}.index];
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc11_14: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_14: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32]
// CHECK:STDOUT: %.loc11_9.2: type = converted %int.make_type_32.loc11, %.loc11_9.1 [template = i32]
// CHECK:STDOUT: %.loc11_15: type = array_type %.loc11_14, i32 [template = constants.%.3]
@@ -66,24 +66,24 @@ var b: i32 = a[{.index = 3}.index];
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11_20: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_23: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_26: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_20: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_23: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_26: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_27.1: %.7 = tuple_literal (%.loc11_20, %.loc11_23, %.loc11_26)
// CHECK:STDOUT: %.loc11_27.2: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_27.2: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_27.3: ref i32 = array_index file.%a.var, %.loc11_27.2
// CHECK:STDOUT: %.loc11_27.4: init i32 = initialize_from %.loc11_20 to %.loc11_27.3 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27.5: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27.5: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27.6: ref i32 = array_index file.%a.var, %.loc11_27.5
// CHECK:STDOUT: %.loc11_27.7: init i32 = initialize_from %.loc11_23 to %.loc11_27.6 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_27.8: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_27.8: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_27.9: ref i32 = array_index file.%a.var, %.loc11_27.8
// CHECK:STDOUT: %.loc11_27.10: init i32 = initialize_from %.loc11_26 to %.loc11_27.9 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_27.11: init %.3 = array_init (%.loc11_27.4, %.loc11_27.7, %.loc11_27.10) to file.%a.var [template = constants.%array]
// CHECK:STDOUT: %.loc11_28: init %.3 = converted %.loc11_27.1, %.loc11_27.11 [template = constants.%array]
// CHECK:STDOUT: assign file.%a.var, %.loc11_28
// CHECK:STDOUT: %a.ref: ref %.3 = name_ref a, file.%a
// CHECK:STDOUT: %.loc15_26: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc15_26: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc15_27.1: %.9 = struct_literal (%.loc15_26)
// CHECK:STDOUT: %struct: %.9 = struct_value (%.loc15_26) [template = constants.%struct]
// CHECK:STDOUT: %.loc15_27.2: %.9 = converted %.loc15_27.1, %struct [template = constants.%struct]
+13 -13
View File
@@ -45,15 +45,15 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: type = ptr_type String [template]
// CHECK:STDOUT: %.7: String = string_literal "Hello" [template]
// CHECK:STDOUT: %.8: String = string_literal "World" [template]
// CHECK:STDOUT: %.9: type = tuple_type (i32, String, String) [template]
// CHECK:STDOUT: %.10: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.10: i32 = int_value 0 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
// CHECK:STDOUT: %Dest: type = bind_symbolic_name Dest, 0 [symbolic]
@@ -74,7 +74,7 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT: %.16: type = tuple_type (type, type, type) [template]
// CHECK:STDOUT: %.17: type = tuple_type (i32, %.6, %.6) [template]
// CHECK:STDOUT: %.18: type = ptr_type %.17 [template]
// CHECK:STDOUT: %.19: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.19: i32 = int_value 2 [template]
// CHECK:STDOUT: %.20: type = tuple_type (i32, i32) [template]
// CHECK:STDOUT: %.21: type = tuple_type (type, type) [template]
// CHECK:STDOUT: %.22: type = ptr_type %.20 [template]
@@ -108,7 +108,7 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %int.make_type_32.loc18: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc18_14: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc18_14: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc18_9.1: type = value_of_initializer %int.make_type_32.loc18 [template = i32]
// CHECK:STDOUT: %.loc18_9.2: type = converted %int.make_type_32.loc18, %.loc18_9.1 [template = i32]
// CHECK:STDOUT: %.loc18_15: type = array_type %.loc18_14, i32 [template = constants.%.3]
@@ -122,14 +122,14 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT: %t1.var: ref %.9 = var t1
// CHECK:STDOUT: %t1: ref %.9 = bind_name t1, %t1.var
// CHECK:STDOUT: %int.make_type_32.loc28: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc28_14: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc28_14: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc28_9.1: type = value_of_initializer %int.make_type_32.loc28 [template = i32]
// CHECK:STDOUT: %.loc28_9.2: type = converted %int.make_type_32.loc28, %.loc28_9.1 [template = i32]
// CHECK:STDOUT: %.loc28_15: type = array_type %.loc28_14, i32 [template = constants.%.3]
// CHECK:STDOUT: %b.var: ref %.3 = var b
// CHECK:STDOUT: %b: ref %.3 = bind_name b, %b.var
// CHECK:STDOUT: %int.make_type_32.loc34: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc34_14: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc34_14: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc34_9.1: type = value_of_initializer %int.make_type_32.loc34 [template = i32]
// CHECK:STDOUT: %.loc34_9.2: type = converted %int.make_type_32.loc34, %.loc34_9.1 [template = i32]
// CHECK:STDOUT: %.loc34_15: type = array_type %.loc34_14, i32 [template = constants.%.3]
@@ -146,7 +146,7 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT: %t2.var: ref %.20 = var t2
// CHECK:STDOUT: %t2: ref %.20 = bind_name t2, %t2.var
// CHECK:STDOUT: %int.make_type_32.loc40: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc40_14: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc40_14: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc40_9.1: type = value_of_initializer %int.make_type_32.loc40 [template = i32]
// CHECK:STDOUT: %.loc40_9.2: type = converted %int.make_type_32.loc40, %.loc40_9.1 [template = i32]
// CHECK:STDOUT: %.loc40_15: type = array_type %.loc40_14, i32 [template = constants.%.3]
@@ -186,11 +186,11 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc18_20: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc18_20: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc18_23: String = string_literal "Hello" [template = constants.%.7]
// CHECK:STDOUT: %.loc18_32: String = string_literal "World" [template = constants.%.8]
// CHECK:STDOUT: %.loc18_39.1: %.9 = tuple_literal (%.loc18_20, %.loc18_23, %.loc18_32)
// CHECK:STDOUT: %.loc18_39.2: i32 = int_literal 0 [template = constants.%.10]
// CHECK:STDOUT: %.loc18_39.2: i32 = int_value 0 [template = constants.%.10]
// CHECK:STDOUT: %.loc18_39.3: ref i32 = array_index file.%a.var, %.loc18_39.2
// CHECK:STDOUT: %.loc18_39.4: init i32 = initialize_from %.loc18_20 to %.loc18_39.3 [template = constants.%.5]
// CHECK:STDOUT: %ImplicitAs.type.loc18: type = interface_type @ImplicitAs, @ImplicitAs(i32) [template = constants.%ImplicitAs.type.3]
@@ -201,7 +201,7 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT: %t1.ref: ref %.9 = name_ref t1, file.%t1
// CHECK:STDOUT: %.loc28_19.1: ref i32 = tuple_access %t1.ref, element0
// CHECK:STDOUT: %.loc28_19.2: i32 = bind_value %.loc28_19.1
// CHECK:STDOUT: %.loc28_19.3: i32 = int_literal 0 [template = constants.%.10]
// CHECK:STDOUT: %.loc28_19.3: i32 = int_value 0 [template = constants.%.10]
// CHECK:STDOUT: %.loc28_19.4: ref i32 = array_index file.%b.var, %.loc28_19.3
// CHECK:STDOUT: %.loc28_19.5: init i32 = initialize_from %.loc28_19.2 to %.loc28_19.4
// CHECK:STDOUT: %.loc28_19.6: ref String = tuple_access %t1.ref, element1
@@ -210,8 +210,8 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT: %Convert.ref.loc28: %.13 = name_ref Convert, %.loc28_19.7 [template = constants.%.14]
// CHECK:STDOUT: %.loc28_19.8: i32 = converted %.loc28_19.6, <error> [template = <error>]
// CHECK:STDOUT: assign file.%b.var, <error>
// CHECK:STDOUT: %.loc34_20: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc34_23: i32 = int_literal 2 [template = constants.%.19]
// CHECK:STDOUT: %.loc34_20: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc34_23: i32 = int_value 2 [template = constants.%.19]
// CHECK:STDOUT: %.loc34_24: %.20 = tuple_literal (%.loc34_20, %.loc34_23)
// CHECK:STDOUT: assign file.%c.var, <error>
// CHECK:STDOUT: %t2.ref: ref %.20 = name_ref t2, file.%t2
+12 -12
View File
@@ -22,17 +22,17 @@ fn G() -> i32 {
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: type = tuple_type (i32, i32, i32) [template]
// CHECK:STDOUT: %.8: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.8: i32 = int_value 0 [template]
// CHECK:STDOUT: %array: %.3 = tuple_value (%.5, %.6, %.2) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -61,7 +61,7 @@ fn G() -> i32 {
// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %int.make_type_32.loc11_12: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc11_17: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_17: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_12.1: type = value_of_initializer %int.make_type_32.loc11_12 [template = i32]
// CHECK:STDOUT: %.loc11_12.2: type = converted %int.make_type_32.loc11_12, %.loc11_12.1 [template = i32]
// CHECK:STDOUT: %.loc11_18: type = array_type %.loc11_17, i32 [template = constants.%.3]
@@ -105,19 +105,19 @@ fn G() -> i32 {
// CHECK:STDOUT: fn @G() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F]
// CHECK:STDOUT: %.loc16_13: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc16_16: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc16_19: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc16_13: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc16_16: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc16_19: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc16_20.1: %.7 = tuple_literal (%.loc16_13, %.loc16_16, %.loc16_19)
// CHECK:STDOUT: %.loc16_23: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc16_23: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc16_20.2: ref %.3 = temporary_storage
// CHECK:STDOUT: %.loc16_20.3: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc16_20.3: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc16_20.4: ref i32 = array_index %.loc16_20.2, %.loc16_20.3
// CHECK:STDOUT: %.loc16_20.5: init i32 = initialize_from %.loc16_13 to %.loc16_20.4 [template = constants.%.5]
// CHECK:STDOUT: %.loc16_20.6: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc16_20.6: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc16_20.7: ref i32 = array_index %.loc16_20.2, %.loc16_20.6
// CHECK:STDOUT: %.loc16_20.8: init i32 = initialize_from %.loc16_16 to %.loc16_20.7 [template = constants.%.6]
// CHECK:STDOUT: %.loc16_20.9: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc16_20.9: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc16_20.10: ref i32 = array_index %.loc16_20.2, %.loc16_20.9
// CHECK:STDOUT: %.loc16_20.11: init i32 = initialize_from %.loc16_19 to %.loc16_20.10 [template = constants.%.2]
// CHECK:STDOUT: %.loc16_20.12: init %.3 = array_init (%.loc16_20.5, %.loc16_20.8, %.loc16_20.11) to %.loc16_20.2 [template = constants.%array]
+2 -2
View File
@@ -21,7 +21,7 @@ fn G(T:! type) {
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 0 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, %T [symbolic]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [symbolic]
// CHECK:STDOUT: %array: %.3 = tuple_value () [symbolic]
@@ -60,7 +60,7 @@ fn G(T:! type) {
// CHECK:STDOUT: fn(%T.param_patt: type) {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)]
// CHECK:STDOUT: %.loc13_16: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_16: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_17.1: type = array_type %.loc13_16, %T [symbolic = %.loc13_17.2 (constants.%.3)]
// CHECK:STDOUT: %arr.var: ref @G.%.loc13_17.2 (%.3) = var arr
// CHECK:STDOUT: %arr: ref @G.%.loc13_17.2 (%.3) = bind_name arr, %arr.var
+12 -12
View File
@@ -17,13 +17,13 @@ var b: i32 = a[{.index = 2}.index];
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: type = tuple_type (i32, i32, i32) [template]
// CHECK:STDOUT: %.8: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.8: i32 = int_value 0 [template]
// CHECK:STDOUT: %array: %.3 = tuple_value (%.5, %.6, %.2) [template]
// CHECK:STDOUT: %.9: type = struct_type {.index: i32} [template]
// CHECK:STDOUT: %struct: %.9 = struct_value (%.6) [template]
@@ -46,7 +46,7 @@ var b: i32 = a[{.index = 2}.index];
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc11_14: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_14: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32]
// CHECK:STDOUT: %.loc11_9.2: type = converted %int.make_type_32.loc11, %.loc11_9.1 [template = i32]
// CHECK:STDOUT: %.loc11_15: type = array_type %.loc11_14, i32 [template = constants.%.3]
@@ -63,24 +63,24 @@ var b: i32 = a[{.index = 2}.index];
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11_20: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_23: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_26: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_20: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_23: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_26: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_27.1: %.7 = tuple_literal (%.loc11_20, %.loc11_23, %.loc11_26)
// CHECK:STDOUT: %.loc11_27.2: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_27.2: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_27.3: ref i32 = array_index file.%a.var, %.loc11_27.2
// CHECK:STDOUT: %.loc11_27.4: init i32 = initialize_from %.loc11_20 to %.loc11_27.3 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27.5: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27.5: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27.6: ref i32 = array_index file.%a.var, %.loc11_27.5
// CHECK:STDOUT: %.loc11_27.7: init i32 = initialize_from %.loc11_23 to %.loc11_27.6 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_27.8: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_27.8: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_27.9: ref i32 = array_index file.%a.var, %.loc11_27.8
// CHECK:STDOUT: %.loc11_27.10: init i32 = initialize_from %.loc11_26 to %.loc11_27.9 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_27.11: init %.3 = array_init (%.loc11_27.4, %.loc11_27.7, %.loc11_27.10) to file.%a.var [template = constants.%array]
// CHECK:STDOUT: %.loc11_28: init %.3 = converted %.loc11_27.1, %.loc11_27.11 [template = constants.%array]
// CHECK:STDOUT: assign file.%a.var, %.loc11_28
// CHECK:STDOUT: %a.ref: ref %.3 = name_ref a, file.%a
// CHECK:STDOUT: %.loc12_26: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc12_26: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc12_27.1: %.9 = struct_literal (%.loc12_26)
// CHECK:STDOUT: %struct: %.9 = struct_value (%.loc12_26) [template = constants.%struct]
// CHECK:STDOUT: %.loc12_27.2: %.9 = converted %.loc12_27.1, %struct [template = constants.%struct]
+29 -29
View File
@@ -16,19 +16,19 @@ var a: [i32; 9] = (1, 2, 3, 4, 5, 6, 7, 8, 9);
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 9 [template]
// CHECK:STDOUT: %.2: i32 = int_value 9 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 4 [template]
// CHECK:STDOUT: %.9: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.10: i32 = int_literal 6 [template]
// CHECK:STDOUT: %.11: i32 = int_literal 7 [template]
// CHECK:STDOUT: %.12: i32 = int_literal 8 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: i32 = int_value 3 [template]
// CHECK:STDOUT: %.8: i32 = int_value 4 [template]
// CHECK:STDOUT: %.9: i32 = int_value 5 [template]
// CHECK:STDOUT: %.10: i32 = int_value 6 [template]
// CHECK:STDOUT: %.11: i32 = int_value 7 [template]
// CHECK:STDOUT: %.12: i32 = int_value 8 [template]
// CHECK:STDOUT: %.13: type = tuple_type (i32, i32, i32, i32, i32, i32, i32, i32, i32) [template]
// CHECK:STDOUT: %.14: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.14: i32 = int_value 0 [template]
// CHECK:STDOUT: %array: %.3 = tuple_value (%.5, %.6, %.7, %.8, %.9, %.10, %.11, %.12, %.2) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -48,7 +48,7 @@ var a: [i32; 9] = (1, 2, 3, 4, 5, 6, 7, 8, 9);
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc11_14: i32 = int_literal 9 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_14: i32 = int_value 9 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc11_9.2: type = converted %int.make_type_32, %.loc11_9.1 [template = i32]
// CHECK:STDOUT: %.loc11_15: type = array_type %.loc11_14, i32 [template = constants.%.3]
@@ -60,41 +60,41 @@ var a: [i32; 9] = (1, 2, 3, 4, 5, 6, 7, 8, 9);
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11_20: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_23: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_26: i32 = int_literal 3 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_29: i32 = int_literal 4 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_32: i32 = int_literal 5 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_35: i32 = int_literal 6 [template = constants.%.10]
// CHECK:STDOUT: %.loc11_38: i32 = int_literal 7 [template = constants.%.11]
// CHECK:STDOUT: %.loc11_41: i32 = int_literal 8 [template = constants.%.12]
// CHECK:STDOUT: %.loc11_44: i32 = int_literal 9 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_20: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_23: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_26: i32 = int_value 3 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_29: i32 = int_value 4 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_32: i32 = int_value 5 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_35: i32 = int_value 6 [template = constants.%.10]
// CHECK:STDOUT: %.loc11_38: i32 = int_value 7 [template = constants.%.11]
// CHECK:STDOUT: %.loc11_41: i32 = int_value 8 [template = constants.%.12]
// CHECK:STDOUT: %.loc11_44: i32 = int_value 9 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_45.1: %.13 = tuple_literal (%.loc11_20, %.loc11_23, %.loc11_26, %.loc11_29, %.loc11_32, %.loc11_35, %.loc11_38, %.loc11_41, %.loc11_44)
// CHECK:STDOUT: %.loc11_45.2: i32 = int_literal 0 [template = constants.%.14]
// CHECK:STDOUT: %.loc11_45.2: i32 = int_value 0 [template = constants.%.14]
// CHECK:STDOUT: %.loc11_45.3: ref i32 = array_index file.%a.var, %.loc11_45.2
// CHECK:STDOUT: %.loc11_45.4: init i32 = initialize_from %.loc11_20 to %.loc11_45.3 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_45.5: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_45.5: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_45.6: ref i32 = array_index file.%a.var, %.loc11_45.5
// CHECK:STDOUT: %.loc11_45.7: init i32 = initialize_from %.loc11_23 to %.loc11_45.6 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_45.8: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_45.8: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc11_45.9: ref i32 = array_index file.%a.var, %.loc11_45.8
// CHECK:STDOUT: %.loc11_45.10: init i32 = initialize_from %.loc11_26 to %.loc11_45.9 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_45.11: i32 = int_literal 3 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_45.11: i32 = int_value 3 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_45.12: ref i32 = array_index file.%a.var, %.loc11_45.11
// CHECK:STDOUT: %.loc11_45.13: init i32 = initialize_from %.loc11_29 to %.loc11_45.12 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_45.14: i32 = int_literal 4 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_45.14: i32 = int_value 4 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_45.15: ref i32 = array_index file.%a.var, %.loc11_45.14
// CHECK:STDOUT: %.loc11_45.16: init i32 = initialize_from %.loc11_32 to %.loc11_45.15 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_45.17: i32 = int_literal 5 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_45.17: i32 = int_value 5 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_45.18: ref i32 = array_index file.%a.var, %.loc11_45.17
// CHECK:STDOUT: %.loc11_45.19: init i32 = initialize_from %.loc11_35 to %.loc11_45.18 [template = constants.%.10]
// CHECK:STDOUT: %.loc11_45.20: i32 = int_literal 6 [template = constants.%.10]
// CHECK:STDOUT: %.loc11_45.20: i32 = int_value 6 [template = constants.%.10]
// CHECK:STDOUT: %.loc11_45.21: ref i32 = array_index file.%a.var, %.loc11_45.20
// CHECK:STDOUT: %.loc11_45.22: init i32 = initialize_from %.loc11_38 to %.loc11_45.21 [template = constants.%.11]
// CHECK:STDOUT: %.loc11_45.23: i32 = int_literal 7 [template = constants.%.11]
// CHECK:STDOUT: %.loc11_45.23: i32 = int_value 7 [template = constants.%.11]
// CHECK:STDOUT: %.loc11_45.24: ref i32 = array_index file.%a.var, %.loc11_45.23
// CHECK:STDOUT: %.loc11_45.25: init i32 = initialize_from %.loc11_41 to %.loc11_45.24 [template = constants.%.12]
// CHECK:STDOUT: %.loc11_45.26: i32 = int_literal 8 [template = constants.%.12]
// CHECK:STDOUT: %.loc11_45.26: i32 = int_value 8 [template = constants.%.12]
// CHECK:STDOUT: %.loc11_45.27: ref i32 = array_index file.%a.var, %.loc11_45.26
// CHECK:STDOUT: %.loc11_45.28: init i32 = initialize_from %.loc11_44 to %.loc11_45.27 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_45.29: init %.3 = array_init (%.loc11_45.4, %.loc11_45.7, %.loc11_45.10, %.loc11_45.13, %.loc11_45.16, %.loc11_45.19, %.loc11_45.22, %.loc11_45.25, %.loc11_45.28) to file.%a.var [template = constants.%array]
+16 -16
View File
@@ -118,8 +118,8 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT: %.3: type = struct_type {.x: i32, .y: i32} [template]
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.6: i32 = int_value 1 [template]
// CHECK:STDOUT: %.7: i32 = int_value 2 [template]
// CHECK:STDOUT: %struct: %A = struct_value (%.6, %.7) [template]
// CHECK:STDOUT: %B: type = class_type @B [template]
// CHECK:STDOUT: %.8: <witness> = complete_type_witness %A [template]
@@ -200,8 +200,8 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @Make() -> %return: %A {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc9_18: i32 = int_literal 1 [template = constants.%.6]
// CHECK:STDOUT: %.loc9_26: i32 = int_literal 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_18: i32 = int_value 1 [template = constants.%.6]
// CHECK:STDOUT: %.loc9_26: i32 = int_value 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_27.1: %.3 = struct_literal (%.loc9_18, %.loc9_26)
// CHECK:STDOUT: %.loc9_27.2: ref i32 = class_element_access %return, element0
// CHECK:STDOUT: %.loc9_27.3: init i32 = initialize_from %.loc9_18 to %.loc9_27.2 [template = constants.%.6]
@@ -214,8 +214,8 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc17_22: i32 = int_literal 1 [template = constants.%.6]
// CHECK:STDOUT: %.loc17_30: i32 = int_literal 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc17_22: i32 = int_value 1 [template = constants.%.6]
// CHECK:STDOUT: %.loc17_30: i32 = int_value 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc17_31.1: %.3 = struct_literal (%.loc17_22, %.loc17_30)
// CHECK:STDOUT: %.loc17_31.2: ref i32 = class_element_access file.%a_ref.var, element0
// CHECK:STDOUT: %.loc17_31.3: init i32 = initialize_from %.loc17_22 to %.loc17_31.2 [template = constants.%.6]
@@ -257,7 +257,7 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: <witness> = complete_type_witness i32 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -299,7 +299,7 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc8_13: i32 = int_literal 1 [template = constants.%.3]
// CHECK:STDOUT: %.loc8_13: i32 = int_value 1 [template = constants.%.3]
// CHECK:STDOUT: %int.make_type_32.loc8: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc8_18.1: type = value_of_initializer %int.make_type_32.loc8 [template = i32]
// CHECK:STDOUT: %.loc8_18.2: type = converted %int.make_type_32.loc8, %.loc8_18.1 [template = i32]
@@ -412,8 +412,8 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT: %B: type = class_type @B [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: <witness> = complete_type_witness %A [template]
// CHECK:STDOUT: %.7: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.7: i32 = int_value 1 [template]
// CHECK:STDOUT: %.8: i32 = int_value 2 [template]
// CHECK:STDOUT: %struct: %A = struct_value (%.7, %.8) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -473,8 +473,8 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc13_25: i32 = int_literal 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc13_33: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_25: i32 = int_value 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc13_33: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_34.1: %.3 = struct_literal (%.loc13_25, %.loc13_33)
// CHECK:STDOUT: %A.ref.loc13: type = name_ref A, file.%A.decl [template = constants.%A]
// CHECK:STDOUT: %.loc13_34.2: ref %A = temporary_storage
@@ -490,8 +490,8 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT: %.loc13_42.2: ref %B = converted %.loc13_36, %.loc13_42.1
// CHECK:STDOUT: %.loc13_42.3: %B = bind_value %.loc13_42.2
// CHECK:STDOUT: %b_value: %B = bind_name b_value, %.loc13_42.3
// CHECK:STDOUT: %.loc24_24: i32 = int_literal 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc24_32: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc24_24: i32 = int_value 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc24_32: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc24_33.1: %.3 = struct_literal (%.loc24_24, %.loc24_32)
// CHECK:STDOUT: %A.ref.loc24: type = name_ref A, file.%A.decl [template = constants.%A]
// CHECK:STDOUT: %.loc24_33.2: ref %A = temporary_storage
@@ -523,7 +523,7 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT: %B: type = class_type @B [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: <witness> = complete_type_witness %A [template]
// CHECK:STDOUT: %.7: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.7: i32 = int_value 1 [template]
// CHECK:STDOUT: %As.type.1: type = generic_interface_type @As [template]
// CHECK:STDOUT: %As: %As.type.1 = struct_value () [template]
// CHECK:STDOUT: %Dest: type = bind_symbolic_name Dest, 0 [symbolic]
@@ -628,7 +628,7 @@ var b: B = {.x = 1} as B;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc21_18: i32 = int_literal 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc21_18: i32 = int_value 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc21_19.1: %.3 = struct_literal (%.loc21_18)
// CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B]
// CHECK:STDOUT: %As.type: type = interface_type @As, @As(constants.%B) [template = constants.%As.type.3]
+2 -2
View File
@@ -20,7 +20,7 @@ fn Main() -> i32 {
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Main.type: type = fn_type @Main [template]
// CHECK:STDOUT: %Main: %Main.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -54,7 +54,7 @@ fn Main() -> i32 {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @Main() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc12_10: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_10: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc12_15.1: type = value_of_initializer %int.make_type_32.loc12 [template = i32]
// CHECK:STDOUT: %.loc12_15.2: type = converted %int.make_type_32.loc12, %.loc12_15.1 [template = i32]
+2 -2
View File
@@ -25,7 +25,7 @@ let n: (i32, i32) = 1 as (i32, i32);
// CHECK:STDOUT: %.2: type = tuple_type (type, type) [template]
// CHECK:STDOUT: %.3: type = tuple_type (i32, i32) [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %As.type.1: type = generic_interface_type @As [template]
// CHECK:STDOUT: %As: %As.type.1 = struct_value () [template]
// CHECK:STDOUT: %Dest: type = bind_symbolic_name Dest, 0 [symbolic]
@@ -109,7 +109,7 @@ let n: (i32, i32) = 1 as (i32, i32);
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc17_21: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc17_21: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.make_type_32.loc17_27: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %int.make_type_32.loc17_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc17_35.1: %.2 = tuple_literal (%int.make_type_32.loc17_27, %int.make_type_32.loc17_32)
+4 -4
View File
@@ -22,8 +22,8 @@ let n: i32 = 1 as 2;
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
// CHECK:STDOUT: %Dest: type = bind_symbolic_name Dest, 0 [symbolic]
@@ -102,8 +102,8 @@ let n: i32 = 1 as 2;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc17_14: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc17_19.1: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc17_14: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc17_19.1: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %ImplicitAs.type: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%ImplicitAs.type.3]
// CHECK:STDOUT: %.loc17_19.2: %.6 = specific_constant imports.%import_ref.4, @ImplicitAs(type) [template = constants.%.7]
// CHECK:STDOUT: %Convert.ref: %.6 = name_ref Convert, %.loc17_19.2 [template = constants.%.7]
+2 -2
View File
@@ -60,7 +60,7 @@ let n: i32 = ((4 as i32) as X) as i32;
// CHECK:STDOUT: %.11: type = assoc_entity_type %As.type.4, %Convert.type.5 [template]
// CHECK:STDOUT: %.12: %.11 = assoc_entity element0, imports.%import_ref.6 [template]
// CHECK:STDOUT: %.13: <witness> = interface_witness (%Convert.4) [template]
// CHECK:STDOUT: %.14: i32 = int_literal 4 [template]
// CHECK:STDOUT: %.14: i32 = int_value 4 [template]
// CHECK:STDOUT: %.15: %.5 = assoc_entity element0, imports.%import_ref.7 [symbolic]
// CHECK:STDOUT: %.16: <bound method> = bound_method %.14, %Convert.2 [template]
// CHECK:STDOUT: }
@@ -222,7 +222,7 @@ let n: i32 = ((4 as i32) as X) as i32;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc23_16: i32 = int_literal 4 [template = constants.%.14]
// CHECK:STDOUT: %.loc23_16: i32 = int_value 4 [template = constants.%.14]
// CHECK:STDOUT: %int.make_type_32.loc23_21: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc23_21.1: type = value_of_initializer %int.make_type_32.loc23_21 [template = i32]
// CHECK:STDOUT: %.loc23_21.2: type = converted %int.make_type_32.loc23_21, %.loc23_21.1 [template = i32]
+4 -4
View File
@@ -19,8 +19,8 @@ var test_type: type = i32;
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.3: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.2: i32 = int_value 0 [template]
// CHECK:STDOUT: %.3: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
// CHECK:STDOUT: %.4: f64 = float_literal 0.10000000000000001 [template]
@@ -53,7 +53,7 @@ var test_type: type = i32;
// CHECK:STDOUT: %.loc11_15.2: type = converted %int.make_type_32, %.loc11_15.1 [template = i32]
// CHECK:STDOUT: %test_i32.var: ref i32 = var test_i32
// CHECK:STDOUT: %test_i32: ref i32 = bind_name test_i32, %test_i32.var
// CHECK:STDOUT: %.loc12_15.1: Core.BigInt = int_literal 64 [template = constants.%.3]
// CHECK:STDOUT: %.loc12_15.1: Core.BigInt = int_value 64 [template = constants.%.3]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc12_15.1) [template = f64]
// CHECK:STDOUT: %.loc12_15.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc12_15.3: type = converted %float.make_type, %.loc12_15.2 [template = f64]
@@ -69,7 +69,7 @@ var test_type: type = i32;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc11: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: assign file.%test_i32.var, %.loc11
// CHECK:STDOUT: %.loc12: f64 = float_literal 0.10000000000000001 [template = constants.%.4]
// CHECK:STDOUT: assign file.%test_f64.var, %.loc12
@@ -19,7 +19,7 @@ var x: type = 42;
// CHECK:STDOUT: --- fail_non_type_as_type.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: i32 = int_literal 42 [template]
// CHECK:STDOUT: %.1: i32 = int_value 42 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
@@ -94,7 +94,7 @@ var x: type = 42;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc17_15: i32 = int_literal 42 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_15: i32 = int_value 42 [template = constants.%.1]
// CHECK:STDOUT: %ImplicitAs.type: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%ImplicitAs.type.3]
// CHECK:STDOUT: %.loc17_17.1: %.5 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.6]
// CHECK:STDOUT: %Convert.ref: %.5 = name_ref Convert, %.loc17_17.1 [template = constants.%.6]
@@ -43,7 +43,7 @@ let e: f64 = 5.0e39999999999999999993;
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.2: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -78,11 +78,11 @@ let e: f64 = 5.0e39999999999999999993;
// CHECK:STDOUT: %int.make_type_32.loc27: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc27_8.1: type = value_of_initializer %int.make_type_32.loc27 [template = i32]
// CHECK:STDOUT: %.loc27_8.2: type = converted %int.make_type_32.loc27, %.loc27_8.1 [template = i32]
// CHECK:STDOUT: %.loc33_8.1: Core.BigInt = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc33_8.1: Core.BigInt = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %float.make_type.loc33: init type = call constants.%Float(%.loc33_8.1) [template = f64]
// CHECK:STDOUT: %.loc33_8.2: type = value_of_initializer %float.make_type.loc33 [template = f64]
// CHECK:STDOUT: %.loc33_8.3: type = converted %float.make_type.loc33, %.loc33_8.2 [template = f64]
// CHECK:STDOUT: %.loc38_8.1: Core.BigInt = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc38_8.1: Core.BigInt = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %float.make_type.loc38: init type = call constants.%Float(%.loc38_8.1) [template = f64]
// CHECK:STDOUT: %.loc38_8.2: type = value_of_initializer %float.make_type.loc38 [template = f64]
// CHECK:STDOUT: %.loc38_8.3: type = converted %float.make_type.loc38, %.loc38_8.2 [template = f64]
+32 -32
View File
@@ -37,21 +37,21 @@ fn F() {
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 6 [template]
// CHECK:STDOUT: %.2: i32 = int_value 6 [template]
// CHECK:STDOUT: %.3: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 8 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 9 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.5: i32 = int_value 8 [template]
// CHECK:STDOUT: %.6: i32 = int_value 9 [template]
// CHECK:STDOUT: %.7: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.8: type = tuple_type (i32, i32, i32, i32, i32, i32) [template]
// CHECK:STDOUT: %.9: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.10: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.11: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.12: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.13: i32 = int_literal 4 [template]
// CHECK:STDOUT: %.14: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.9: i32 = int_value 0 [template]
// CHECK:STDOUT: %.10: i32 = int_value 1 [template]
// CHECK:STDOUT: %.11: i32 = int_value 2 [template]
// CHECK:STDOUT: %.12: i32 = int_value 3 [template]
// CHECK:STDOUT: %.13: i32 = int_value 4 [template]
// CHECK:STDOUT: %.14: i32 = int_value 5 [template]
// CHECK:STDOUT: %array.1: %.3 = tuple_value (%.5, %.6, %.5, %.5, %.7, %.7) [template]
// CHECK:STDOUT: %.15: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.15: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
// CHECK:STDOUT: %.16: type = array_type %.2, f64 [template]
@@ -89,43 +89,43 @@ fn F() {
// CHECK:STDOUT: fn @F() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc14_19: i32 = int_literal 6 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_19: i32 = int_value 6 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_14.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc14_14.2: type = converted %int.make_type_32, %.loc14_14.1 [template = i32]
// CHECK:STDOUT: %.loc14_20: type = array_type %.loc14_19, i32 [template = constants.%.3]
// CHECK:STDOUT: %ints.var: ref %.3 = var ints
// CHECK:STDOUT: %ints: ref %.3 = bind_name ints, %ints.var
// CHECK:STDOUT: %.loc15: i32 = int_literal 8 [template = constants.%.5]
// CHECK:STDOUT: %.loc16: i32 = int_literal 9 [template = constants.%.6]
// CHECK:STDOUT: %.loc17: i32 = int_literal 8 [template = constants.%.5]
// CHECK:STDOUT: %.loc18: i32 = int_literal 8 [template = constants.%.5]
// CHECK:STDOUT: %.loc19: i32 = int_literal 2147483647 [template = constants.%.7]
// CHECK:STDOUT: %.loc20: i32 = int_literal 2147483647 [template = constants.%.7]
// CHECK:STDOUT: %.loc15: i32 = int_value 8 [template = constants.%.5]
// CHECK:STDOUT: %.loc16: i32 = int_value 9 [template = constants.%.6]
// CHECK:STDOUT: %.loc17: i32 = int_value 8 [template = constants.%.5]
// CHECK:STDOUT: %.loc18: i32 = int_value 8 [template = constants.%.5]
// CHECK:STDOUT: %.loc19: i32 = int_value 2147483647 [template = constants.%.7]
// CHECK:STDOUT: %.loc20: i32 = int_value 2147483647 [template = constants.%.7]
// CHECK:STDOUT: %.loc21_3.1: %.8 = tuple_literal (%.loc15, %.loc16, %.loc17, %.loc18, %.loc19, %.loc20)
// CHECK:STDOUT: %.loc21_3.2: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc21_3.2: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc21_3.3: ref i32 = array_index %ints.var, %.loc21_3.2
// CHECK:STDOUT: %.loc21_3.4: init i32 = initialize_from %.loc15 to %.loc21_3.3 [template = constants.%.5]
// CHECK:STDOUT: %.loc21_3.5: i32 = int_literal 1 [template = constants.%.10]
// CHECK:STDOUT: %.loc21_3.5: i32 = int_value 1 [template = constants.%.10]
// CHECK:STDOUT: %.loc21_3.6: ref i32 = array_index %ints.var, %.loc21_3.5
// CHECK:STDOUT: %.loc21_3.7: init i32 = initialize_from %.loc16 to %.loc21_3.6 [template = constants.%.6]
// CHECK:STDOUT: %.loc21_3.8: i32 = int_literal 2 [template = constants.%.11]
// CHECK:STDOUT: %.loc21_3.8: i32 = int_value 2 [template = constants.%.11]
// CHECK:STDOUT: %.loc21_3.9: ref i32 = array_index %ints.var, %.loc21_3.8
// CHECK:STDOUT: %.loc21_3.10: init i32 = initialize_from %.loc17 to %.loc21_3.9 [template = constants.%.5]
// CHECK:STDOUT: %.loc21_3.11: i32 = int_literal 3 [template = constants.%.12]
// CHECK:STDOUT: %.loc21_3.11: i32 = int_value 3 [template = constants.%.12]
// CHECK:STDOUT: %.loc21_3.12: ref i32 = array_index %ints.var, %.loc21_3.11
// CHECK:STDOUT: %.loc21_3.13: init i32 = initialize_from %.loc18 to %.loc21_3.12 [template = constants.%.5]
// CHECK:STDOUT: %.loc21_3.14: i32 = int_literal 4 [template = constants.%.13]
// CHECK:STDOUT: %.loc21_3.14: i32 = int_value 4 [template = constants.%.13]
// CHECK:STDOUT: %.loc21_3.15: ref i32 = array_index %ints.var, %.loc21_3.14
// CHECK:STDOUT: %.loc21_3.16: init i32 = initialize_from %.loc19 to %.loc21_3.15 [template = constants.%.7]
// CHECK:STDOUT: %.loc21_3.17: i32 = int_literal 5 [template = constants.%.14]
// CHECK:STDOUT: %.loc21_3.17: i32 = int_value 5 [template = constants.%.14]
// CHECK:STDOUT: %.loc21_3.18: ref i32 = array_index %ints.var, %.loc21_3.17
// CHECK:STDOUT: %.loc21_3.19: init i32 = initialize_from %.loc20 to %.loc21_3.18 [template = constants.%.7]
// CHECK:STDOUT: %.loc21_3.20: init %.3 = array_init (%.loc21_3.4, %.loc21_3.7, %.loc21_3.10, %.loc21_3.13, %.loc21_3.16, %.loc21_3.19) to %ints.var [template = constants.%array.1]
// CHECK:STDOUT: %.loc21_4: init %.3 = converted %.loc21_3.1, %.loc21_3.20 [template = constants.%array.1]
// CHECK:STDOUT: assign %ints.var, %.loc21_4
// CHECK:STDOUT: %.loc22_16.1: Core.BigInt = int_literal 64 [template = constants.%.15]
// CHECK:STDOUT: %.loc22_16.1: Core.BigInt = int_value 64 [template = constants.%.15]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc22_16.1) [template = f64]
// CHECK:STDOUT: %.loc22_21: i32 = int_literal 6 [template = constants.%.2]
// CHECK:STDOUT: %.loc22_21: i32 = int_value 6 [template = constants.%.2]
// CHECK:STDOUT: %.loc22_16.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc22_16.3: type = converted %float.make_type, %.loc22_16.2 [template = f64]
// CHECK:STDOUT: %.loc22_22: type = array_type %.loc22_21, f64 [template = constants.%.16]
@@ -138,22 +138,22 @@ fn F() {
// CHECK:STDOUT: %.loc27: f64 = float_literal 1.0E+8 [template = constants.%.22]
// CHECK:STDOUT: %.loc28: f64 = float_literal 1.0E-8 [template = constants.%.23]
// CHECK:STDOUT: %.loc29_3.1: %.24 = tuple_literal (%.loc23, %.loc24, %.loc25, %.loc26, %.loc27, %.loc28)
// CHECK:STDOUT: %.loc29_3.2: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc29_3.2: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc29_3.3: ref f64 = array_index %floats.var, %.loc29_3.2
// CHECK:STDOUT: %.loc29_3.4: init f64 = initialize_from %.loc23 to %.loc29_3.3 [template = constants.%.18]
// CHECK:STDOUT: %.loc29_3.5: i32 = int_literal 1 [template = constants.%.10]
// CHECK:STDOUT: %.loc29_3.5: i32 = int_value 1 [template = constants.%.10]
// CHECK:STDOUT: %.loc29_3.6: ref f64 = array_index %floats.var, %.loc29_3.5
// CHECK:STDOUT: %.loc29_3.7: init f64 = initialize_from %.loc24 to %.loc29_3.6 [template = constants.%.19]
// CHECK:STDOUT: %.loc29_3.8: i32 = int_literal 2 [template = constants.%.11]
// CHECK:STDOUT: %.loc29_3.8: i32 = int_value 2 [template = constants.%.11]
// CHECK:STDOUT: %.loc29_3.9: ref f64 = array_index %floats.var, %.loc29_3.8
// CHECK:STDOUT: %.loc29_3.10: init f64 = initialize_from %.loc25 to %.loc29_3.9 [template = constants.%.20]
// CHECK:STDOUT: %.loc29_3.11: i32 = int_literal 3 [template = constants.%.12]
// CHECK:STDOUT: %.loc29_3.11: i32 = int_value 3 [template = constants.%.12]
// CHECK:STDOUT: %.loc29_3.12: ref f64 = array_index %floats.var, %.loc29_3.11
// CHECK:STDOUT: %.loc29_3.13: init f64 = initialize_from %.loc26 to %.loc29_3.12 [template = constants.%.21]
// CHECK:STDOUT: %.loc29_3.14: i32 = int_literal 4 [template = constants.%.13]
// CHECK:STDOUT: %.loc29_3.14: i32 = int_value 4 [template = constants.%.13]
// CHECK:STDOUT: %.loc29_3.15: ref f64 = array_index %floats.var, %.loc29_3.14
// CHECK:STDOUT: %.loc29_3.16: init f64 = initialize_from %.loc27 to %.loc29_3.15 [template = constants.%.22]
// CHECK:STDOUT: %.loc29_3.17: i32 = int_literal 5 [template = constants.%.14]
// CHECK:STDOUT: %.loc29_3.17: i32 = int_value 5 [template = constants.%.14]
// CHECK:STDOUT: %.loc29_3.18: ref f64 = array_index %floats.var, %.loc29_3.17
// CHECK:STDOUT: %.loc29_3.19: init f64 = initialize_from %.loc28 to %.loc29_3.18 [template = constants.%.23]
// CHECK:STDOUT: %.loc29_3.20: init %.16 = array_init (%.loc29_3.4, %.loc29_3.7, %.loc29_3.10, %.loc29_3.13, %.loc29_3.16, %.loc29_3.19) to %floats.var [template = constants.%array.2]
+4 -4
View File
@@ -17,8 +17,8 @@ var b: i32 = ((2));
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -53,9 +53,9 @@ var b: i32 = ((2));
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc11: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: assign file.%a.var, %.loc11
// CHECK:STDOUT: %.loc12: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc12: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: assign file.%b.var, %.loc12
// CHECK:STDOUT: return
// CHECK:STDOUT: }
+2 -2
View File
@@ -18,7 +18,7 @@ fn Run() -> i32 { return 0; }
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Run.type: type = fn_type @Run [template]
// CHECK:STDOUT: %Run: %Run.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -52,7 +52,7 @@ fn Run() -> i32 { return 0; }
// CHECK:STDOUT:
// CHECK:STDOUT: fn @Run() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc11_26: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_26: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: return %.loc11_26
// CHECK:STDOUT: }
// CHECK:STDOUT:
+18 -18
View File
@@ -130,14 +130,14 @@ var test_f128: f128;
// CHECK:STDOUT: --- iN.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 8 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 8 [template]
// CHECK:STDOUT: %Int.type: type = fn_type @Int [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [template]
// CHECK:STDOUT: %.3: type = int_type signed, %.1 [template]
// CHECK:STDOUT: %.4: Core.BigInt = int_literal 16 [template]
// CHECK:STDOUT: %.4: Core.BigInt = int_value 16 [template]
// CHECK:STDOUT: %.5: type = int_type signed, %.4 [template]
// CHECK:STDOUT: %.6: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.6: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %.7: type = int_type signed, %.6 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -158,19 +158,19 @@ var test_f128: f128;
// CHECK:STDOUT: .test_i64 = %test_i64
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_literal 8 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_value 8 [template = constants.%.1]
// CHECK:STDOUT: %int.make_type_signed.loc3: init type = call constants.%Int(%.loc3_14.1) [template = constants.%.3]
// CHECK:STDOUT: %.loc3_14.2: type = value_of_initializer %int.make_type_signed.loc3 [template = constants.%.3]
// CHECK:STDOUT: %.loc3_14.3: type = converted %int.make_type_signed.loc3, %.loc3_14.2 [template = constants.%.3]
// CHECK:STDOUT: %test_i8.var: ref %.3 = var test_i8
// CHECK:STDOUT: %test_i8: ref %.3 = bind_name test_i8, %test_i8.var
// CHECK:STDOUT: %.loc4_15.1: Core.BigInt = int_literal 16 [template = constants.%.4]
// CHECK:STDOUT: %.loc4_15.1: Core.BigInt = int_value 16 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_signed.loc4: init type = call constants.%Int(%.loc4_15.1) [template = constants.%.5]
// CHECK:STDOUT: %.loc4_15.2: type = value_of_initializer %int.make_type_signed.loc4 [template = constants.%.5]
// CHECK:STDOUT: %.loc4_15.3: type = converted %int.make_type_signed.loc4, %.loc4_15.2 [template = constants.%.5]
// CHECK:STDOUT: %test_i16.var: ref %.5 = var test_i16
// CHECK:STDOUT: %test_i16: ref %.5 = bind_name test_i16, %test_i16.var
// CHECK:STDOUT: %.loc5_15.1: Core.BigInt = int_literal 64 [template = constants.%.6]
// CHECK:STDOUT: %.loc5_15.1: Core.BigInt = int_value 64 [template = constants.%.6]
// CHECK:STDOUT: %int.make_type_signed.loc5: init type = call constants.%Int(%.loc5_15.1) [template = constants.%.7]
// CHECK:STDOUT: %.loc5_15.2: type = value_of_initializer %int.make_type_signed.loc5 [template = constants.%.7]
// CHECK:STDOUT: %.loc5_15.3: type = converted %int.make_type_signed.loc5, %.loc5_15.2 [template = constants.%.7]
@@ -183,14 +183,14 @@ var test_f128: f128;
// CHECK:STDOUT: --- fail_iN_bad_width.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 1 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 1 [template]
// CHECK:STDOUT: %Int.type: type = fn_type @Int [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [template]
// CHECK:STDOUT: %.3: type = int_type signed, %.1 [template]
// CHECK:STDOUT: %.4: Core.BigInt = int_literal 15 [template]
// CHECK:STDOUT: %.4: Core.BigInt = int_value 15 [template]
// CHECK:STDOUT: %.5: type = int_type signed, %.4 [template]
// CHECK:STDOUT: %.6: Core.BigInt = int_literal 1000000000 [template]
// CHECK:STDOUT: %.6: Core.BigInt = int_value 1000000000 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {}
@@ -200,14 +200,14 @@ var test_f128: f128;
// CHECK:STDOUT: --- uN.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 8 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 8 [template]
// CHECK:STDOUT: %UInt.type: type = fn_type @UInt [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %UInt: %UInt.type = struct_value () [template]
// CHECK:STDOUT: %.3: type = int_type unsigned, %.1 [template]
// CHECK:STDOUT: %.4: Core.BigInt = int_literal 16 [template]
// CHECK:STDOUT: %.4: Core.BigInt = int_value 16 [template]
// CHECK:STDOUT: %.5: type = int_type unsigned, %.4 [template]
// CHECK:STDOUT: %.6: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.6: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %.7: type = int_type unsigned, %.6 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -228,19 +228,19 @@ var test_f128: f128;
// CHECK:STDOUT: .test_u64 = %test_u64
// CHECK:STDOUT: }
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_literal 8 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_value 8 [template = constants.%.1]
// CHECK:STDOUT: %int.make_type_unsigned.loc3: init type = call constants.%UInt(%.loc3_14.1) [template = constants.%.3]
// CHECK:STDOUT: %.loc3_14.2: type = value_of_initializer %int.make_type_unsigned.loc3 [template = constants.%.3]
// CHECK:STDOUT: %.loc3_14.3: type = converted %int.make_type_unsigned.loc3, %.loc3_14.2 [template = constants.%.3]
// CHECK:STDOUT: %test_u8.var: ref %.3 = var test_u8
// CHECK:STDOUT: %test_u8: ref %.3 = bind_name test_u8, %test_u8.var
// CHECK:STDOUT: %.loc4_15.1: Core.BigInt = int_literal 16 [template = constants.%.4]
// CHECK:STDOUT: %.loc4_15.1: Core.BigInt = int_value 16 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_unsigned.loc4: init type = call constants.%UInt(%.loc4_15.1) [template = constants.%.5]
// CHECK:STDOUT: %.loc4_15.2: type = value_of_initializer %int.make_type_unsigned.loc4 [template = constants.%.5]
// CHECK:STDOUT: %.loc4_15.3: type = converted %int.make_type_unsigned.loc4, %.loc4_15.2 [template = constants.%.5]
// CHECK:STDOUT: %test_u16.var: ref %.5 = var test_u16
// CHECK:STDOUT: %test_u16: ref %.5 = bind_name test_u16, %test_u16.var
// CHECK:STDOUT: %.loc5_15.1: Core.BigInt = int_literal 64 [template = constants.%.6]
// CHECK:STDOUT: %.loc5_15.1: Core.BigInt = int_value 64 [template = constants.%.6]
// CHECK:STDOUT: %int.make_type_unsigned.loc5: init type = call constants.%UInt(%.loc5_15.1) [template = constants.%.7]
// CHECK:STDOUT: %.loc5_15.2: type = value_of_initializer %int.make_type_unsigned.loc5 [template = constants.%.7]
// CHECK:STDOUT: %.loc5_15.3: type = converted %int.make_type_unsigned.loc5, %.loc5_15.2 [template = constants.%.7]
@@ -253,14 +253,14 @@ var test_f128: f128;
// CHECK:STDOUT: --- fail_uN_bad_width.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 1 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 1 [template]
// CHECK:STDOUT: %UInt.type: type = fn_type @UInt [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %UInt: %UInt.type = struct_value () [template]
// CHECK:STDOUT: %.3: type = int_type unsigned, %.1 [template]
// CHECK:STDOUT: %.4: Core.BigInt = int_literal 15 [template]
// CHECK:STDOUT: %.4: Core.BigInt = int_value 15 [template]
// CHECK:STDOUT: %.5: type = int_type unsigned, %.4 [template]
// CHECK:STDOUT: %.6: Core.BigInt = int_literal 1000000000 [template]
// CHECK:STDOUT: %.6: Core.BigInt = int_value 1000000000 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {}
+28 -28
View File
@@ -53,7 +53,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- float_add.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -91,15 +91,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64]
// CHECK:STDOUT: %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
// CHECK:STDOUT: %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_19: init type = call constants.%Float(%.loc2_19.1) [template = f64]
// CHECK:STDOUT: %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
// CHECK:STDOUT: %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
// CHECK:STDOUT: %.loc2_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64]
// CHECK:STDOUT: %.loc2_27.2: type = value_of_initializer %float.make_type.loc2_27 [template = f64]
// CHECK:STDOUT: %.loc2_27.3: type = converted %float.make_type.loc2_27, %.loc2_27.2 [template = f64]
@@ -118,15 +118,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64]
// CHECK:STDOUT: %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
// CHECK:STDOUT: %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_27: init type = call constants.%Float(%.loc4_27.1) [template = f64]
// CHECK:STDOUT: %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
// CHECK:STDOUT: %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
// CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
// CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64]
@@ -137,7 +137,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2
// CHECK:STDOUT: %return: ref f64 = return_slot %return.param
// CHECK:STDOUT: }
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc8_8.1) [template = f64]
// CHECK:STDOUT: %.loc8_8.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc8_8.3: type = converted %float.make_type, %.loc8_8.2 [template = f64]
@@ -173,7 +173,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- fail_bad_decl.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -224,11 +224,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc8_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8_14: init type = call constants.%Float(%.loc8_14.1) [template = f64]
// CHECK:STDOUT: %.loc8_14.2: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
// CHECK:STDOUT: %.loc8_14.3: type = converted %float.make_type.loc8_14, %.loc8_14.2 [template = f64]
// CHECK:STDOUT: %.loc8_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64]
// CHECK:STDOUT: %.loc8_22.2: type = value_of_initializer %float.make_type.loc8_22 [template = f64]
// CHECK:STDOUT: %.loc8_22.3: type = converted %float.make_type.loc8_22, %.loc8_22.2 [template = f64]
@@ -247,19 +247,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64]
// CHECK:STDOUT: %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
// CHECK:STDOUT: %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_23: init type = call constants.%Float(%.loc13_23.1) [template = f64]
// CHECK:STDOUT: %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
// CHECK:STDOUT: %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_31: init type = call constants.%Float(%.loc13_31.1) [template = f64]
// CHECK:STDOUT: %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
// CHECK:STDOUT: %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
// CHECK:STDOUT: %.loc13_39.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_39.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64]
// CHECK:STDOUT: %.loc13_39.2: type = value_of_initializer %float.make_type.loc13_39 [template = f64]
// CHECK:STDOUT: %.loc13_39.3: type = converted %float.make_type.loc13_39, %.loc13_39.2 [template = f64]
@@ -280,11 +280,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc17_21.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_21.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc17_21: init type = call constants.%Float(%.loc17_21.1) [template = f64]
// CHECK:STDOUT: %.loc17_21.2: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
// CHECK:STDOUT: %.loc17_21.3: type = converted %float.make_type.loc17_21, %.loc17_21.2 [template = f64]
// CHECK:STDOUT: %.loc17_29.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_29.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc17_29: init type = call constants.%Float(%.loc17_29.1) [template = f64]
// CHECK:STDOUT: %.loc17_29.2: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
// CHECK:STDOUT: %.loc17_29.3: type = converted %float.make_type.loc17_29, %.loc17_29.2 [template = f64]
@@ -306,15 +306,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc18_17.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_17.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_17: init type = call constants.%Float(%.loc18_17.1) [template = f64]
// CHECK:STDOUT: %.loc18_17.2: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
// CHECK:STDOUT: %.loc18_17.3: type = converted %float.make_type.loc18_17, %.loc18_17.2 [template = f64]
// CHECK:STDOUT: %.loc18_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_25: init type = call constants.%Float(%.loc18_25.1) [template = f64]
// CHECK:STDOUT: %.loc18_25.2: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
// CHECK:STDOUT: %.loc18_25.3: type = converted %float.make_type.loc18_25, %.loc18_25.2 [template = f64]
// CHECK:STDOUT: %.loc18_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64]
// CHECK:STDOUT: %.loc18_33.2: type = value_of_initializer %float.make_type.loc18_33 [template = f64]
// CHECK:STDOUT: %.loc18_33.3: type = converted %float.make_type.loc18_33, %.loc18_33.2 [template = f64]
@@ -331,11 +331,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc20_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc20_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc20_25: init type = call constants.%Float(%.loc20_25.1) [template = f64]
// CHECK:STDOUT: %.loc20_25.2: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
// CHECK:STDOUT: %.loc20_25.3: type = converted %float.make_type.loc20_25, %.loc20_25.2 [template = f64]
// CHECK:STDOUT: %.loc20_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc20_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64]
// CHECK:STDOUT: %.loc20_33.2: type = value_of_initializer %float.make_type.loc20_33 [template = f64]
// CHECK:STDOUT: %.loc20_33.3: type = converted %float.make_type.loc20_33, %.loc20_33.2 [template = f64]
@@ -354,19 +354,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc24_26.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_26.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_26: init type = call constants.%Float(%.loc24_26.1) [template = f64]
// CHECK:STDOUT: %.loc24_26.2: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
// CHECK:STDOUT: %.loc24_26.3: type = converted %float.make_type.loc24_26, %.loc24_26.2 [template = f64]
// CHECK:STDOUT: %.loc24_34.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_34.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_34: init type = call constants.%Float(%.loc24_34.1) [template = f64]
// CHECK:STDOUT: %.loc24_34.2: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
// CHECK:STDOUT: %.loc24_34.3: type = converted %float.make_type.loc24_34, %.loc24_34.2 [template = f64]
// CHECK:STDOUT: %.loc24_42.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_42.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_42: init type = call constants.%Float(%.loc24_42.1) [template = f64]
// CHECK:STDOUT: %.loc24_42.2: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
// CHECK:STDOUT: %.loc24_42.3: type = converted %float.make_type.loc24_42, %.loc24_42.2 [template = f64]
// CHECK:STDOUT: %.loc24_50.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_50.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64]
// CHECK:STDOUT: %.loc24_50.2: type = value_of_initializer %float.make_type.loc24_50 [template = f64]
// CHECK:STDOUT: %.loc24_50.3: type = converted %float.make_type.loc24_50, %.loc24_50.2 [template = f64]
@@ -387,11 +387,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc28_32.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc28_32.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc28_32: init type = call constants.%Float(%.loc28_32.1) [template = f64]
// CHECK:STDOUT: %.loc28_32.2: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
// CHECK:STDOUT: %.loc28_32.3: type = converted %float.make_type.loc28_32, %.loc28_32.2 [template = f64]
// CHECK:STDOUT: %.loc28_40.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc28_40.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc28_40: init type = call constants.%Float(%.loc28_40.1) [template = f64]
// CHECK:STDOUT: %.loc28_40.2: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
// CHECK:STDOUT: %.loc28_40.3: type = converted %float.make_type.loc28_40, %.loc28_40.2 [template = f64]
+30 -30
View File
@@ -55,7 +55,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- float_div.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -99,15 +99,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64]
// CHECK:STDOUT: %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
// CHECK:STDOUT: %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_19: init type = call constants.%Float(%.loc2_19.1) [template = f64]
// CHECK:STDOUT: %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
// CHECK:STDOUT: %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
// CHECK:STDOUT: %.loc2_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64]
// CHECK:STDOUT: %.loc2_27.2: type = value_of_initializer %float.make_type.loc2_27 [template = f64]
// CHECK:STDOUT: %.loc2_27.3: type = converted %float.make_type.loc2_27, %.loc2_27.2 [template = f64]
@@ -126,15 +126,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64]
// CHECK:STDOUT: %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
// CHECK:STDOUT: %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_27: init type = call constants.%Float(%.loc4_27.1) [template = f64]
// CHECK:STDOUT: %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
// CHECK:STDOUT: %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
// CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
// CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64]
@@ -145,17 +145,17 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2
// CHECK:STDOUT: %return: ref f64 = return_slot %return.param
// CHECK:STDOUT: }
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8: init type = call constants.%Float(%.loc8_8.1) [template = f64]
// CHECK:STDOUT: %.loc8_8.2: type = value_of_initializer %float.make_type.loc8 [template = f64]
// CHECK:STDOUT: %.loc8_8.3: type = converted %float.make_type.loc8, %.loc8_8.2 [template = f64]
// CHECK:STDOUT: %a.var: ref f64 = var a
// CHECK:STDOUT: %a: ref f64 = bind_name a, %a.var
// CHECK:STDOUT: %.loc9_8.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc9_8.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc9: init type = call constants.%Float(%.loc9_8.1) [template = f64]
// CHECK:STDOUT: %.loc9_8.2: type = value_of_initializer %float.make_type.loc9 [template = f64]
// CHECK:STDOUT: %.loc9_8.3: type = converted %float.make_type.loc9, %.loc9_8.2 [template = f64]
// CHECK:STDOUT: %.loc10_8.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc10_8.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc10: init type = call constants.%Float(%.loc10_8.1) [template = f64]
// CHECK:STDOUT: %.loc10_8.2: type = value_of_initializer %float.make_type.loc10 [template = f64]
// CHECK:STDOUT: %.loc10_8.3: type = converted %float.make_type.loc10, %.loc10_8.2 [template = f64]
@@ -203,7 +203,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- fail_bad_decl.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -254,11 +254,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc8_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8_14: init type = call constants.%Float(%.loc8_14.1) [template = f64]
// CHECK:STDOUT: %.loc8_14.2: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
// CHECK:STDOUT: %.loc8_14.3: type = converted %float.make_type.loc8_14, %.loc8_14.2 [template = f64]
// CHECK:STDOUT: %.loc8_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64]
// CHECK:STDOUT: %.loc8_22.2: type = value_of_initializer %float.make_type.loc8_22 [template = f64]
// CHECK:STDOUT: %.loc8_22.3: type = converted %float.make_type.loc8_22, %.loc8_22.2 [template = f64]
@@ -277,19 +277,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64]
// CHECK:STDOUT: %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
// CHECK:STDOUT: %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_23: init type = call constants.%Float(%.loc13_23.1) [template = f64]
// CHECK:STDOUT: %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
// CHECK:STDOUT: %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_31: init type = call constants.%Float(%.loc13_31.1) [template = f64]
// CHECK:STDOUT: %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
// CHECK:STDOUT: %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
// CHECK:STDOUT: %.loc13_39.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_39.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64]
// CHECK:STDOUT: %.loc13_39.2: type = value_of_initializer %float.make_type.loc13_39 [template = f64]
// CHECK:STDOUT: %.loc13_39.3: type = converted %float.make_type.loc13_39, %.loc13_39.2 [template = f64]
@@ -310,11 +310,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc17_21.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_21.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc17_21: init type = call constants.%Float(%.loc17_21.1) [template = f64]
// CHECK:STDOUT: %.loc17_21.2: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
// CHECK:STDOUT: %.loc17_21.3: type = converted %float.make_type.loc17_21, %.loc17_21.2 [template = f64]
// CHECK:STDOUT: %.loc17_29.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_29.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc17_29: init type = call constants.%Float(%.loc17_29.1) [template = f64]
// CHECK:STDOUT: %.loc17_29.2: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
// CHECK:STDOUT: %.loc17_29.3: type = converted %float.make_type.loc17_29, %.loc17_29.2 [template = f64]
@@ -336,15 +336,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc18_17.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_17.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_17: init type = call constants.%Float(%.loc18_17.1) [template = f64]
// CHECK:STDOUT: %.loc18_17.2: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
// CHECK:STDOUT: %.loc18_17.3: type = converted %float.make_type.loc18_17, %.loc18_17.2 [template = f64]
// CHECK:STDOUT: %.loc18_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_25: init type = call constants.%Float(%.loc18_25.1) [template = f64]
// CHECK:STDOUT: %.loc18_25.2: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
// CHECK:STDOUT: %.loc18_25.3: type = converted %float.make_type.loc18_25, %.loc18_25.2 [template = f64]
// CHECK:STDOUT: %.loc18_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64]
// CHECK:STDOUT: %.loc18_33.2: type = value_of_initializer %float.make_type.loc18_33 [template = f64]
// CHECK:STDOUT: %.loc18_33.3: type = converted %float.make_type.loc18_33, %.loc18_33.2 [template = f64]
@@ -361,11 +361,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc20_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc20_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc20_25: init type = call constants.%Float(%.loc20_25.1) [template = f64]
// CHECK:STDOUT: %.loc20_25.2: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
// CHECK:STDOUT: %.loc20_25.3: type = converted %float.make_type.loc20_25, %.loc20_25.2 [template = f64]
// CHECK:STDOUT: %.loc20_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc20_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64]
// CHECK:STDOUT: %.loc20_33.2: type = value_of_initializer %float.make_type.loc20_33 [template = f64]
// CHECK:STDOUT: %.loc20_33.3: type = converted %float.make_type.loc20_33, %.loc20_33.2 [template = f64]
@@ -384,19 +384,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc24_26.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_26.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_26: init type = call constants.%Float(%.loc24_26.1) [template = f64]
// CHECK:STDOUT: %.loc24_26.2: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
// CHECK:STDOUT: %.loc24_26.3: type = converted %float.make_type.loc24_26, %.loc24_26.2 [template = f64]
// CHECK:STDOUT: %.loc24_34.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_34.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_34: init type = call constants.%Float(%.loc24_34.1) [template = f64]
// CHECK:STDOUT: %.loc24_34.2: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
// CHECK:STDOUT: %.loc24_34.3: type = converted %float.make_type.loc24_34, %.loc24_34.2 [template = f64]
// CHECK:STDOUT: %.loc24_42.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_42.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_42: init type = call constants.%Float(%.loc24_42.1) [template = f64]
// CHECK:STDOUT: %.loc24_42.2: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
// CHECK:STDOUT: %.loc24_42.3: type = converted %float.make_type.loc24_42, %.loc24_42.2 [template = f64]
// CHECK:STDOUT: %.loc24_50.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_50.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64]
// CHECK:STDOUT: %.loc24_50.2: type = value_of_initializer %float.make_type.loc24_50 [template = f64]
// CHECK:STDOUT: %.loc24_50.3: type = converted %float.make_type.loc24_50, %.loc24_50.2 [template = f64]
@@ -417,11 +417,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc28_32.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc28_32.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc28_32: init type = call constants.%Float(%.loc28_32.1) [template = f64]
// CHECK:STDOUT: %.loc28_32.2: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
// CHECK:STDOUT: %.loc28_32.3: type = converted %float.make_type.loc28_32, %.loc28_32.2 [template = f64]
// CHECK:STDOUT: %.loc28_40.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc28_40.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc28_40: init type = call constants.%Float(%.loc28_40.1) [template = f64]
// CHECK:STDOUT: %.loc28_40.2: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
// CHECK:STDOUT: %.loc28_40.3: type = converted %float.make_type.loc28_40, %.loc28_40.2 [template = f64]
+9 -9
View File
@@ -36,7 +36,7 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
// CHECK:STDOUT: --- float_eq.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -88,11 +88,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_10.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_10.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_10: init type = call constants.%Float(%.loc2_10.1) [template = f64]
// CHECK:STDOUT: %.loc2_10.2: type = value_of_initializer %float.make_type.loc2_10 [template = f64]
// CHECK:STDOUT: %.loc2_10.3: type = converted %float.make_type.loc2_10, %.loc2_10.2 [template = f64]
// CHECK:STDOUT: %.loc2_18.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_18.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_18: init type = call constants.%Float(%.loc2_18.1) [template = f64]
// CHECK:STDOUT: %.loc2_18.2: type = value_of_initializer %float.make_type.loc2_18 [template = f64]
// CHECK:STDOUT: %.loc2_18.3: type = converted %float.make_type.loc2_18, %.loc2_18.2 [template = f64]
@@ -129,11 +129,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc12_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc12_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc12_19: init type = call constants.%Float(%.loc12_19.1) [template = f64]
// CHECK:STDOUT: %.loc12_19.2: type = value_of_initializer %float.make_type.loc12_19 [template = f64]
// CHECK:STDOUT: %.loc12_19.3: type = converted %float.make_type.loc12_19, %.loc12_19.2 [template = f64]
// CHECK:STDOUT: %.loc12_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc12_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc12_27: init type = call constants.%Float(%.loc12_27.1) [template = f64]
// CHECK:STDOUT: %.loc12_27.2: type = value_of_initializer %float.make_type.loc12_27 [template = f64]
// CHECK:STDOUT: %.loc12_27.3: type = converted %float.make_type.loc12_27, %.loc12_27.2 [template = f64]
@@ -226,7 +226,7 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
// CHECK:STDOUT: --- fail_bad_decl.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -257,15 +257,15 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc7_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc7_19: init type = call constants.%Float(%.loc7_19.1) [template = f64]
// CHECK:STDOUT: %.loc7_19.2: type = value_of_initializer %float.make_type.loc7_19 [template = f64]
// CHECK:STDOUT: %.loc7_19.3: type = converted %float.make_type.loc7_19, %.loc7_19.2 [template = f64]
// CHECK:STDOUT: %.loc7_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc7_27: init type = call constants.%Float(%.loc7_27.1) [template = f64]
// CHECK:STDOUT: %.loc7_27.2: type = value_of_initializer %float.make_type.loc7_27 [template = f64]
// CHECK:STDOUT: %.loc7_27.3: type = converted %float.make_type.loc7_27, %.loc7_27.2 [template = f64]
// CHECK:STDOUT: %.loc7_35.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_35.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc7_35: init type = call constants.%Float(%.loc7_35.1) [template = f64]
// CHECK:STDOUT: %.loc7_35.2: type = value_of_initializer %float.make_type.loc7_35 [template = f64]
// CHECK:STDOUT: %.loc7_35.3: type = converted %float.make_type.loc7_35, %.loc7_35.2 [template = f64]
+7 -7
View File
@@ -31,7 +31,7 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- float_greater.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -88,11 +88,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_15.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_15.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_15: init type = call constants.%Float(%.loc2_15.1) [template = f64]
// CHECK:STDOUT: %.loc2_15.2: type = value_of_initializer %float.make_type.loc2_15 [template = f64]
// CHECK:STDOUT: %.loc2_15.3: type = converted %float.make_type.loc2_15, %.loc2_15.2 [template = f64]
// CHECK:STDOUT: %.loc2_23.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_23.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_23: init type = call constants.%Float(%.loc2_23.1) [template = f64]
// CHECK:STDOUT: %.loc2_23.2: type = value_of_initializer %float.make_type.loc2_23 [template = f64]
// CHECK:STDOUT: %.loc2_23.3: type = converted %float.make_type.loc2_23, %.loc2_23.2 [template = f64]
@@ -112,11 +112,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc3_14: init type = call constants.%Float(%.loc3_14.1) [template = f64]
// CHECK:STDOUT: %.loc3_14.2: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
// CHECK:STDOUT: %.loc3_14.3: type = converted %float.make_type.loc3_14, %.loc3_14.2 [template = f64]
// CHECK:STDOUT: %.loc3_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64]
// CHECK:STDOUT: %.loc3_22.2: type = value_of_initializer %float.make_type.loc3_22 [template = f64]
// CHECK:STDOUT: %.loc3_22.3: type = converted %float.make_type.loc3_22, %.loc3_22.2 [template = f64]
@@ -148,11 +148,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc16_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc16_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc16_19: init type = call constants.%Float(%.loc16_19.1) [template = f64]
// CHECK:STDOUT: %.loc16_19.2: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
// CHECK:STDOUT: %.loc16_19.3: type = converted %float.make_type.loc16_19, %.loc16_19.2 [template = f64]
// CHECK:STDOUT: %.loc16_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc16_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc16_27: init type = call constants.%Float(%.loc16_27.1) [template = f64]
// CHECK:STDOUT: %.loc16_27.2: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
// CHECK:STDOUT: %.loc16_27.3: type = converted %float.make_type.loc16_27, %.loc16_27.2 [template = f64]
+7 -7
View File
@@ -31,7 +31,7 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- float_greater_eq.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -88,11 +88,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_17.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_17.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_17: init type = call constants.%Float(%.loc2_17.1) [template = f64]
// CHECK:STDOUT: %.loc2_17.2: type = value_of_initializer %float.make_type.loc2_17 [template = f64]
// CHECK:STDOUT: %.loc2_17.3: type = converted %float.make_type.loc2_17, %.loc2_17.2 [template = f64]
// CHECK:STDOUT: %.loc2_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_25: init type = call constants.%Float(%.loc2_25.1) [template = f64]
// CHECK:STDOUT: %.loc2_25.2: type = value_of_initializer %float.make_type.loc2_25 [template = f64]
// CHECK:STDOUT: %.loc2_25.3: type = converted %float.make_type.loc2_25, %.loc2_25.2 [template = f64]
@@ -112,11 +112,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc3_14: init type = call constants.%Float(%.loc3_14.1) [template = f64]
// CHECK:STDOUT: %.loc3_14.2: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
// CHECK:STDOUT: %.loc3_14.3: type = converted %float.make_type.loc3_14, %.loc3_14.2 [template = f64]
// CHECK:STDOUT: %.loc3_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64]
// CHECK:STDOUT: %.loc3_22.2: type = value_of_initializer %float.make_type.loc3_22 [template = f64]
// CHECK:STDOUT: %.loc3_22.3: type = converted %float.make_type.loc3_22, %.loc3_22.2 [template = f64]
@@ -148,11 +148,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc16_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc16_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc16_19: init type = call constants.%Float(%.loc16_19.1) [template = f64]
// CHECK:STDOUT: %.loc16_19.2: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
// CHECK:STDOUT: %.loc16_19.3: type = converted %float.make_type.loc16_19, %.loc16_19.2 [template = f64]
// CHECK:STDOUT: %.loc16_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc16_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc16_27: init type = call constants.%Float(%.loc16_27.1) [template = f64]
// CHECK:STDOUT: %.loc16_27.2: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
// CHECK:STDOUT: %.loc16_27.3: type = converted %float.make_type.loc16_27, %.loc16_27.2 [template = f64]
+7 -7
View File
@@ -31,7 +31,7 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- float_less.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -88,11 +88,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_12.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_12.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_12: init type = call constants.%Float(%.loc2_12.1) [template = f64]
// CHECK:STDOUT: %.loc2_12.2: type = value_of_initializer %float.make_type.loc2_12 [template = f64]
// CHECK:STDOUT: %.loc2_12.3: type = converted %float.make_type.loc2_12, %.loc2_12.2 [template = f64]
// CHECK:STDOUT: %.loc2_20.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_20.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_20: init type = call constants.%Float(%.loc2_20.1) [template = f64]
// CHECK:STDOUT: %.loc2_20.2: type = value_of_initializer %float.make_type.loc2_20 [template = f64]
// CHECK:STDOUT: %.loc2_20.3: type = converted %float.make_type.loc2_20, %.loc2_20.2 [template = f64]
@@ -112,11 +112,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc3_14: init type = call constants.%Float(%.loc3_14.1) [template = f64]
// CHECK:STDOUT: %.loc3_14.2: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
// CHECK:STDOUT: %.loc3_14.3: type = converted %float.make_type.loc3_14, %.loc3_14.2 [template = f64]
// CHECK:STDOUT: %.loc3_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64]
// CHECK:STDOUT: %.loc3_22.2: type = value_of_initializer %float.make_type.loc3_22 [template = f64]
// CHECK:STDOUT: %.loc3_22.3: type = converted %float.make_type.loc3_22, %.loc3_22.2 [template = f64]
@@ -148,11 +148,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc16_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc16_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc16_19: init type = call constants.%Float(%.loc16_19.1) [template = f64]
// CHECK:STDOUT: %.loc16_19.2: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
// CHECK:STDOUT: %.loc16_19.3: type = converted %float.make_type.loc16_19, %.loc16_19.2 [template = f64]
// CHECK:STDOUT: %.loc16_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc16_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc16_27: init type = call constants.%Float(%.loc16_27.1) [template = f64]
// CHECK:STDOUT: %.loc16_27.2: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
// CHECK:STDOUT: %.loc16_27.3: type = converted %float.make_type.loc16_27, %.loc16_27.2 [template = f64]
+7 -7
View File
@@ -31,7 +31,7 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- float_less_eq.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -88,11 +88,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_14: init type = call constants.%Float(%.loc2_14.1) [template = f64]
// CHECK:STDOUT: %.loc2_14.2: type = value_of_initializer %float.make_type.loc2_14 [template = f64]
// CHECK:STDOUT: %.loc2_14.3: type = converted %float.make_type.loc2_14, %.loc2_14.2 [template = f64]
// CHECK:STDOUT: %.loc2_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_22: init type = call constants.%Float(%.loc2_22.1) [template = f64]
// CHECK:STDOUT: %.loc2_22.2: type = value_of_initializer %float.make_type.loc2_22 [template = f64]
// CHECK:STDOUT: %.loc2_22.3: type = converted %float.make_type.loc2_22, %.loc2_22.2 [template = f64]
@@ -112,11 +112,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc3_14: init type = call constants.%Float(%.loc3_14.1) [template = f64]
// CHECK:STDOUT: %.loc3_14.2: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
// CHECK:STDOUT: %.loc3_14.3: type = converted %float.make_type.loc3_14, %.loc3_14.2 [template = f64]
// CHECK:STDOUT: %.loc3_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc3_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64]
// CHECK:STDOUT: %.loc3_22.2: type = value_of_initializer %float.make_type.loc3_22 [template = f64]
// CHECK:STDOUT: %.loc3_22.3: type = converted %float.make_type.loc3_22, %.loc3_22.2 [template = f64]
@@ -148,11 +148,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc16_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc16_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc16_19: init type = call constants.%Float(%.loc16_19.1) [template = f64]
// CHECK:STDOUT: %.loc16_19.2: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
// CHECK:STDOUT: %.loc16_19.3: type = converted %float.make_type.loc16_19, %.loc16_19.2 [template = f64]
// CHECK:STDOUT: %.loc16_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc16_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc16_27: init type = call constants.%Float(%.loc16_27.1) [template = f64]
// CHECK:STDOUT: %.loc16_27.2: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
// CHECK:STDOUT: %.loc16_27.3: type = converted %float.make_type.loc16_27, %.loc16_27.2 [template = f64]
+6 -6
View File
@@ -95,7 +95,7 @@ var dyn: Float(dyn_size);
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 64 [template]
// CHECK:STDOUT: %.2: i32 = int_value 64 [template]
// CHECK:STDOUT: %.3: f64 = float_literal 0 [template]
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
@@ -123,7 +123,7 @@ var dyn: Float(dyn_size);
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %default.import = import <invalid>
// CHECK:STDOUT: %Float.ref: %Float.type = name_ref Float, imports.%import_ref.1 [template = constants.%Float]
// CHECK:STDOUT: %.loc6_14: i32 = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_14: i32 = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %float.make_type: init type = call %Float.ref(%.loc6_14) [template = f64]
// CHECK:STDOUT: %.loc6_16.1: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc6_16.2: type = converted %float.make_type, %.loc6_16.1 [template = f64]
@@ -172,10 +172,10 @@ var dyn: Float(dyn_size);
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 32 [template]
// CHECK:STDOUT: %.2: i32 = int_value 32 [template]
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.3: i32 = int_literal 64 [template]
// CHECK:STDOUT: %.3: i32 = int_value 64 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -199,7 +199,7 @@ var dyn: Float(dyn_size);
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %default.import = import <invalid>
// CHECK:STDOUT: %Float.ref.loc10: %Float.type = name_ref Float, imports.%import_ref.1 [template = constants.%Float]
// CHECK:STDOUT: %.loc10_26: i32 = int_literal 32 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_26: i32 = int_value 32 [template = constants.%.2]
// CHECK:STDOUT: %float.make_type.loc10: init type = call %Float.ref.loc10(%.loc10_26) [template = <error>]
// CHECK:STDOUT: %.loc10_28.1: type = value_of_initializer %float.make_type.loc10 [template = <error>]
// CHECK:STDOUT: %.loc10_28.2: type = converted %float.make_type.loc10, %.loc10_28.1 [template = <error>]
@@ -226,7 +226,7 @@ var dyn: Float(dyn_size);
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc12: i32 = int_literal 64 [template = constants.%.3]
// CHECK:STDOUT: %.loc12: i32 = int_value 64 [template = constants.%.3]
// CHECK:STDOUT: assign file.%dyn_size.var, %.loc12
// CHECK:STDOUT: return
// CHECK:STDOUT: }
+28 -28
View File
@@ -53,7 +53,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- mul_sub.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -91,15 +91,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64]
// CHECK:STDOUT: %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
// CHECK:STDOUT: %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_19: init type = call constants.%Float(%.loc2_19.1) [template = f64]
// CHECK:STDOUT: %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
// CHECK:STDOUT: %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
// CHECK:STDOUT: %.loc2_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64]
// CHECK:STDOUT: %.loc2_27.2: type = value_of_initializer %float.make_type.loc2_27 [template = f64]
// CHECK:STDOUT: %.loc2_27.3: type = converted %float.make_type.loc2_27, %.loc2_27.2 [template = f64]
@@ -118,15 +118,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64]
// CHECK:STDOUT: %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
// CHECK:STDOUT: %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_27: init type = call constants.%Float(%.loc4_27.1) [template = f64]
// CHECK:STDOUT: %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
// CHECK:STDOUT: %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
// CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
// CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64]
@@ -137,7 +137,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2
// CHECK:STDOUT: %return: ref f64 = return_slot %return.param
// CHECK:STDOUT: }
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc8_8.1) [template = f64]
// CHECK:STDOUT: %.loc8_8.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc8_8.3: type = converted %float.make_type, %.loc8_8.2 [template = f64]
@@ -173,7 +173,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- fail_bad_decl.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -224,11 +224,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc8_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8_14: init type = call constants.%Float(%.loc8_14.1) [template = f64]
// CHECK:STDOUT: %.loc8_14.2: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
// CHECK:STDOUT: %.loc8_14.3: type = converted %float.make_type.loc8_14, %.loc8_14.2 [template = f64]
// CHECK:STDOUT: %.loc8_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64]
// CHECK:STDOUT: %.loc8_22.2: type = value_of_initializer %float.make_type.loc8_22 [template = f64]
// CHECK:STDOUT: %.loc8_22.3: type = converted %float.make_type.loc8_22, %.loc8_22.2 [template = f64]
@@ -247,19 +247,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64]
// CHECK:STDOUT: %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
// CHECK:STDOUT: %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_23: init type = call constants.%Float(%.loc13_23.1) [template = f64]
// CHECK:STDOUT: %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
// CHECK:STDOUT: %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_31: init type = call constants.%Float(%.loc13_31.1) [template = f64]
// CHECK:STDOUT: %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
// CHECK:STDOUT: %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
// CHECK:STDOUT: %.loc13_39.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_39.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64]
// CHECK:STDOUT: %.loc13_39.2: type = value_of_initializer %float.make_type.loc13_39 [template = f64]
// CHECK:STDOUT: %.loc13_39.3: type = converted %float.make_type.loc13_39, %.loc13_39.2 [template = f64]
@@ -280,11 +280,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc17_21.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_21.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc17_21: init type = call constants.%Float(%.loc17_21.1) [template = f64]
// CHECK:STDOUT: %.loc17_21.2: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
// CHECK:STDOUT: %.loc17_21.3: type = converted %float.make_type.loc17_21, %.loc17_21.2 [template = f64]
// CHECK:STDOUT: %.loc17_29.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_29.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc17_29: init type = call constants.%Float(%.loc17_29.1) [template = f64]
// CHECK:STDOUT: %.loc17_29.2: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
// CHECK:STDOUT: %.loc17_29.3: type = converted %float.make_type.loc17_29, %.loc17_29.2 [template = f64]
@@ -306,15 +306,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc18_17.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_17.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_17: init type = call constants.%Float(%.loc18_17.1) [template = f64]
// CHECK:STDOUT: %.loc18_17.2: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
// CHECK:STDOUT: %.loc18_17.3: type = converted %float.make_type.loc18_17, %.loc18_17.2 [template = f64]
// CHECK:STDOUT: %.loc18_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_25: init type = call constants.%Float(%.loc18_25.1) [template = f64]
// CHECK:STDOUT: %.loc18_25.2: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
// CHECK:STDOUT: %.loc18_25.3: type = converted %float.make_type.loc18_25, %.loc18_25.2 [template = f64]
// CHECK:STDOUT: %.loc18_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64]
// CHECK:STDOUT: %.loc18_33.2: type = value_of_initializer %float.make_type.loc18_33 [template = f64]
// CHECK:STDOUT: %.loc18_33.3: type = converted %float.make_type.loc18_33, %.loc18_33.2 [template = f64]
@@ -331,11 +331,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc20_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc20_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc20_25: init type = call constants.%Float(%.loc20_25.1) [template = f64]
// CHECK:STDOUT: %.loc20_25.2: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
// CHECK:STDOUT: %.loc20_25.3: type = converted %float.make_type.loc20_25, %.loc20_25.2 [template = f64]
// CHECK:STDOUT: %.loc20_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc20_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64]
// CHECK:STDOUT: %.loc20_33.2: type = value_of_initializer %float.make_type.loc20_33 [template = f64]
// CHECK:STDOUT: %.loc20_33.3: type = converted %float.make_type.loc20_33, %.loc20_33.2 [template = f64]
@@ -354,19 +354,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc24_26.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_26.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_26: init type = call constants.%Float(%.loc24_26.1) [template = f64]
// CHECK:STDOUT: %.loc24_26.2: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
// CHECK:STDOUT: %.loc24_26.3: type = converted %float.make_type.loc24_26, %.loc24_26.2 [template = f64]
// CHECK:STDOUT: %.loc24_34.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_34.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_34: init type = call constants.%Float(%.loc24_34.1) [template = f64]
// CHECK:STDOUT: %.loc24_34.2: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
// CHECK:STDOUT: %.loc24_34.3: type = converted %float.make_type.loc24_34, %.loc24_34.2 [template = f64]
// CHECK:STDOUT: %.loc24_42.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_42.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_42: init type = call constants.%Float(%.loc24_42.1) [template = f64]
// CHECK:STDOUT: %.loc24_42.2: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
// CHECK:STDOUT: %.loc24_42.3: type = converted %float.make_type.loc24_42, %.loc24_42.2 [template = f64]
// CHECK:STDOUT: %.loc24_50.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_50.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64]
// CHECK:STDOUT: %.loc24_50.2: type = value_of_initializer %float.make_type.loc24_50 [template = f64]
// CHECK:STDOUT: %.loc24_50.3: type = converted %float.make_type.loc24_50, %.loc24_50.2 [template = f64]
@@ -387,11 +387,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc28_32.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc28_32.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc28_32: init type = call constants.%Float(%.loc28_32.1) [template = f64]
// CHECK:STDOUT: %.loc28_32.2: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
// CHECK:STDOUT: %.loc28_32.3: type = converted %float.make_type.loc28_32, %.loc28_32.2 [template = f64]
// CHECK:STDOUT: %.loc28_40.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc28_40.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc28_40: init type = call constants.%Float(%.loc28_40.1) [template = f64]
// CHECK:STDOUT: %.loc28_40.2: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
// CHECK:STDOUT: %.loc28_40.3: type = converted %float.make_type.loc28_40, %.loc28_40.2 [template = f64]
+23 -23
View File
@@ -74,7 +74,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- float_negate.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -109,11 +109,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_14: init type = call constants.%Float(%.loc2_14.1) [template = f64]
// CHECK:STDOUT: %.loc2_14.2: type = value_of_initializer %float.make_type.loc2_14 [template = f64]
// CHECK:STDOUT: %.loc2_14.3: type = converted %float.make_type.loc2_14, %.loc2_14.2 [template = f64]
// CHECK:STDOUT: %.loc2_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_22: init type = call constants.%Float(%.loc2_22.1) [template = f64]
// CHECK:STDOUT: %.loc2_22.2: type = value_of_initializer %float.make_type.loc2_22 [template = f64]
// CHECK:STDOUT: %.loc2_22.3: type = converted %float.make_type.loc2_22, %.loc2_22.2 [template = f64]
@@ -130,15 +130,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64]
// CHECK:STDOUT: %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
// CHECK:STDOUT: %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_27: init type = call constants.%Float(%.loc4_27.1) [template = f64]
// CHECK:STDOUT: %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
// CHECK:STDOUT: %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
// CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
// CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64]
@@ -149,7 +149,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2
// CHECK:STDOUT: %return: ref f64 = return_slot %return.param
// CHECK:STDOUT: }
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc8_8.1) [template = f64]
// CHECK:STDOUT: %.loc8_8.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc8_8.3: type = converted %float.make_type, %.loc8_8.2 [template = f64]
@@ -183,7 +183,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- fail_bad_decl.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -232,7 +232,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param0
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc8_16.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_16.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc8_16.1) [template = f64]
// CHECK:STDOUT: %.loc8_16.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc8_16.3: type = converted %float.make_type, %.loc8_16.2 [template = f64]
@@ -247,15 +247,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64]
// CHECK:STDOUT: %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
// CHECK:STDOUT: %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_23: init type = call constants.%Float(%.loc13_23.1) [template = f64]
// CHECK:STDOUT: %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
// CHECK:STDOUT: %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_31: init type = call constants.%Float(%.loc13_31.1) [template = f64]
// CHECK:STDOUT: %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
// CHECK:STDOUT: %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
@@ -272,7 +272,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc18_21.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_21.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc18_21.1) [template = f64]
// CHECK:STDOUT: %.loc18_21.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc18_21.3: type = converted %float.make_type, %.loc18_21.2 [template = f64]
@@ -290,11 +290,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc19_17.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc19_17.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc19_17: init type = call constants.%Float(%.loc19_17.1) [template = f64]
// CHECK:STDOUT: %.loc19_17.2: type = value_of_initializer %float.make_type.loc19_17 [template = f64]
// CHECK:STDOUT: %.loc19_17.3: type = converted %float.make_type.loc19_17, %.loc19_17.2 [template = f64]
// CHECK:STDOUT: %.loc19_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc19_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc19_25: init type = call constants.%Float(%.loc19_25.1) [template = f64]
// CHECK:STDOUT: %.loc19_25.2: type = value_of_initializer %float.make_type.loc19_25 [template = f64]
// CHECK:STDOUT: %.loc19_25.3: type = converted %float.make_type.loc19_25, %.loc19_25.2 [template = f64]
@@ -309,11 +309,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc21_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc21_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc21_25: init type = call constants.%Float(%.loc21_25.1) [template = f64]
// CHECK:STDOUT: %.loc21_25.2: type = value_of_initializer %float.make_type.loc21_25 [template = f64]
// CHECK:STDOUT: %.loc21_25.3: type = converted %float.make_type.loc21_25, %.loc21_25.2 [template = f64]
// CHECK:STDOUT: %.loc21_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc21_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc21_33: init type = call constants.%Float(%.loc21_33.1) [template = f64]
// CHECK:STDOUT: %.loc21_33.2: type = value_of_initializer %float.make_type.loc21_33 [template = f64]
// CHECK:STDOUT: %.loc21_33.3: type = converted %float.make_type.loc21_33, %.loc21_33.2 [template = f64]
@@ -332,19 +332,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc32_26.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc32_26.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc32_26: init type = call constants.%Float(%.loc32_26.1) [template = f64]
// CHECK:STDOUT: %.loc32_26.2: type = value_of_initializer %float.make_type.loc32_26 [template = f64]
// CHECK:STDOUT: %.loc32_26.3: type = converted %float.make_type.loc32_26, %.loc32_26.2 [template = f64]
// CHECK:STDOUT: %.loc32_34.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc32_34.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc32_34: init type = call constants.%Float(%.loc32_34.1) [template = f64]
// CHECK:STDOUT: %.loc32_34.2: type = value_of_initializer %float.make_type.loc32_34 [template = f64]
// CHECK:STDOUT: %.loc32_34.3: type = converted %float.make_type.loc32_34, %.loc32_34.2 [template = f64]
// CHECK:STDOUT: %.loc32_42.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc32_42.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc32_42: init type = call constants.%Float(%.loc32_42.1) [template = f64]
// CHECK:STDOUT: %.loc32_42.2: type = value_of_initializer %float.make_type.loc32_42 [template = f64]
// CHECK:STDOUT: %.loc32_42.3: type = converted %float.make_type.loc32_42, %.loc32_42.2 [template = f64]
// CHECK:STDOUT: %.loc32_50.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc32_50.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc32_50: init type = call constants.%Float(%.loc32_50.1) [template = f64]
// CHECK:STDOUT: %.loc32_50.2: type = value_of_initializer %float.make_type.loc32_50 [template = f64]
// CHECK:STDOUT: %.loc32_50.3: type = converted %float.make_type.loc32_50, %.loc32_50.2 [template = f64]
@@ -365,11 +365,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc43_32.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc43_32.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc43_32: init type = call constants.%Float(%.loc43_32.1) [template = f64]
// CHECK:STDOUT: %.loc43_32.2: type = value_of_initializer %float.make_type.loc43_32 [template = f64]
// CHECK:STDOUT: %.loc43_32.3: type = converted %float.make_type.loc43_32, %.loc43_32.2 [template = f64]
// CHECK:STDOUT: %.loc43_40.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc43_40.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc43_40: init type = call constants.%Float(%.loc43_40.1) [template = f64]
// CHECK:STDOUT: %.loc43_40.2: type = value_of_initializer %float.make_type.loc43_40 [template = f64]
// CHECK:STDOUT: %.loc43_40.3: type = converted %float.make_type.loc43_40, %.loc43_40.2 [template = f64]
+9 -9
View File
@@ -36,7 +36,7 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
// CHECK:STDOUT: --- float_neq.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -88,11 +88,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64]
// CHECK:STDOUT: %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
// CHECK:STDOUT: %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_19: init type = call constants.%Float(%.loc2_19.1) [template = f64]
// CHECK:STDOUT: %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
// CHECK:STDOUT: %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
@@ -129,11 +129,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc12_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc12_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc12_19: init type = call constants.%Float(%.loc12_19.1) [template = f64]
// CHECK:STDOUT: %.loc12_19.2: type = value_of_initializer %float.make_type.loc12_19 [template = f64]
// CHECK:STDOUT: %.loc12_19.3: type = converted %float.make_type.loc12_19, %.loc12_19.2 [template = f64]
// CHECK:STDOUT: %.loc12_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc12_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc12_27: init type = call constants.%Float(%.loc12_27.1) [template = f64]
// CHECK:STDOUT: %.loc12_27.2: type = value_of_initializer %float.make_type.loc12_27 [template = f64]
// CHECK:STDOUT: %.loc12_27.3: type = converted %float.make_type.loc12_27, %.loc12_27.2 [template = f64]
@@ -226,7 +226,7 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
// CHECK:STDOUT: --- fail_bad_decl.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -257,15 +257,15 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc7_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc7_19: init type = call constants.%Float(%.loc7_19.1) [template = f64]
// CHECK:STDOUT: %.loc7_19.2: type = value_of_initializer %float.make_type.loc7_19 [template = f64]
// CHECK:STDOUT: %.loc7_19.3: type = converted %float.make_type.loc7_19, %.loc7_19.2 [template = f64]
// CHECK:STDOUT: %.loc7_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc7_27: init type = call constants.%Float(%.loc7_27.1) [template = f64]
// CHECK:STDOUT: %.loc7_27.2: type = value_of_initializer %float.make_type.loc7_27 [template = f64]
// CHECK:STDOUT: %.loc7_27.3: type = converted %float.make_type.loc7_27, %.loc7_27.2 [template = f64]
// CHECK:STDOUT: %.loc7_35.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_35.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc7_35: init type = call constants.%Float(%.loc7_35.1) [template = f64]
// CHECK:STDOUT: %.loc7_35.2: type = value_of_initializer %float.make_type.loc7_35 [template = f64]
// CHECK:STDOUT: %.loc7_35.3: type = converted %float.make_type.loc7_35, %.loc7_35.2 [template = f64]
+28 -28
View File
@@ -53,7 +53,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- float_sub.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -91,15 +91,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_11.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64]
// CHECK:STDOUT: %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
// CHECK:STDOUT: %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_19: init type = call constants.%Float(%.loc2_19.1) [template = f64]
// CHECK:STDOUT: %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
// CHECK:STDOUT: %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
// CHECK:STDOUT: %.loc2_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc2_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64]
// CHECK:STDOUT: %.loc2_27.2: type = value_of_initializer %float.make_type.loc2_27 [template = f64]
// CHECK:STDOUT: %.loc2_27.3: type = converted %float.make_type.loc2_27, %.loc2_27.2 [template = f64]
@@ -118,15 +118,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_19.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64]
// CHECK:STDOUT: %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
// CHECK:STDOUT: %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_27.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_27: init type = call constants.%Float(%.loc4_27.1) [template = f64]
// CHECK:STDOUT: %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
// CHECK:STDOUT: %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc4_35.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
// CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
// CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64]
@@ -137,7 +137,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2
// CHECK:STDOUT: %return: ref f64 = return_slot %return.param
// CHECK:STDOUT: }
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_8.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc8_8.1) [template = f64]
// CHECK:STDOUT: %.loc8_8.2: type = value_of_initializer %float.make_type [template = f64]
// CHECK:STDOUT: %.loc8_8.3: type = converted %float.make_type, %.loc8_8.2 [template = f64]
@@ -173,7 +173,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: --- fail_bad_decl.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %.1: Core.BigInt = int_literal 64 [template]
// CHECK:STDOUT: %.1: Core.BigInt = int_value 64 [template]
// CHECK:STDOUT: %Float.type: type = fn_type @Float [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %Float: %Float.type = struct_value () [template]
@@ -224,11 +224,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc8_14.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_14.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8_14: init type = call constants.%Float(%.loc8_14.1) [template = f64]
// CHECK:STDOUT: %.loc8_14.2: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
// CHECK:STDOUT: %.loc8_14.3: type = converted %float.make_type.loc8_14, %.loc8_14.2 [template = f64]
// CHECK:STDOUT: %.loc8_22.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc8_22.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64]
// CHECK:STDOUT: %.loc8_22.2: type = value_of_initializer %float.make_type.loc8_22 [template = f64]
// CHECK:STDOUT: %.loc8_22.3: type = converted %float.make_type.loc8_22, %.loc8_22.2 [template = f64]
@@ -247,19 +247,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_15.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64]
// CHECK:STDOUT: %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
// CHECK:STDOUT: %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_23.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_23: init type = call constants.%Float(%.loc13_23.1) [template = f64]
// CHECK:STDOUT: %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
// CHECK:STDOUT: %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_31.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_31: init type = call constants.%Float(%.loc13_31.1) [template = f64]
// CHECK:STDOUT: %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
// CHECK:STDOUT: %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
// CHECK:STDOUT: %.loc13_39.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc13_39.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64]
// CHECK:STDOUT: %.loc13_39.2: type = value_of_initializer %float.make_type.loc13_39 [template = f64]
// CHECK:STDOUT: %.loc13_39.3: type = converted %float.make_type.loc13_39, %.loc13_39.2 [template = f64]
@@ -280,11 +280,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc17_21.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_21.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc17_21: init type = call constants.%Float(%.loc17_21.1) [template = f64]
// CHECK:STDOUT: %.loc17_21.2: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
// CHECK:STDOUT: %.loc17_21.3: type = converted %float.make_type.loc17_21, %.loc17_21.2 [template = f64]
// CHECK:STDOUT: %.loc17_29.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc17_29.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc17_29: init type = call constants.%Float(%.loc17_29.1) [template = f64]
// CHECK:STDOUT: %.loc17_29.2: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
// CHECK:STDOUT: %.loc17_29.3: type = converted %float.make_type.loc17_29, %.loc17_29.2 [template = f64]
@@ -306,15 +306,15 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc18_17.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_17.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_17: init type = call constants.%Float(%.loc18_17.1) [template = f64]
// CHECK:STDOUT: %.loc18_17.2: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
// CHECK:STDOUT: %.loc18_17.3: type = converted %float.make_type.loc18_17, %.loc18_17.2 [template = f64]
// CHECK:STDOUT: %.loc18_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_25: init type = call constants.%Float(%.loc18_25.1) [template = f64]
// CHECK:STDOUT: %.loc18_25.2: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
// CHECK:STDOUT: %.loc18_25.3: type = converted %float.make_type.loc18_25, %.loc18_25.2 [template = f64]
// CHECK:STDOUT: %.loc18_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc18_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64]
// CHECK:STDOUT: %.loc18_33.2: type = value_of_initializer %float.make_type.loc18_33 [template = f64]
// CHECK:STDOUT: %.loc18_33.3: type = converted %float.make_type.loc18_33, %.loc18_33.2 [template = f64]
@@ -331,11 +331,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc20_25.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc20_25.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc20_25: init type = call constants.%Float(%.loc20_25.1) [template = f64]
// CHECK:STDOUT: %.loc20_25.2: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
// CHECK:STDOUT: %.loc20_25.3: type = converted %float.make_type.loc20_25, %.loc20_25.2 [template = f64]
// CHECK:STDOUT: %.loc20_33.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc20_33.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64]
// CHECK:STDOUT: %.loc20_33.2: type = value_of_initializer %float.make_type.loc20_33 [template = f64]
// CHECK:STDOUT: %.loc20_33.3: type = converted %float.make_type.loc20_33, %.loc20_33.2 [template = f64]
@@ -354,19 +354,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: f64 = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc24_26.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_26.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_26: init type = call constants.%Float(%.loc24_26.1) [template = f64]
// CHECK:STDOUT: %.loc24_26.2: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
// CHECK:STDOUT: %.loc24_26.3: type = converted %float.make_type.loc24_26, %.loc24_26.2 [template = f64]
// CHECK:STDOUT: %.loc24_34.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_34.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_34: init type = call constants.%Float(%.loc24_34.1) [template = f64]
// CHECK:STDOUT: %.loc24_34.2: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
// CHECK:STDOUT: %.loc24_34.3: type = converted %float.make_type.loc24_34, %.loc24_34.2 [template = f64]
// CHECK:STDOUT: %.loc24_42.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_42.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_42: init type = call constants.%Float(%.loc24_42.1) [template = f64]
// CHECK:STDOUT: %.loc24_42.2: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
// CHECK:STDOUT: %.loc24_42.3: type = converted %float.make_type.loc24_42, %.loc24_42.2 [template = f64]
// CHECK:STDOUT: %.loc24_50.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc24_50.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64]
// CHECK:STDOUT: %.loc24_50.2: type = value_of_initializer %float.make_type.loc24_50 [template = f64]
// CHECK:STDOUT: %.loc24_50.3: type = converted %float.make_type.loc24_50, %.loc24_50.2 [template = f64]
@@ -387,11 +387,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
// CHECK:STDOUT: %return.patt: bool = return_slot_pattern
// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2
// CHECK:STDOUT: } {
// CHECK:STDOUT: %.loc28_32.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc28_32.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc28_32: init type = call constants.%Float(%.loc28_32.1) [template = f64]
// CHECK:STDOUT: %.loc28_32.2: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
// CHECK:STDOUT: %.loc28_32.3: type = converted %float.make_type.loc28_32, %.loc28_32.2 [template = f64]
// CHECK:STDOUT: %.loc28_40.1: Core.BigInt = int_literal 64 [template = constants.%.1]
// CHECK:STDOUT: %.loc28_40.1: Core.BigInt = int_value 64 [template = constants.%.1]
// CHECK:STDOUT: %float.make_type.loc28_40: init type = call constants.%Float(%.loc28_40.1) [template = f64]
// CHECK:STDOUT: %.loc28_40.2: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
// CHECK:STDOUT: %.loc28_40.3: type = converted %float.make_type.loc28_40, %.loc28_40.2 [template = f64]
+6 -6
View File
@@ -27,9 +27,9 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %And.type: type = fn_type @And [template]
// CHECK:STDOUT: %And: %And.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 12 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 10 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 8 [template]
// CHECK:STDOUT: %.2: i32 = int_value 12 [template]
// CHECK:STDOUT: %.3: i32 = int_value 10 [template]
// CHECK:STDOUT: %.4: i32 = int_value 8 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -80,8 +80,8 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %And.ref: %And.type = name_ref And, %And.decl [template = constants.%And]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 12 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_24: i32 = int_literal 10 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 12 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_24: i32 = int_value 10 [template = constants.%.3]
// CHECK:STDOUT: %int.and: init i32 = call %And.ref(%.loc4_20, %.loc4_24) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -89,7 +89,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 8 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 8 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
+7 -7
View File
@@ -30,10 +30,10 @@ fn RuntimeCall(a: i32) -> i32 {
// CHECK:STDOUT: %Complement: %Complement.type = struct_value () [template]
// CHECK:STDOUT: %And.type: type = fn_type @And [template]
// CHECK:STDOUT: %And: %And.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1193046 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -1193047 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 16777215 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 15584169 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1193046 [template]
// CHECK:STDOUT: %.3: i32 = int_value -1193047 [template]
// CHECK:STDOUT: %.4: i32 = int_value 16777215 [template]
// CHECK:STDOUT: %.5: i32 = int_value 15584169 [template]
// CHECK:STDOUT: %.6: type = array_type %.5, i32 [template]
// CHECK:STDOUT: %.7: type = ptr_type %.6 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -103,9 +103,9 @@ fn RuntimeCall(a: i32) -> i32 {
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %And.ref: %And.type = name_ref And, %And.decl [template = constants.%And]
// CHECK:STDOUT: %Complement.ref: %Complement.type = name_ref Complement, %Complement.decl [template = constants.%Complement]
// CHECK:STDOUT: %.loc5_31: i32 = int_literal 1193046 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_31: i32 = int_value 1193046 [template = constants.%.2]
// CHECK:STDOUT: %int.complement: init i32 = call %Complement.ref(%.loc5_31) [template = constants.%.3]
// CHECK:STDOUT: %.loc5_42: i32 = int_literal 16777215 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_42: i32 = int_value 16777215 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_30.1: i32 = value_of_initializer %int.complement [template = constants.%.3]
// CHECK:STDOUT: %.loc5_30.2: i32 = converted %int.complement, %.loc5_30.1 [template = constants.%.3]
// CHECK:STDOUT: %int.and: init i32 = call %And.ref(%.loc5_30.2, %.loc5_42) [template = constants.%.5]
@@ -115,7 +115,7 @@ fn RuntimeCall(a: i32) -> i32 {
// CHECK:STDOUT: %arr.var: ref %.6 = var arr
// CHECK:STDOUT: %arr: ref %.6 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc6_18: i32 = int_literal 15584169 [template = constants.%.5]
// CHECK:STDOUT: %.loc6_18: i32 = int_value 15584169 [template = constants.%.5]
// CHECK:STDOUT: %.loc6_13.1: type = value_of_initializer %int.make_type_32.loc6 [template = i32]
// CHECK:STDOUT: %.loc6_13.2: type = converted %int.make_type_32.loc6, %.loc6_13.1 [template = i32]
// CHECK:STDOUT: %.loc6_26: type = array_type %.loc6_18, i32 [template = constants.%.6]
+6 -6
View File
@@ -50,9 +50,9 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq";
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: bool = bool_literal true [template]
// CHECK:STDOUT: %.7: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.7: i32 = int_value 2 [template]
// CHECK:STDOUT: %.8: bool = bool_literal false [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
// CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [template]
@@ -168,8 +168,8 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq";
// 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 [template = constants.%Eq]
// CHECK:STDOUT: %.loc8_19: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc8_22: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc8_19: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc8_22: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.eq.loc8: init bool = call %Eq.ref.loc8(%.loc8_19, %.loc8_22) [template = constants.%.6]
// CHECK:STDOUT: %.loc8_13.1: bool = value_of_initializer %int.eq.loc8 [template = constants.%.6]
// CHECK:STDOUT: %.loc8_13.2: bool = converted %int.eq.loc8, %.loc8_13.1 [template = constants.%.6]
@@ -187,8 +187,8 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq";
// CHECK:STDOUT: %.loc8_13.3: type = block_arg !if.expr.result.loc8 [template = constants.%True]
// CHECK:STDOUT: %false_.ref: %False = name_ref false_, %false_
// CHECK:STDOUT: %Eq.ref.loc9: %Eq.type = name_ref Eq, file.%Eq.decl [template = constants.%Eq]
// CHECK:STDOUT: %.loc9_20: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_23: i32 = int_literal 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_20: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_23: i32 = int_value 2 [template = constants.%.7]
// CHECK:STDOUT: %int.eq.loc9: init bool = call %Eq.ref.loc9(%.loc9_20, %.loc9_23) [template = constants.%.8]
// CHECK:STDOUT: %.loc9_14.1: bool = value_of_initializer %int.eq.loc9 [template = constants.%.8]
// CHECK:STDOUT: %.loc9_14.2: bool = converted %int.eq.loc9, %.loc9_14.1 [template = constants.%.8]
+14 -14
View File
@@ -47,12 +47,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: bool = bool_literal false [template]
// CHECK:STDOUT: %.8: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.8: i32 = int_value 0 [template]
// CHECK:STDOUT: %.9: bool = bool_literal true [template]
// CHECK:STDOUT: %.10: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.10: i32 = int_value -1 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
// CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -187,8 +187,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// 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 [template = constants.%Greater]
// CHECK:STDOUT: %.loc9_25: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_28: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc9_25: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_28: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %int.greater.loc9: init bool = call %Greater.ref.loc9(%.loc9_25, %.loc9_28) [template = constants.%.7]
// CHECK:STDOUT: %.loc9_14.1: bool = value_of_initializer %int.greater.loc9 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_14.2: bool = converted %int.greater.loc9, %.loc9_14.1 [template = constants.%.7]
@@ -206,8 +206,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc9_14.3: type = block_arg !if.expr.result.loc9 [template = constants.%False]
// CHECK:STDOUT: %false_.ref.loc10: %False = name_ref false_, %false_
// CHECK:STDOUT: %Greater.ref.loc10: %Greater.type = name_ref Greater, file.%Greater.decl [template = constants.%Greater]
// CHECK:STDOUT: %.loc10_25: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_28: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_25: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_28: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.greater.loc10: init bool = call %Greater.ref.loc10(%.loc10_25, %.loc10_28) [template = constants.%.7]
// CHECK:STDOUT: %.loc10_14.1: bool = value_of_initializer %int.greater.loc10 [template = constants.%.7]
// CHECK:STDOUT: %.loc10_14.2: bool = converted %int.greater.loc10, %.loc10_14.1 [template = constants.%.7]
@@ -225,8 +225,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc10_14.3: type = block_arg !if.expr.result.loc10 [template = constants.%False]
// CHECK:STDOUT: %true_.ref.loc11: %True = name_ref true_, %true_
// CHECK:STDOUT: %Greater.ref.loc11: %Greater.type = name_ref Greater, file.%Greater.decl [template = constants.%Greater]
// CHECK:STDOUT: %.loc11_24: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_24: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %int.greater.loc11: init bool = call %Greater.ref.loc11(%.loc11_24, %.loc11_27) [template = constants.%.9]
// CHECK:STDOUT: %.loc11_13.1: bool = value_of_initializer %int.greater.loc11 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_13.2: bool = converted %int.greater.loc11, %.loc11_13.1 [template = constants.%.9]
@@ -245,9 +245,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %false_.ref.loc12: %False = name_ref false_, %false_
// CHECK:STDOUT: %Greater.ref.loc12: %Greater.type = name_ref Greater, file.%Greater.decl [template = constants.%Greater]
// CHECK:STDOUT: %Negate.ref.loc12: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_32: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc12_32: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.snegate.loc12: init i32 = call %Negate.ref.loc12(%.loc12_32) [template = constants.%.10]
// CHECK:STDOUT: %.loc12_36: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc12_36: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc12_31.1: i32 = value_of_initializer %int.snegate.loc12 [template = constants.%.10]
// CHECK:STDOUT: %.loc12_31.2: i32 = converted %int.snegate.loc12, %.loc12_31.1 [template = constants.%.10]
// CHECK:STDOUT: %int.greater.loc12: init bool = call %Greater.ref.loc12(%.loc12_31.2, %.loc12_36) [template = constants.%.7]
@@ -267,9 +267,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc12_14.3: type = block_arg !if.expr.result.loc12 [template = constants.%False]
// CHECK:STDOUT: %true_.ref.loc13: %True = name_ref true_, %true_
// CHECK:STDOUT: %Greater.ref.loc13: %Greater.type = name_ref Greater, file.%Greater.decl [template = constants.%Greater]
// CHECK:STDOUT: %.loc13_24: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_24: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %Negate.ref.loc13: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc13_34: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_34: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.snegate.loc13: init i32 = call %Negate.ref.loc13(%.loc13_34) [template = constants.%.10]
// CHECK:STDOUT: %.loc13_33.1: i32 = value_of_initializer %int.snegate.loc13 [template = constants.%.10]
// CHECK:STDOUT: %.loc13_33.2: i32 = converted %int.snegate.loc13, %.loc13_33.1 [template = constants.%.10]
+14 -14
View File
@@ -47,12 +47,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: bool = bool_literal false [template]
// CHECK:STDOUT: %.8: bool = bool_literal true [template]
// CHECK:STDOUT: %.9: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.10: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.9: i32 = int_value 0 [template]
// CHECK:STDOUT: %.10: i32 = int_value -1 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
// CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -187,8 +187,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// 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 [template = constants.%GreaterEq]
// CHECK:STDOUT: %.loc9_27: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_30: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc9_27: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_30: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %int.greater_eq.loc9: init bool = call %GreaterEq.ref.loc9(%.loc9_27, %.loc9_30) [template = constants.%.7]
// CHECK:STDOUT: %.loc9_14.1: bool = value_of_initializer %int.greater_eq.loc9 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_14.2: bool = converted %int.greater_eq.loc9, %.loc9_14.1 [template = constants.%.7]
@@ -206,8 +206,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc9_14.3: type = block_arg !if.expr.result.loc9 [template = constants.%False]
// CHECK:STDOUT: %true_.ref.loc10: %True = name_ref true_, %true_
// CHECK:STDOUT: %GreaterEq.ref.loc10: %GreaterEq.type = name_ref GreaterEq, file.%GreaterEq.decl [template = constants.%GreaterEq]
// CHECK:STDOUT: %.loc10_26: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_29: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_26: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_29: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.greater_eq.loc10: init bool = call %GreaterEq.ref.loc10(%.loc10_26, %.loc10_29) [template = constants.%.8]
// CHECK:STDOUT: %.loc10_13.1: bool = value_of_initializer %int.greater_eq.loc10 [template = constants.%.8]
// CHECK:STDOUT: %.loc10_13.2: bool = converted %int.greater_eq.loc10, %.loc10_13.1 [template = constants.%.8]
@@ -225,8 +225,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc10_13.3: type = block_arg !if.expr.result.loc10 [template = constants.%True]
// CHECK:STDOUT: %true_.ref.loc11: %True = name_ref true_, %true_
// CHECK:STDOUT: %GreaterEq.ref.loc11: %GreaterEq.type = name_ref GreaterEq, file.%GreaterEq.decl [template = constants.%GreaterEq]
// CHECK:STDOUT: %.loc11_26: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_29: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_26: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_29: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %int.greater_eq.loc11: init bool = call %GreaterEq.ref.loc11(%.loc11_26, %.loc11_29) [template = constants.%.8]
// CHECK:STDOUT: %.loc11_13.1: bool = value_of_initializer %int.greater_eq.loc11 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_13.2: bool = converted %int.greater_eq.loc11, %.loc11_13.1 [template = constants.%.8]
@@ -245,9 +245,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %false_.ref.loc12: %False = name_ref false_, %false_
// CHECK:STDOUT: %GreaterEq.ref.loc12: %GreaterEq.type = name_ref GreaterEq, file.%GreaterEq.decl [template = constants.%GreaterEq]
// CHECK:STDOUT: %Negate.ref.loc12: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_34: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc12_34: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.snegate.loc12: init i32 = call %Negate.ref.loc12(%.loc12_34) [template = constants.%.10]
// CHECK:STDOUT: %.loc12_38: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc12_38: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc12_33.1: i32 = value_of_initializer %int.snegate.loc12 [template = constants.%.10]
// CHECK:STDOUT: %.loc12_33.2: i32 = converted %int.snegate.loc12, %.loc12_33.1 [template = constants.%.10]
// CHECK:STDOUT: %int.greater_eq.loc12: init bool = call %GreaterEq.ref.loc12(%.loc12_33.2, %.loc12_38) [template = constants.%.7]
@@ -267,9 +267,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc12_14.3: type = block_arg !if.expr.result.loc12 [template = constants.%False]
// CHECK:STDOUT: %true_.ref.loc13: %True = name_ref true_, %true_
// CHECK:STDOUT: %GreaterEq.ref.loc13: %GreaterEq.type = name_ref GreaterEq, file.%GreaterEq.decl [template = constants.%GreaterEq]
// CHECK:STDOUT: %.loc13_26: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc13_26: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %Negate.ref.loc13: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc13_36: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_36: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.snegate.loc13: init i32 = call %Negate.ref.loc13(%.loc13_36) [template = constants.%.10]
// CHECK:STDOUT: %.loc13_35.1: i32 = value_of_initializer %int.snegate.loc13 [template = constants.%.10]
// CHECK:STDOUT: %.loc13_35.2: i32 = converted %int.snegate.loc13, %.loc13_35.1 [template = constants.%.10]
+30 -30
View File
@@ -71,9 +71,9 @@ let negative: i32 = LeftShift(1, Negate(1));
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %LeftShift.type: type = fn_type @LeftShift [template]
// CHECK:STDOUT: %LeftShift: %LeftShift.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 20 [template]
// CHECK:STDOUT: %.2: i32 = int_value 5 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 20 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -124,8 +124,8 @@ let negative: i32 = LeftShift(1, Negate(1));
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %LeftShift.ref: %LeftShift.type = name_ref LeftShift, %LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc4_26: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_29: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_26: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_29: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.left_shift: init i32 = call %LeftShift.ref(%.loc4_26, %.loc4_29) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -133,7 +133,7 @@ let negative: i32 = LeftShift(1, Negate(1));
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 20 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 20 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_20: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -197,14 +197,14 @@ let negative: i32 = LeftShift(1, Negate(1));
// CHECK:STDOUT: %LeftShift: %LeftShift.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 31 [template]
// CHECK:STDOUT: %.4: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 32 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 33 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 1000 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.9: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 31 [template]
// CHECK:STDOUT: %.4: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: %.5: i32 = int_value 32 [template]
// CHECK:STDOUT: %.6: i32 = int_value 33 [template]
// CHECK:STDOUT: %.7: i32 = int_value 1000 [template]
// CHECK:STDOUT: %.8: i32 = int_value 0 [template]
// CHECK:STDOUT: %.9: i32 = int_value -1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -307,58 +307,58 @@ let negative: i32 = LeftShift(1, Negate(1));
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %LeftShift.ref.loc8: %LeftShift.type = name_ref LeftShift, file.%LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc8_29: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_32: i32 = int_literal 31 [template = constants.%.3]
// CHECK:STDOUT: %.loc8_29: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_32: i32 = int_value 31 [template = constants.%.3]
// CHECK:STDOUT: %int.left_shift.loc8: init i32 = call %LeftShift.ref.loc8(%.loc8_29, %.loc8_32) [template = constants.%.4]
// CHECK:STDOUT: %.loc8_35.1: i32 = value_of_initializer %int.left_shift.loc8 [template = constants.%.4]
// CHECK:STDOUT: %.loc8_35.2: i32 = converted %int.left_shift.loc8, %.loc8_35.1 [template = constants.%.4]
// CHECK:STDOUT: %size_1: i32 = bind_name size_1, %.loc8_35.2
// CHECK:STDOUT: %LeftShift.ref.loc13: %LeftShift.type = name_ref LeftShift, file.%LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc13_29: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_32: i32 = int_literal 32 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_29: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_32: i32 = int_value 32 [template = constants.%.5]
// CHECK:STDOUT: %int.left_shift.loc13: init i32 = call %LeftShift.ref.loc13(%.loc13_29, %.loc13_32) [template = <error>]
// CHECK:STDOUT: %.loc13_35.1: i32 = value_of_initializer %int.left_shift.loc13 [template = <error>]
// CHECK:STDOUT: %.loc13_35.2: i32 = converted %int.left_shift.loc13, %.loc13_35.1 [template = <error>]
// CHECK:STDOUT: %size_2: i32 = bind_name size_2, %.loc13_35.2
// CHECK:STDOUT: %LeftShift.ref.loc18: %LeftShift.type = name_ref LeftShift, file.%LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc18_29: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc18_32: i32 = int_literal 33 [template = constants.%.6]
// CHECK:STDOUT: %.loc18_29: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc18_32: i32 = int_value 33 [template = constants.%.6]
// CHECK:STDOUT: %int.left_shift.loc18: init i32 = call %LeftShift.ref.loc18(%.loc18_29, %.loc18_32) [template = <error>]
// CHECK:STDOUT: %.loc18_35.1: i32 = value_of_initializer %int.left_shift.loc18 [template = <error>]
// CHECK:STDOUT: %.loc18_35.2: i32 = converted %int.left_shift.loc18, %.loc18_35.1 [template = <error>]
// CHECK:STDOUT: %size_3: i32 = bind_name size_3, %.loc18_35.2
// CHECK:STDOUT: %LeftShift.ref.loc21: %LeftShift.type = name_ref LeftShift, file.%LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc21_33: i32 = int_literal 1000 [template = constants.%.7]
// CHECK:STDOUT: %.loc21_39: i32 = int_literal 31 [template = constants.%.3]
// CHECK:STDOUT: %.loc21_33: i32 = int_value 1000 [template = constants.%.7]
// CHECK:STDOUT: %.loc21_39: i32 = int_value 31 [template = constants.%.3]
// CHECK:STDOUT: %int.left_shift.loc21: init i32 = call %LeftShift.ref.loc21(%.loc21_33, %.loc21_39) [template = constants.%.8]
// CHECK:STDOUT: %.loc21_42.1: i32 = value_of_initializer %int.left_shift.loc21 [template = constants.%.8]
// CHECK:STDOUT: %.loc21_42.2: i32 = converted %int.left_shift.loc21, %.loc21_42.1 [template = constants.%.8]
// CHECK:STDOUT: %overflow_1: i32 = bind_name overflow_1, %.loc21_42.2
// CHECK:STDOUT: %LeftShift.ref.loc26: %LeftShift.type = name_ref LeftShift, file.%LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc26_33: i32 = int_literal 1000 [template = constants.%.7]
// CHECK:STDOUT: %.loc26_39: i32 = int_literal 32 [template = constants.%.5]
// CHECK:STDOUT: %.loc26_33: i32 = int_value 1000 [template = constants.%.7]
// CHECK:STDOUT: %.loc26_39: i32 = int_value 32 [template = constants.%.5]
// CHECK:STDOUT: %int.left_shift.loc26: init i32 = call %LeftShift.ref.loc26(%.loc26_33, %.loc26_39) [template = <error>]
// CHECK:STDOUT: %.loc26_42.1: i32 = value_of_initializer %int.left_shift.loc26 [template = <error>]
// CHECK:STDOUT: %.loc26_42.2: i32 = converted %int.left_shift.loc26, %.loc26_42.1 [template = <error>]
// CHECK:STDOUT: %overflow_2: i32 = bind_name overflow_2, %.loc26_42.2
// CHECK:STDOUT: %LeftShift.ref.loc29: %LeftShift.type = name_ref LeftShift, file.%LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc29_36: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc29_39: i32 = int_literal 31 [template = constants.%.3]
// CHECK:STDOUT: %.loc29_36: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc29_39: i32 = int_value 31 [template = constants.%.3]
// CHECK:STDOUT: %int.left_shift.loc29: init i32 = call %LeftShift.ref.loc29(%.loc29_36, %.loc29_39) [template = constants.%.8]
// CHECK:STDOUT: %.loc29_42.1: i32 = value_of_initializer %int.left_shift.loc29 [template = constants.%.8]
// CHECK:STDOUT: %.loc29_42.2: i32 = converted %int.left_shift.loc29, %.loc29_42.1 [template = constants.%.8]
// CHECK:STDOUT: %no_overflow_1: i32 = bind_name no_overflow_1, %.loc29_42.2
// CHECK:STDOUT: %LeftShift.ref.loc34: %LeftShift.type = name_ref LeftShift, file.%LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc34_36: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc34_39: i32 = int_literal 32 [template = constants.%.5]
// CHECK:STDOUT: %.loc34_36: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc34_39: i32 = int_value 32 [template = constants.%.5]
// CHECK:STDOUT: %int.left_shift.loc34: init i32 = call %LeftShift.ref.loc34(%.loc34_36, %.loc34_39) [template = <error>]
// CHECK:STDOUT: %.loc34_42.1: i32 = value_of_initializer %int.left_shift.loc34 [template = <error>]
// CHECK:STDOUT: %.loc34_42.2: i32 = converted %int.left_shift.loc34, %.loc34_42.1 [template = <error>]
// CHECK:STDOUT: %no_overflow_2: i32 = bind_name no_overflow_2, %.loc34_42.2
// CHECK:STDOUT: %LeftShift.ref.loc40: %LeftShift.type = name_ref LeftShift, file.%LeftShift.decl [template = constants.%LeftShift]
// CHECK:STDOUT: %.loc40_31: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc40_31: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %Negate.ref: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc40_41: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc40_41: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate: init i32 = call %Negate.ref(%.loc40_41) [template = constants.%.9]
// CHECK:STDOUT: %.loc40_40.1: i32 = value_of_initializer %int.snegate [template = constants.%.9]
// CHECK:STDOUT: %.loc40_40.2: i32 = converted %int.snegate, %.loc40_40.1 [template = constants.%.9]
+14 -14
View File
@@ -47,12 +47,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: bool = bool_literal true [template]
// CHECK:STDOUT: %.8: bool = bool_literal false [template]
// CHECK:STDOUT: %.9: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.10: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.9: i32 = int_value 0 [template]
// CHECK:STDOUT: %.10: i32 = int_value -1 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
// CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -187,8 +187,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// 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 [template = constants.%Less]
// CHECK:STDOUT: %.loc9_21: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_24: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc9_21: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_24: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %int.less.loc9: init bool = call %Less.ref.loc9(%.loc9_21, %.loc9_24) [template = constants.%.7]
// CHECK:STDOUT: %.loc9_13.1: bool = value_of_initializer %int.less.loc9 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_13.2: bool = converted %int.less.loc9, %.loc9_13.1 [template = constants.%.7]
@@ -206,8 +206,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc9_13.3: type = block_arg !if.expr.result.loc9 [template = constants.%True]
// CHECK:STDOUT: %false_.ref.loc10: %False = name_ref false_, %false_
// CHECK:STDOUT: %Less.ref.loc10: %Less.type = name_ref Less, file.%Less.decl [template = constants.%Less]
// CHECK:STDOUT: %.loc10_22: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_25: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_22: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_25: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.less.loc10: init bool = call %Less.ref.loc10(%.loc10_22, %.loc10_25) [template = constants.%.8]
// CHECK:STDOUT: %.loc10_14.1: bool = value_of_initializer %int.less.loc10 [template = constants.%.8]
// CHECK:STDOUT: %.loc10_14.2: bool = converted %int.less.loc10, %.loc10_14.1 [template = constants.%.8]
@@ -225,8 +225,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc10_14.3: type = block_arg !if.expr.result.loc10 [template = constants.%False]
// CHECK:STDOUT: %false_.ref.loc11: %False = name_ref false_, %false_
// CHECK:STDOUT: %Less.ref.loc11: %Less.type = name_ref Less, file.%Less.decl [template = constants.%Less]
// CHECK:STDOUT: %.loc11_22: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_25: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_22: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_25: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %int.less.loc11: init bool = call %Less.ref.loc11(%.loc11_22, %.loc11_25) [template = constants.%.8]
// CHECK:STDOUT: %.loc11_14.1: bool = value_of_initializer %int.less.loc11 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_14.2: bool = converted %int.less.loc11, %.loc11_14.1 [template = constants.%.8]
@@ -245,9 +245,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %true_.ref.loc12: %True = name_ref true_, %true_
// CHECK:STDOUT: %Less.ref.loc12: %Less.type = name_ref Less, file.%Less.decl [template = constants.%Less]
// CHECK:STDOUT: %Negate.ref.loc12: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_28: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc12_28: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.snegate.loc12: init i32 = call %Negate.ref.loc12(%.loc12_28) [template = constants.%.10]
// CHECK:STDOUT: %.loc12_32: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc12_32: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc12_27.1: i32 = value_of_initializer %int.snegate.loc12 [template = constants.%.10]
// CHECK:STDOUT: %.loc12_27.2: i32 = converted %int.snegate.loc12, %.loc12_27.1 [template = constants.%.10]
// CHECK:STDOUT: %int.less.loc12: init bool = call %Less.ref.loc12(%.loc12_27.2, %.loc12_32) [template = constants.%.7]
@@ -267,9 +267,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc12_13.3: type = block_arg !if.expr.result.loc12 [template = constants.%True]
// CHECK:STDOUT: %false_.ref.loc13: %False = name_ref false_, %false_
// CHECK:STDOUT: %Less.ref.loc13: %Less.type = name_ref Less, file.%Less.decl [template = constants.%Less]
// CHECK:STDOUT: %.loc13_22: i32 = int_literal 0 [template = constants.%.9]
// CHECK:STDOUT: %.loc13_22: i32 = int_value 0 [template = constants.%.9]
// CHECK:STDOUT: %Negate.ref.loc13: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc13_32: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_32: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.snegate.loc13: init i32 = call %Negate.ref.loc13(%.loc13_32) [template = constants.%.10]
// CHECK:STDOUT: %.loc13_31.1: i32 = value_of_initializer %int.snegate.loc13 [template = constants.%.10]
// CHECK:STDOUT: %.loc13_31.2: i32 = converted %int.snegate.loc13, %.loc13_31.1 [template = constants.%.10]
+14 -14
View File
@@ -47,12 +47,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: bool = bool_literal true [template]
// CHECK:STDOUT: %.8: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.8: i32 = int_value 0 [template]
// CHECK:STDOUT: %.9: bool = bool_literal false [template]
// CHECK:STDOUT: %.10: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.10: i32 = int_value -1 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
// CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -187,8 +187,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// 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 [template = constants.%LessEq]
// CHECK:STDOUT: %.loc9_23: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_26: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc9_23: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_26: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %int.less_eq.loc9: init bool = call %LessEq.ref.loc9(%.loc9_23, %.loc9_26) [template = constants.%.7]
// CHECK:STDOUT: %.loc9_13.1: bool = value_of_initializer %int.less_eq.loc9 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_13.2: bool = converted %int.less_eq.loc9, %.loc9_13.1 [template = constants.%.7]
@@ -206,8 +206,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc9_13.3: type = block_arg !if.expr.result.loc9 [template = constants.%True]
// CHECK:STDOUT: %true_.ref.loc10: %True = name_ref true_, %true_
// CHECK:STDOUT: %LessEq.ref.loc10: %LessEq.type = name_ref LessEq, file.%LessEq.decl [template = constants.%LessEq]
// CHECK:STDOUT: %.loc10_23: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_26: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_23: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_26: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.less_eq.loc10: init bool = call %LessEq.ref.loc10(%.loc10_23, %.loc10_26) [template = constants.%.7]
// CHECK:STDOUT: %.loc10_13.1: bool = value_of_initializer %int.less_eq.loc10 [template = constants.%.7]
// CHECK:STDOUT: %.loc10_13.2: bool = converted %int.less_eq.loc10, %.loc10_13.1 [template = constants.%.7]
@@ -225,8 +225,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc10_13.3: type = block_arg !if.expr.result.loc10 [template = constants.%True]
// CHECK:STDOUT: %false_.ref.loc11: %False = name_ref false_, %false_
// CHECK:STDOUT: %LessEq.ref.loc11: %LessEq.type = name_ref LessEq, file.%LessEq.decl [template = constants.%LessEq]
// CHECK:STDOUT: %.loc11_24: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc11_24: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_27: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %int.less_eq.loc11: init bool = call %LessEq.ref.loc11(%.loc11_24, %.loc11_27) [template = constants.%.9]
// CHECK:STDOUT: %.loc11_14.1: bool = value_of_initializer %int.less_eq.loc11 [template = constants.%.9]
// CHECK:STDOUT: %.loc11_14.2: bool = converted %int.less_eq.loc11, %.loc11_14.1 [template = constants.%.9]
@@ -245,9 +245,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %true_.ref.loc12: %True = name_ref true_, %true_
// CHECK:STDOUT: %LessEq.ref.loc12: %LessEq.type = name_ref LessEq, file.%LessEq.decl [template = constants.%LessEq]
// CHECK:STDOUT: %Negate.ref.loc12: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_30: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc12_30: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.snegate.loc12: init i32 = call %Negate.ref.loc12(%.loc12_30) [template = constants.%.10]
// CHECK:STDOUT: %.loc12_34: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc12_34: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc12_29.1: i32 = value_of_initializer %int.snegate.loc12 [template = constants.%.10]
// CHECK:STDOUT: %.loc12_29.2: i32 = converted %int.snegate.loc12, %.loc12_29.1 [template = constants.%.10]
// CHECK:STDOUT: %int.less_eq.loc12: init bool = call %LessEq.ref.loc12(%.loc12_29.2, %.loc12_34) [template = constants.%.7]
@@ -267,9 +267,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc12_13.3: type = block_arg !if.expr.result.loc12 [template = constants.%True]
// CHECK:STDOUT: %false_.ref.loc13: %False = name_ref false_, %false_
// CHECK:STDOUT: %LessEq.ref.loc13: %LessEq.type = name_ref LessEq, file.%LessEq.decl [template = constants.%LessEq]
// CHECK:STDOUT: %.loc13_24: i32 = int_literal 0 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_24: i32 = int_value 0 [template = constants.%.8]
// CHECK:STDOUT: %Negate.ref.loc13: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc13_34: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_34: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.snegate.loc13: init i32 = call %Negate.ref.loc13(%.loc13_34) [template = constants.%.10]
// CHECK:STDOUT: %.loc13_33.1: i32 = value_of_initializer %int.snegate.loc13 [template = constants.%.10]
// CHECK:STDOUT: %.loc13_33.2: i32 = converted %int.snegate.loc13, %.loc13_33.1 [template = constants.%.10]
+2 -2
View File
@@ -60,7 +60,7 @@ var i: Int() = 0;
// CHECK:STDOUT: %Int.type: type = fn_type @Int [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -91,7 +91,7 @@ var i: Int() = 0;
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc6: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc6: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: assign file.%i.var, %.loc6
// CHECK:STDOUT: return
// CHECK:STDOUT: }
+23 -23
View File
@@ -139,11 +139,11 @@ var m: Int(1000000000);
// CHECK:STDOUT: %Int.type: type = fn_type @Int [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 64 [template]
// CHECK:STDOUT: %.2: i32 = int_value 64 [template]
// CHECK:STDOUT: %.3: type = int_type signed, %.2 [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: i32 = int_literal 13 [template]
// CHECK:STDOUT: %.4: i32 = int_value 13 [template]
// CHECK:STDOUT: %.5: type = int_type signed, %.4 [template]
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
@@ -183,12 +183,12 @@ var m: Int(1000000000);
// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %Int.ref.loc6_9: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc6_13: i32 = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_13: i32 = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_signed.loc6_12: init type = call %Int.ref.loc6_9(%.loc6_13) [template = constants.%.3]
// CHECK:STDOUT: %.loc6_15.1: type = value_of_initializer %int.make_type_signed.loc6_12 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_15.2: type = converted %int.make_type_signed.loc6_12, %.loc6_15.1 [template = constants.%.3]
// CHECK:STDOUT: %Int.ref.loc6_21: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc6_25: i32 = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_25: i32 = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_signed.loc6_24: init type = call %Int.ref.loc6_21(%.loc6_25) [template = constants.%.3]
// CHECK:STDOUT: %.loc6_27.1: type = value_of_initializer %int.make_type_signed.loc6_24 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_27.2: type = converted %int.make_type_signed.loc6_24, %.loc6_27.1 [template = constants.%.3]
@@ -204,12 +204,12 @@ var m: Int(1000000000);
// CHECK:STDOUT: %return.param_patt: %.5 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %Int.ref.loc10_9: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc10_13: i32 = int_literal 13 [template = constants.%.4]
// CHECK:STDOUT: %.loc10_13: i32 = int_value 13 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_signed.loc10_12: init type = call %Int.ref.loc10_9(%.loc10_13) [template = constants.%.5]
// CHECK:STDOUT: %.loc10_15.1: type = value_of_initializer %int.make_type_signed.loc10_12 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_15.2: type = converted %int.make_type_signed.loc10_12, %.loc10_15.1 [template = constants.%.5]
// CHECK:STDOUT: %Int.ref.loc10_21: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc10_25: i32 = int_literal 13 [template = constants.%.4]
// CHECK:STDOUT: %.loc10_25: i32 = int_value 13 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_signed.loc10_24: init type = call %Int.ref.loc10_21(%.loc10_25) [template = constants.%.5]
// CHECK:STDOUT: %.loc10_27.1: type = value_of_initializer %int.make_type_signed.loc10_24 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_27.2: type = converted %int.make_type_signed.loc10_24, %.loc10_27.1 [template = constants.%.5]
@@ -290,19 +290,19 @@ var m: Int(1000000000);
// CHECK:STDOUT: %Int.type: type = fn_type @Int [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 64 [template]
// CHECK:STDOUT: %.2: i32 = int_value 64 [template]
// CHECK:STDOUT: %.3: type = int_type signed, %.2 [template]
// CHECK:STDOUT: %UseF.type: type = fn_type @UseF [template]
// CHECK:STDOUT: %UseF: %UseF.type = struct_value () [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: i32 = int_literal 13 [template]
// CHECK:STDOUT: %.4: i32 = int_value 13 [template]
// CHECK:STDOUT: %.5: type = int_type signed, %.4 [template]
// CHECK:STDOUT: %UseG.type: type = fn_type @UseG [template]
// CHECK:STDOUT: %UseG: %UseG.type = struct_value () [template]
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
// CHECK:STDOUT: %.6: i32 = int_literal 24 [template]
// CHECK:STDOUT: %.6: i32 = int_value 24 [template]
// CHECK:STDOUT: %.7: type = int_type signed, %.6 [template]
// CHECK:STDOUT: %UseSymbolic.type: type = fn_type @UseSymbolic [template]
// CHECK:STDOUT: %UseSymbolic: %UseSymbolic.type = struct_value () [template]
@@ -345,12 +345,12 @@ var m: Int(1000000000);
// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %Int.ref.loc7_12: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc7_16: i32 = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_16: i32 = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_signed.loc7_15: init type = call %Int.ref.loc7_12(%.loc7_16) [template = constants.%.3]
// CHECK:STDOUT: %.loc7_18.1: type = value_of_initializer %int.make_type_signed.loc7_15 [template = constants.%.3]
// CHECK:STDOUT: %.loc7_18.2: type = converted %int.make_type_signed.loc7_15, %.loc7_18.1 [template = constants.%.3]
// CHECK:STDOUT: %Int.ref.loc7_24: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc7_28: i32 = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_28: i32 = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_signed.loc7_27: init type = call %Int.ref.loc7_24(%.loc7_28) [template = constants.%.3]
// CHECK:STDOUT: %.loc7_30.1: type = value_of_initializer %int.make_type_signed.loc7_27 [template = constants.%.3]
// CHECK:STDOUT: %.loc7_30.2: type = converted %int.make_type_signed.loc7_27, %.loc7_30.1 [template = constants.%.3]
@@ -366,12 +366,12 @@ var m: Int(1000000000);
// CHECK:STDOUT: %return.param_patt: %.5 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %Int.ref.loc11_12: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc11_16: i32 = int_literal 13 [template = constants.%.4]
// CHECK:STDOUT: %.loc11_16: i32 = int_value 13 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_signed.loc11_15: init type = call %Int.ref.loc11_12(%.loc11_16) [template = constants.%.5]
// CHECK:STDOUT: %.loc11_18.1: type = value_of_initializer %int.make_type_signed.loc11_15 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_18.2: type = converted %int.make_type_signed.loc11_15, %.loc11_18.1 [template = constants.%.5]
// CHECK:STDOUT: %Int.ref.loc11_24: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc11_28: i32 = int_literal 13 [template = constants.%.4]
// CHECK:STDOUT: %.loc11_28: i32 = int_value 13 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_signed.loc11_27: init type = call %Int.ref.loc11_24(%.loc11_28) [template = constants.%.5]
// CHECK:STDOUT: %.loc11_30.1: type = value_of_initializer %int.make_type_signed.loc11_27 [template = constants.%.5]
// CHECK:STDOUT: %.loc11_30.2: type = converted %int.make_type_signed.loc11_27, %.loc11_30.1 [template = constants.%.5]
@@ -387,12 +387,12 @@ var m: Int(1000000000);
// CHECK:STDOUT: %return.param_patt: %.7 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %Int.ref.loc15_19: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc15_23: i32 = int_literal 24 [template = constants.%.6]
// CHECK:STDOUT: %.loc15_23: i32 = int_value 24 [template = constants.%.6]
// CHECK:STDOUT: %int.make_type_signed.loc15_22: init type = call %Int.ref.loc15_19(%.loc15_23) [template = constants.%.7]
// CHECK:STDOUT: %.loc15_25.1: type = value_of_initializer %int.make_type_signed.loc15_22 [template = constants.%.7]
// CHECK:STDOUT: %.loc15_25.2: type = converted %int.make_type_signed.loc15_22, %.loc15_25.1 [template = constants.%.7]
// CHECK:STDOUT: %Int.ref.loc15_31: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %.loc15_35: i32 = int_literal 24 [template = constants.%.6]
// CHECK:STDOUT: %.loc15_35: i32 = int_value 24 [template = constants.%.6]
// CHECK:STDOUT: %int.make_type_signed.loc15_34: init type = call %Int.ref.loc15_31(%.loc15_35) [template = constants.%.7]
// CHECK:STDOUT: %.loc15_37.1: type = value_of_initializer %int.make_type_signed.loc15_34 [template = constants.%.7]
// CHECK:STDOUT: %.loc15_37.2: type = converted %int.make_type_signed.loc15_34, %.loc15_37.1 [template = constants.%.7]
@@ -432,7 +432,7 @@ var m: Int(1000000000);
// CHECK:STDOUT: fn @UseSymbolic(%n.param_patt: %.7) -> %.7 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Symbolic.ref: %Symbolic.type = name_ref Symbolic, imports.%import_ref.4 [template = constants.%Symbolic]
// CHECK:STDOUT: %.loc16_19: i32 = int_literal 24 [template = constants.%.6]
// CHECK:STDOUT: %.loc16_19: i32 = int_value 24 [template = constants.%.6]
// CHECK:STDOUT: %n.ref: %.7 = name_ref n, %n
// CHECK:STDOUT: %.loc16_10: <specific function> = specific_function %Symbolic.ref, @Symbolic(constants.%.6) [template = constants.%.9]
// CHECK:STDOUT: %Symbolic.call: init %.7 = call %.loc16_10(%n.ref)
@@ -471,7 +471,7 @@ var m: Int(1000000000);
// CHECK:STDOUT: %Int.type: type = fn_type @Int [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -491,7 +491,7 @@ var m: Int(1000000000);
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %default.import = import <invalid>
// CHECK:STDOUT: %Int.ref: %Int.type = name_ref Int, imports.%import_ref [template = constants.%Int]
// CHECK:STDOUT: %.loc10_12: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_12: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_signed: init type = call %Int.ref(%.loc10_12) [template = <error>]
// CHECK:STDOUT: %.loc10_13.1: type = value_of_initializer %int.make_type_signed [template = <error>]
// CHECK:STDOUT: %.loc10_13.2: type = converted %int.make_type_signed, %.loc10_13.1 [template = <error>]
@@ -511,8 +511,8 @@ var m: Int(1000000000);
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %Int.type: type = fn_type @Int [template]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value -1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -553,7 +553,7 @@ var m: Int(1000000000);
// CHECK:STDOUT: }
// CHECK:STDOUT: %Int.ref: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
// CHECK:STDOUT: %Negate.ref: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_19: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_19: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate: init i32 = call %Negate.ref(%.loc12_19) [template = constants.%.3]
// CHECK:STDOUT: %.loc12_18.1: i32 = value_of_initializer %int.snegate [template = constants.%.3]
// CHECK:STDOUT: %.loc12_18.2: i32 = converted %int.snegate, %.loc12_18.1 [template = constants.%.3]
@@ -576,7 +576,7 @@ var m: Int(1000000000);
// CHECK:STDOUT: %Int.type: type = fn_type @Int [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int: %Int.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1000000000 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1000000000 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -596,7 +596,7 @@ var m: Int(1000000000);
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %default.import = import <invalid>
// CHECK:STDOUT: %Int.ref: %Int.type = name_ref Int, imports.%import_ref [template = constants.%Int]
// CHECK:STDOUT: %.loc9_12: i32 = int_literal 1000000000 [template = constants.%.2]
// CHECK:STDOUT: %.loc9_12: i32 = int_value 1000000000 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_signed: init type = call %Int.ref(%.loc9_12) [template = <error>]
// CHECK:STDOUT: %.loc9_22.1: type = value_of_initializer %int.make_type_signed [template = <error>]
// CHECK:STDOUT: %.loc9_22.2: type = converted %int.make_type_signed, %.loc9_22.1 [template = <error>]
@@ -120,11 +120,11 @@ var m: UInt(1000000000);
// CHECK:STDOUT: %UInt.type: type = fn_type @UInt [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %UInt: %UInt.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 64 [template]
// CHECK:STDOUT: %.2: i32 = int_value 64 [template]
// CHECK:STDOUT: %.3: type = int_type unsigned, %.2 [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: i32 = int_literal 13 [template]
// CHECK:STDOUT: %.4: i32 = int_value 13 [template]
// CHECK:STDOUT: %.5: type = int_type unsigned, %.4 [template]
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
@@ -164,12 +164,12 @@ var m: UInt(1000000000);
// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %UInt.ref.loc6_9: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt]
// CHECK:STDOUT: %.loc6_14: i32 = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_14: i32 = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_unsigned.loc6_13: init type = call %UInt.ref.loc6_9(%.loc6_14) [template = constants.%.3]
// CHECK:STDOUT: %.loc6_16.1: type = value_of_initializer %int.make_type_unsigned.loc6_13 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_16.2: type = converted %int.make_type_unsigned.loc6_13, %.loc6_16.1 [template = constants.%.3]
// CHECK:STDOUT: %UInt.ref.loc6_22: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt]
// CHECK:STDOUT: %.loc6_27: i32 = int_literal 64 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_27: i32 = int_value 64 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_unsigned.loc6_26: init type = call %UInt.ref.loc6_22(%.loc6_27) [template = constants.%.3]
// CHECK:STDOUT: %.loc6_29.1: type = value_of_initializer %int.make_type_unsigned.loc6_26 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_29.2: type = converted %int.make_type_unsigned.loc6_26, %.loc6_29.1 [template = constants.%.3]
@@ -185,12 +185,12 @@ var m: UInt(1000000000);
// CHECK:STDOUT: %return.param_patt: %.5 = out_param_pattern %return.patt, runtime_param1
// CHECK:STDOUT: } {
// CHECK:STDOUT: %UInt.ref.loc10_9: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt]
// CHECK:STDOUT: %.loc10_14: i32 = int_literal 13 [template = constants.%.4]
// CHECK:STDOUT: %.loc10_14: i32 = int_value 13 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_unsigned.loc10_13: init type = call %UInt.ref.loc10_9(%.loc10_14) [template = constants.%.5]
// CHECK:STDOUT: %.loc10_16.1: type = value_of_initializer %int.make_type_unsigned.loc10_13 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_16.2: type = converted %int.make_type_unsigned.loc10_13, %.loc10_16.1 [template = constants.%.5]
// CHECK:STDOUT: %UInt.ref.loc10_22: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt]
// CHECK:STDOUT: %.loc10_27: i32 = int_literal 13 [template = constants.%.4]
// CHECK:STDOUT: %.loc10_27: i32 = int_value 13 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_unsigned.loc10_26: init type = call %UInt.ref.loc10_22(%.loc10_27) [template = constants.%.5]
// CHECK:STDOUT: %.loc10_29.1: type = value_of_initializer %int.make_type_unsigned.loc10_26 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_29.2: type = converted %int.make_type_unsigned.loc10_26, %.loc10_29.1 [template = constants.%.5]
@@ -271,7 +271,7 @@ var m: UInt(1000000000);
// CHECK:STDOUT: %UInt.type: type = fn_type @UInt [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %UInt: %UInt.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -291,7 +291,7 @@ var m: UInt(1000000000);
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %default.import = import <invalid>
// CHECK:STDOUT: %UInt.ref: %UInt.type = name_ref UInt, imports.%import_ref [template = constants.%UInt]
// CHECK:STDOUT: %.loc10_13: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_13: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_unsigned: init type = call %UInt.ref(%.loc10_13) [template = <error>]
// CHECK:STDOUT: %.loc10_14.1: type = value_of_initializer %int.make_type_unsigned [template = <error>]
// CHECK:STDOUT: %.loc10_14.2: type = converted %int.make_type_unsigned, %.loc10_14.1 [template = <error>]
@@ -311,8 +311,8 @@ var m: UInt(1000000000);
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %UInt.type: type = fn_type @UInt [template]
// CHECK:STDOUT: %UInt: %UInt.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value -1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -353,7 +353,7 @@ var m: UInt(1000000000);
// CHECK:STDOUT: }
// CHECK:STDOUT: %UInt.ref: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt]
// CHECK:STDOUT: %Negate.ref: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_20: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_20: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate: init i32 = call %Negate.ref(%.loc12_20) [template = constants.%.3]
// CHECK:STDOUT: %.loc12_19.1: i32 = value_of_initializer %int.snegate [template = constants.%.3]
// CHECK:STDOUT: %.loc12_19.2: i32 = converted %int.snegate, %.loc12_19.1 [template = constants.%.3]
@@ -376,7 +376,7 @@ var m: UInt(1000000000);
// CHECK:STDOUT: %UInt.type: type = fn_type @UInt [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %UInt: %UInt.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1000000000 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1000000000 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -396,7 +396,7 @@ var m: UInt(1000000000);
// CHECK:STDOUT: %Core.import = import Core
// CHECK:STDOUT: %default.import = import <invalid>
// CHECK:STDOUT: %UInt.ref: %UInt.type = name_ref UInt, imports.%import_ref [template = constants.%UInt]
// CHECK:STDOUT: %.loc9_13: i32 = int_literal 1000000000 [template = constants.%.2]
// CHECK:STDOUT: %.loc9_13: i32 = int_value 1000000000 [template = constants.%.2]
// CHECK:STDOUT: %int.make_type_unsigned: init type = call %UInt.ref(%.loc9_13) [template = <error>]
// CHECK:STDOUT: %.loc9_23.1: type = value_of_initializer %int.make_type_unsigned [template = <error>]
// CHECK:STDOUT: %.loc9_23.2: type = converted %int.make_type_unsigned, %.loc9_23.1 [template = <error>]
+6 -6
View File
@@ -41,9 +41,9 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.4: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: bool = bool_literal false [template]
// CHECK:STDOUT: %.7: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.7: i32 = int_value 2 [template]
// CHECK:STDOUT: %.8: bool = bool_literal true [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
// CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [template]
@@ -159,8 +159,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %false_.ref: %False = name_ref false_, %false_
// CHECK:STDOUT: %Neq.ref.loc8: %Neq.type = name_ref Neq, file.%Neq.decl [template = constants.%Neq]
// CHECK:STDOUT: %.loc8_21: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc8_24: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc8_21: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc8_24: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %int.neq.loc8: init bool = call %Neq.ref.loc8(%.loc8_21, %.loc8_24) [template = constants.%.6]
// CHECK:STDOUT: %.loc8_14.1: bool = value_of_initializer %int.neq.loc8 [template = constants.%.6]
// CHECK:STDOUT: %.loc8_14.2: bool = converted %int.neq.loc8, %.loc8_14.1 [template = constants.%.6]
@@ -178,8 +178,8 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
// CHECK:STDOUT: %.loc8_14.3: type = block_arg !if.expr.result.loc8 [template = constants.%False]
// CHECK:STDOUT: %true_.ref: %True = name_ref true_, %true_
// CHECK:STDOUT: %Neq.ref.loc9: %Neq.type = name_ref Neq, file.%Neq.decl [template = constants.%Neq]
// CHECK:STDOUT: %.loc9_20: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_23: i32 = int_literal 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_20: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc9_23: i32 = int_value 2 [template = constants.%.7]
// CHECK:STDOUT: %int.neq.loc9: init bool = call %Neq.ref.loc9(%.loc9_20, %.loc9_23) [template = constants.%.8]
// CHECK:STDOUT: %.loc9_13.1: bool = value_of_initializer %int.neq.loc9 [template = constants.%.8]
// CHECK:STDOUT: %.loc9_13.2: bool = converted %int.neq.loc9, %.loc9_13.1 [template = constants.%.8]
+6 -6
View File
@@ -27,9 +27,9 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Or.type: type = fn_type @Or [template]
// CHECK:STDOUT: %Or: %Or.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 12 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 10 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 14 [template]
// CHECK:STDOUT: %.2: i32 = int_value 12 [template]
// CHECK:STDOUT: %.3: i32 = int_value 10 [template]
// CHECK:STDOUT: %.4: i32 = int_value 14 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -80,8 +80,8 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Or.ref: %Or.type = name_ref Or, %Or.decl [template = constants.%Or]
// CHECK:STDOUT: %.loc4_19: i32 = int_literal 12 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 10 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_19: i32 = int_value 12 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 10 [template = constants.%.3]
// CHECK:STDOUT: %int.or: init i32 = call %Or.ref(%.loc4_19, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -89,7 +89,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 14 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 14 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_20: type = array_type %.loc5_18, i32 [template = constants.%.5]
+33 -33
View File
@@ -72,9 +72,9 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %RightShift.type: type = fn_type @RightShift [template]
// CHECK:STDOUT: %RightShift: %RightShift.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 22 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.2: i32 = int_value 22 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 5 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -125,8 +125,8 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %RightShift.ref: %RightShift.type = name_ref RightShift, %RightShift.decl [template = constants.%RightShift]
// CHECK:STDOUT: %.loc4_27: i32 = int_literal 22 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_31: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_27: i32 = int_value 22 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_31: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.right_shift: init i32 = call %RightShift.ref(%.loc4_27, %.loc4_31) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -134,7 +134,7 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 5 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 5 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -198,15 +198,15 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: %RightShift: %RightShift.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value -1 [template]
// CHECK:STDOUT: %.4: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.5: type = ptr_type %.4 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 10 [template]
// CHECK:STDOUT: %.7: i32 = int_literal -10 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.9: i32 = int_literal -3 [template]
// CHECK:STDOUT: %.10: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.6: i32 = int_value 10 [template]
// CHECK:STDOUT: %.7: i32 = int_value -10 [template]
// CHECK:STDOUT: %.8: i32 = int_value 2 [template]
// CHECK:STDOUT: %.9: i32 = int_value -3 [template]
// CHECK:STDOUT: %.10: i32 = int_value 3 [template]
// CHECK:STDOUT: %.11: type = array_type %.10, i32 [template]
// CHECK:STDOUT: %.12: type = ptr_type %.11 [template]
// CHECK:STDOUT: }
@@ -276,9 +276,9 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: %Negate.ref.loc10_17: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %RightShift.ref.loc10: %RightShift.type = name_ref RightShift, %RightShift.decl [template = constants.%RightShift]
// CHECK:STDOUT: %Negate.ref.loc10_35: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc10_42: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_42: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc10_41: init i32 = call %Negate.ref.loc10_35(%.loc10_42) [template = constants.%.3]
// CHECK:STDOUT: %.loc10_46: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_46: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_41.1: i32 = value_of_initializer %int.snegate.loc10_41 [template = constants.%.3]
// CHECK:STDOUT: %.loc10_41.2: i32 = converted %int.snegate.loc10_41, %.loc10_41.1 [template = constants.%.3]
// CHECK:STDOUT: %int.right_shift.loc10: init i32 = call %RightShift.ref.loc10(%.loc10_41.2, %.loc10_46) [template = constants.%.3]
@@ -291,7 +291,7 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: %arr1.var: ref %.4 = var arr1
// CHECK:STDOUT: %arr1: ref %.4 = bind_name arr1, %arr1.var
// CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc11_19: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_19: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32]
// CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32.loc11, %.loc11_14.1 [template = i32]
// CHECK:STDOUT: %.loc11_20: type = array_type %.loc11_19, i32 [template = constants.%.4]
@@ -300,9 +300,9 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: %Negate.ref.loc14_17: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %RightShift.ref.loc14: %RightShift.type = name_ref RightShift, %RightShift.decl [template = constants.%RightShift]
// CHECK:STDOUT: %Negate.ref.loc14_35: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc14_42: i32 = int_literal 10 [template = constants.%.6]
// CHECK:STDOUT: %.loc14_42: i32 = int_value 10 [template = constants.%.6]
// CHECK:STDOUT: %int.snegate.loc14_41: init i32 = call %Negate.ref.loc14_35(%.loc14_42) [template = constants.%.7]
// CHECK:STDOUT: %.loc14_47: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc14_47: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc14_41.1: i32 = value_of_initializer %int.snegate.loc14_41 [template = constants.%.7]
// CHECK:STDOUT: %.loc14_41.2: i32 = converted %int.snegate.loc14_41, %.loc14_41.1 [template = constants.%.7]
// CHECK:STDOUT: %int.right_shift.loc14: init i32 = call %RightShift.ref.loc14(%.loc14_41.2, %.loc14_47) [template = constants.%.9]
@@ -315,7 +315,7 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: %arr2.var: ref %.11 = var arr2
// CHECK:STDOUT: %arr2: ref %.11 = bind_name arr2, %arr2.var
// CHECK:STDOUT: %int.make_type_32.loc15: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc15_19: i32 = int_literal 3 [template = constants.%.10]
// CHECK:STDOUT: %.loc15_19: i32 = int_value 3 [template = constants.%.10]
// CHECK:STDOUT: %.loc15_14.1: type = value_of_initializer %int.make_type_32.loc15 [template = i32]
// CHECK:STDOUT: %.loc15_14.2: type = converted %int.make_type_32.loc15, %.loc15_14.1 [template = i32]
// CHECK:STDOUT: %.loc15_20: type = array_type %.loc15_19, i32 [template = constants.%.11]
@@ -349,12 +349,12 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: %RightShift: %RightShift.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 31 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 32 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 33 [template]
// CHECK:STDOUT: %.7: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 31 [template]
// CHECK:STDOUT: %.4: i32 = int_value 0 [template]
// CHECK:STDOUT: %.5: i32 = int_value 32 [template]
// CHECK:STDOUT: %.6: i32 = int_value 33 [template]
// CHECK:STDOUT: %.7: i32 = int_value -1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -441,30 +441,30 @@ let negative: i32 = RightShift(1, Negate(1));
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %RightShift.ref.loc8: %RightShift.type = name_ref RightShift, file.%RightShift.decl [template = constants.%RightShift]
// CHECK:STDOUT: %.loc8_30: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_33: i32 = int_literal 31 [template = constants.%.3]
// CHECK:STDOUT: %.loc8_30: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_33: i32 = int_value 31 [template = constants.%.3]
// CHECK:STDOUT: %int.right_shift.loc8: init i32 = call %RightShift.ref.loc8(%.loc8_30, %.loc8_33) [template = constants.%.4]
// CHECK:STDOUT: %.loc8_36.1: i32 = value_of_initializer %int.right_shift.loc8 [template = constants.%.4]
// CHECK:STDOUT: %.loc8_36.2: i32 = converted %int.right_shift.loc8, %.loc8_36.1 [template = constants.%.4]
// CHECK:STDOUT: %size_1: i32 = bind_name size_1, %.loc8_36.2
// CHECK:STDOUT: %RightShift.ref.loc13: %RightShift.type = name_ref RightShift, file.%RightShift.decl [template = constants.%RightShift]
// CHECK:STDOUT: %.loc13_30: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_33: i32 = int_literal 32 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_30: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc13_33: i32 = int_value 32 [template = constants.%.5]
// CHECK:STDOUT: %int.right_shift.loc13: init i32 = call %RightShift.ref.loc13(%.loc13_30, %.loc13_33) [template = <error>]
// CHECK:STDOUT: %.loc13_36.1: i32 = value_of_initializer %int.right_shift.loc13 [template = <error>]
// CHECK:STDOUT: %.loc13_36.2: i32 = converted %int.right_shift.loc13, %.loc13_36.1 [template = <error>]
// CHECK:STDOUT: %size_2: i32 = bind_name size_2, %.loc13_36.2
// CHECK:STDOUT: %RightShift.ref.loc18: %RightShift.type = name_ref RightShift, file.%RightShift.decl [template = constants.%RightShift]
// CHECK:STDOUT: %.loc18_30: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc18_33: i32 = int_literal 33 [template = constants.%.6]
// CHECK:STDOUT: %.loc18_30: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc18_33: i32 = int_value 33 [template = constants.%.6]
// CHECK:STDOUT: %int.right_shift.loc18: init i32 = call %RightShift.ref.loc18(%.loc18_30, %.loc18_33) [template = <error>]
// CHECK:STDOUT: %.loc18_36.1: i32 = value_of_initializer %int.right_shift.loc18 [template = <error>]
// CHECK:STDOUT: %.loc18_36.2: i32 = converted %int.right_shift.loc18, %.loc18_36.1 [template = <error>]
// CHECK:STDOUT: %size_3: i32 = bind_name size_3, %.loc18_36.2
// CHECK:STDOUT: %RightShift.ref.loc24: %RightShift.type = name_ref RightShift, file.%RightShift.decl [template = constants.%RightShift]
// CHECK:STDOUT: %.loc24_32: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc24_32: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %Negate.ref: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc24_42: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc24_42: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate: init i32 = call %Negate.ref(%.loc24_42) [template = constants.%.7]
// CHECK:STDOUT: %.loc24_41.1: i32 = value_of_initializer %int.snegate [template = constants.%.7]
// CHECK:STDOUT: %.loc24_41.2: i32 = converted %int.snegate, %.loc24_41.1 [template = constants.%.7]
+26 -26
View File
@@ -97,9 +97,9 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Add.type: type = fn_type @Add [template]
// CHECK:STDOUT: %Add: %Add.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 3 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -150,8 +150,8 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Add.ref: %Add.type = name_ref Add, %Add.decl [template = constants.%Add]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.sadd: init i32 = call %Add.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -159,7 +159,7 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -229,9 +229,9 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: %BadReturnType: %BadReturnType.type = struct_value () [template]
// CHECK:STDOUT: %JustRight.type: type = fn_type @JustRight [template]
// CHECK:STDOUT: %JustRight: %JustRight.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 3 [template]
// CHECK:STDOUT: %RuntimeCallTooFew.type: type = fn_type @RuntimeCallTooFew [template]
// CHECK:STDOUT: %RuntimeCallTooFew: %RuntimeCallTooFew.type = struct_value () [template]
// CHECK:STDOUT: %RuntimeCallTooMany.type: type = fn_type @RuntimeCallTooMany [template]
@@ -365,30 +365,30 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc25: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, %TooFew.decl [template = constants.%TooFew]
// CHECK:STDOUT: %.loc25: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc25: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %TooFew.call: init i32 = call %TooFew.ref(%.loc25)
// CHECK:STDOUT: %too_few.var: ref <error> = var too_few
// CHECK:STDOUT: %too_few: ref <error> = bind_name too_few, %too_few.var
// CHECK:STDOUT: %int.make_type_32.loc30: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, %TooMany.decl [template = constants.%TooMany]
// CHECK:STDOUT: %.loc30_29: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_32: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc30_35: i32 = int_literal 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc30_29: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_32: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc30_35: i32 = int_value 3 [template = constants.%.4]
// CHECK:STDOUT: %TooMany.call: init i32 = call %TooMany.ref(%.loc30_29, %.loc30_32, %.loc30_35)
// CHECK:STDOUT: %too_many.var: ref <error> = var too_many
// CHECK:STDOUT: %too_many: ref <error> = bind_name too_many, %too_many.var
// CHECK:STDOUT: %int.make_type_32.loc35: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, %BadReturnType.decl [template = constants.%BadReturnType]
// CHECK:STDOUT: %.loc35_42: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc35_45: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc35_42: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc35_45: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %BadReturnType.call: init bool = call %BadReturnType.ref(%.loc35_42, %.loc35_45)
// CHECK:STDOUT: %bad_return_type.var: ref <error> = var bad_return_type
// CHECK:STDOUT: %bad_return_type: ref <error> = bind_name bad_return_type, %bad_return_type.var
// CHECK:STDOUT: %int.make_type_32.loc44: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %JustRight.ref: %JustRight.type = name_ref JustRight, %JustRight.decl [template = constants.%JustRight]
// CHECK:STDOUT: %.loc44_31: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc44_34: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc44_37: i32 = int_literal 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc44_31: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc44_34: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc44_37: i32 = int_value 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc44_16.1: type = value_of_initializer %int.make_type_32.loc44 [template = i32]
// CHECK:STDOUT: %.loc44_16.2: type = converted %int.make_type_32.loc44, %.loc44_16.1 [template = i32]
// CHECK:STDOUT: %.loc44_39: type = array_type <error>, i32 [template = <error>]
@@ -521,10 +521,10 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Add.type: type = fn_type @Add [template]
// CHECK:STDOUT: %Add: %Add.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_value 0 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -583,15 +583,15 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Add.ref.loc6: %Add.type = name_ref Add, file.%Add.decl [template = constants.%Add]
// CHECK:STDOUT: %.loc6_18: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_30: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_18: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_30: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.sadd.loc6: init i32 = call %Add.ref.loc6(%.loc6_18, %.loc6_30) [template = constants.%.2]
// CHECK:STDOUT: %.loc6_32.1: i32 = value_of_initializer %int.sadd.loc6 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_32.2: i32 = converted %int.sadd.loc6, %.loc6_32.1 [template = constants.%.2]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc6_32.2
// CHECK:STDOUT: %Add.ref.loc10: %Add.type = name_ref Add, file.%Add.decl [template = constants.%Add]
// CHECK:STDOUT: %.loc10_18: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_30: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc10_18: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_30: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.sadd.loc10: init i32 = call %Add.ref.loc10(%.loc10_18, %.loc10_30) [template = constants.%.5]
// CHECK:STDOUT: %.loc10_32.1: i32 = value_of_initializer %int.sadd.loc10 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_32.2: i32 = converted %int.sadd.loc10, %.loc10_32.1 [template = constants.%.5]
+25 -25
View File
@@ -65,9 +65,9 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Div.type: type = fn_type @Div [template]
// CHECK:STDOUT: %Div: %Div.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -118,8 +118,8 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Div.ref: %Div.type = name_ref Div, %Div.decl [template = constants.%Div]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.sdiv: init i32 = call %Div.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -127,7 +127,7 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -193,11 +193,11 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_value -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value -1 [template]
// CHECK:STDOUT: %.6: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -308,10 +308,10 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Div.ref.loc9: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %Negate.ref.loc9_18: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc9_25: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc9_25: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc9_24: init i32 = call %Negate.ref.loc9_18(%.loc9_25) [template = constants.%.3]
// CHECK:STDOUT: %Negate.ref.loc9_39: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc9_46: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc9_46: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.snegate.loc9_45: init i32 = call %Negate.ref.loc9_39(%.loc9_46) [template = constants.%.5]
// CHECK:STDOUT: %.loc9_24.1: i32 = value_of_initializer %int.snegate.loc9_24 [template = constants.%.3]
// CHECK:STDOUT: %.loc9_24.2: i32 = converted %int.snegate.loc9_24, %.loc9_24.1 [template = constants.%.3]
@@ -324,13 +324,13 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Div.ref.loc12: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %Sub.ref.loc12: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc12: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_29: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_29: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc12: init i32 = call %Negate.ref.loc12(%.loc12_29) [template = constants.%.3]
// CHECK:STDOUT: %.loc12_43: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_43: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_28.1: i32 = value_of_initializer %int.snegate.loc12 [template = constants.%.3]
// CHECK:STDOUT: %.loc12_28.2: i32 = converted %int.snegate.loc12, %.loc12_28.1 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub.loc12: init i32 = call %Sub.ref.loc12(%.loc12_28.2, %.loc12_43) [template = constants.%.6]
// CHECK:STDOUT: %.loc12_47: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_47: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_21.1: i32 = value_of_initializer %int.ssub.loc12 [template = constants.%.6]
// CHECK:STDOUT: %.loc12_21.2: i32 = converted %int.ssub.loc12, %.loc12_21.1 [template = constants.%.6]
// CHECK:STDOUT: %int.sdiv.loc12: init i32 = call %Div.ref.loc12(%.loc12_21.2, %.loc12_47) [template = constants.%.6]
@@ -340,14 +340,14 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Div.ref.loc19: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %Sub.ref.loc19: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc19_22: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc19_29: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc19_29: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc19_28: init i32 = call %Negate.ref.loc19_22(%.loc19_29) [template = constants.%.3]
// CHECK:STDOUT: %.loc19_43: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc19_43: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc19_28.1: i32 = value_of_initializer %int.snegate.loc19_28 [template = constants.%.3]
// CHECK:STDOUT: %.loc19_28.2: i32 = converted %int.snegate.loc19_28, %.loc19_28.1 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub.loc19: init i32 = call %Sub.ref.loc19(%.loc19_28.2, %.loc19_43) [template = constants.%.6]
// CHECK:STDOUT: %Negate.ref.loc19_47: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc19_54: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc19_54: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.snegate.loc19_53: init i32 = call %Negate.ref.loc19_47(%.loc19_54) [template = constants.%.5]
// CHECK:STDOUT: %.loc19_21.1: i32 = value_of_initializer %int.ssub.loc19 [template = constants.%.6]
// CHECK:STDOUT: %.loc19_21.2: i32 = converted %int.ssub.loc19, %.loc19_21.1 [template = constants.%.6]
@@ -368,8 +368,8 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Div.type: type = fn_type @Div [template]
// CHECK:STDOUT: %Div: %Div.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -428,15 +428,15 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Div.ref.loc10: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %.loc10_18: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_21: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc10_18: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_21: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.sdiv.loc10: init i32 = call %Div.ref.loc10(%.loc10_18, %.loc10_21) [template = <error>]
// CHECK:STDOUT: %.loc10_23.1: i32 = value_of_initializer %int.sdiv.loc10 [template = <error>]
// CHECK:STDOUT: %.loc10_23.2: i32 = converted %int.sdiv.loc10, %.loc10_23.1 [template = <error>]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc10_23.2
// CHECK:STDOUT: %Div.ref.loc15: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %.loc15_18: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc15_21: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc15_18: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc15_21: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.sdiv.loc15: init i32 = call %Div.ref.loc15(%.loc15_18, %.loc15_21) [template = <error>]
// CHECK:STDOUT: %.loc15_23.1: i32 = value_of_initializer %int.sdiv.loc15 [template = <error>]
// CHECK:STDOUT: %.loc15_23.2: i32 = converted %int.sdiv.loc15, %.loc15_23.1 [template = <error>]
+26 -26
View File
@@ -68,9 +68,9 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Mod.type: type = fn_type @Mod [template]
// CHECK:STDOUT: %Mod: %Mod.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.2: i32 = int_value 5 [template]
// CHECK:STDOUT: %.3: i32 = int_value 3 [template]
// CHECK:STDOUT: %.4: i32 = int_value 2 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -121,8 +121,8 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Mod.ref: %Mod.type = name_ref Mod, %Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 3 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 3 [template = constants.%.3]
// CHECK:STDOUT: %int.smod: init i32 = call %Mod.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -130,7 +130,7 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 2 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 2 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -196,12 +196,12 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.7: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_value -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value -1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 0 [template]
// CHECK:STDOUT: %.7: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -312,10 +312,10 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Mod.ref.loc9: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %Negate.ref.loc9_18: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc9_25: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc9_25: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc9_24: init i32 = call %Negate.ref.loc9_18(%.loc9_25) [template = constants.%.3]
// CHECK:STDOUT: %Negate.ref.loc9_39: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc9_46: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc9_46: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.snegate.loc9_45: init i32 = call %Negate.ref.loc9_39(%.loc9_46) [template = constants.%.5]
// CHECK:STDOUT: %.loc9_24.1: i32 = value_of_initializer %int.snegate.loc9_24 [template = constants.%.3]
// CHECK:STDOUT: %.loc9_24.2: i32 = converted %int.snegate.loc9_24, %.loc9_24.1 [template = constants.%.3]
@@ -328,13 +328,13 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Mod.ref.loc12: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %Sub.ref.loc12: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc12: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_29: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_29: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc12: init i32 = call %Negate.ref.loc12(%.loc12_29) [template = constants.%.3]
// CHECK:STDOUT: %.loc12_43: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_43: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_28.1: i32 = value_of_initializer %int.snegate.loc12 [template = constants.%.3]
// CHECK:STDOUT: %.loc12_28.2: i32 = converted %int.snegate.loc12, %.loc12_28.1 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub.loc12: init i32 = call %Sub.ref.loc12(%.loc12_28.2, %.loc12_43) [template = constants.%.7]
// CHECK:STDOUT: %.loc12_47: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_47: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_21.1: i32 = value_of_initializer %int.ssub.loc12 [template = constants.%.7]
// CHECK:STDOUT: %.loc12_21.2: i32 = converted %int.ssub.loc12, %.loc12_21.1 [template = constants.%.7]
// CHECK:STDOUT: %int.smod.loc12: init i32 = call %Mod.ref.loc12(%.loc12_21.2, %.loc12_47) [template = constants.%.6]
@@ -344,14 +344,14 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Mod.ref.loc20: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %Sub.ref.loc20: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc20_22: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc20_29: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc20_29: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc20_28: init i32 = call %Negate.ref.loc20_22(%.loc20_29) [template = constants.%.3]
// CHECK:STDOUT: %.loc20_43: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc20_43: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc20_28.1: i32 = value_of_initializer %int.snegate.loc20_28 [template = constants.%.3]
// CHECK:STDOUT: %.loc20_28.2: i32 = converted %int.snegate.loc20_28, %.loc20_28.1 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub.loc20: init i32 = call %Sub.ref.loc20(%.loc20_28.2, %.loc20_43) [template = constants.%.7]
// CHECK:STDOUT: %Negate.ref.loc20_47: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc20_54: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc20_54: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.snegate.loc20_53: init i32 = call %Negate.ref.loc20_47(%.loc20_54) [template = constants.%.5]
// CHECK:STDOUT: %.loc20_21.1: i32 = value_of_initializer %int.ssub.loc20 [template = constants.%.7]
// CHECK:STDOUT: %.loc20_21.2: i32 = converted %int.ssub.loc20, %.loc20_21.1 [template = constants.%.7]
@@ -372,8 +372,8 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Mod.type: type = fn_type @Mod [template]
// CHECK:STDOUT: %Mod: %Mod.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -432,15 +432,15 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Mod.ref.loc12: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %.loc12_18: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_21: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc12_18: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_21: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.smod.loc12: init i32 = call %Mod.ref.loc12(%.loc12_18, %.loc12_21) [template = <error>]
// CHECK:STDOUT: %.loc12_23.1: i32 = value_of_initializer %int.smod.loc12 [template = <error>]
// CHECK:STDOUT: %.loc12_23.2: i32 = converted %int.smod.loc12, %.loc12_23.1 [template = <error>]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc12_23.2
// CHECK:STDOUT: %Mod.ref.loc17: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %.loc17_18: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc17_21: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc17_18: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc17_21: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.smod.loc17: init i32 = call %Mod.ref.loc17(%.loc17_18, %.loc17_21) [template = <error>]
// CHECK:STDOUT: %.loc17_23.1: i32 = value_of_initializer %int.smod.loc17 [template = <error>]
// CHECK:STDOUT: %.loc17_23.2: i32 = converted %int.smod.loc17, %.loc17_23.1 [template = <error>]
+15 -15
View File
@@ -39,9 +39,9 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Mul.type: type = fn_type @Mul [template]
// CHECK:STDOUT: %Mul: %Mul.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 6 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 6 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -92,8 +92,8 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Mul.ref: %Mul.type = name_ref Mul, %Mul.decl [template = constants.%Mul]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.smul: init i32 = call %Mul.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -101,7 +101,7 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 6 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 6 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -163,11 +163,11 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Mul.type: type = fn_type @Mul [template]
// CHECK:STDOUT: %Mul: %Mul.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 32767 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 65536 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 2147418112 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 32768 [template]
// CHECK:STDOUT: %.6: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 32767 [template]
// CHECK:STDOUT: %.3: i32 = int_value 65536 [template]
// CHECK:STDOUT: %.4: i32 = int_value 2147418112 [template]
// CHECK:STDOUT: %.5: i32 = int_value 32768 [template]
// CHECK:STDOUT: %.6: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -226,15 +226,15 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Mul.ref.loc6: %Mul.type = name_ref Mul, file.%Mul.decl [template = constants.%Mul]
// CHECK:STDOUT: %.loc6_18: i32 = int_literal 32767 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_26: i32 = int_literal 65536 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_18: i32 = int_value 32767 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_26: i32 = int_value 65536 [template = constants.%.3]
// CHECK:STDOUT: %int.smul.loc6: init i32 = call %Mul.ref.loc6(%.loc6_18, %.loc6_26) [template = constants.%.4]
// CHECK:STDOUT: %.loc6_34.1: i32 = value_of_initializer %int.smul.loc6 [template = constants.%.4]
// CHECK:STDOUT: %.loc6_34.2: i32 = converted %int.smul.loc6, %.loc6_34.1 [template = constants.%.4]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc6_34.2
// CHECK:STDOUT: %Mul.ref.loc10: %Mul.type = name_ref Mul, file.%Mul.decl [template = constants.%Mul]
// CHECK:STDOUT: %.loc10_18: i32 = int_literal 32768 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_26: i32 = int_literal 65536 [template = constants.%.3]
// CHECK:STDOUT: %.loc10_18: i32 = int_value 32768 [template = constants.%.5]
// CHECK:STDOUT: %.loc10_26: i32 = int_value 65536 [template = constants.%.3]
// CHECK:STDOUT: %int.smul.loc10: init i32 = call %Mul.ref.loc10(%.loc10_18, %.loc10_26) [template = constants.%.6]
// CHECK:STDOUT: %.loc10_34.1: i32 = value_of_initializer %int.smul.loc10 [template = constants.%.6]
// CHECK:STDOUT: %.loc10_34.2: i32 = converted %int.smul.loc10, %.loc10_34.1 [template = constants.%.6]
+21 -21
View File
@@ -124,12 +124,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 123 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -123 [template]
// CHECK:STDOUT: %.2: i32 = int_value 123 [template]
// CHECK:STDOUT: %.3: i32 = int_value -123 [template]
// CHECK:STDOUT: %.4: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.5: type = ptr_type %.4 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.7: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 1 [template]
// CHECK:STDOUT: %.7: i32 = int_value -1 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
// CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -173,7 +173,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Negate.ref.loc4_16: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %Negate.ref.loc4_23: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc4_30: i32 = int_literal 123 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_30: i32 = int_value 123 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc4_29: init i32 = call %Negate.ref.loc4_23(%.loc4_30) [template = constants.%.3]
// CHECK:STDOUT: %.loc4_29.1: i32 = value_of_initializer %int.snegate.loc4_29 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_29.2: i32 = converted %int.snegate.loc4_29, %.loc4_29.1 [template = constants.%.3]
@@ -184,7 +184,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %arr.var: ref %.4 = var arr
// CHECK:STDOUT: %arr: ref %.4 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 123 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 123 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_21: type = array_type %.loc5_18, i32 [template = constants.%.4]
@@ -238,7 +238,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %.loc5: %.5 = addr_of %arr.ref
// CHECK:STDOUT: %arr_p: %.5 = bind_name arr_p, %.loc5
// CHECK:STDOUT: %Negate.ref: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc7_21: i32 = int_literal 1 [template = constants.%.6]
// CHECK:STDOUT: %.loc7_21: i32 = int_value 1 [template = constants.%.6]
// CHECK:STDOUT: %int.snegate: init i32 = call %Negate.ref(%.loc7_21) [template = constants.%.7]
// CHECK:STDOUT: %.loc7_23.1: i32 = value_of_initializer %int.snegate [template = constants.%.7]
// CHECK:STDOUT: %.loc7_23.2: i32 = converted %int.snegate, %.loc7_23.1 [template = constants.%.7]
@@ -262,8 +262,8 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %BadReturnType: %BadReturnType.type = struct_value () [template]
// CHECK:STDOUT: %JustRight.type: type = fn_type @JustRight [template]
// CHECK:STDOUT: %JustRight: %JustRight.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %RuntimeCallTooFew.type: type = fn_type @RuntimeCallTooFew [template]
// CHECK:STDOUT: %RuntimeCallTooFew: %RuntimeCallTooFew.type = struct_value () [template]
// CHECK:STDOUT: %RuntimeCallTooMany.type: type = fn_type @RuntimeCallTooMany [template]
@@ -374,21 +374,21 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %too_few: ref <error> = bind_name too_few, %too_few.var
// CHECK:STDOUT: %int.make_type_32.loc30: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, %TooMany.decl [template = constants.%TooMany]
// CHECK:STDOUT: %.loc30_29: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_32: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc30_29: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_32: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %TooMany.call: init i32 = call %TooMany.ref(%.loc30_29, %.loc30_32)
// CHECK:STDOUT: %too_many.var: ref <error> = var too_many
// CHECK:STDOUT: %too_many: ref <error> = bind_name too_many, %too_many.var
// CHECK:STDOUT: %int.make_type_32.loc35: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, %BadReturnType.decl [template = constants.%BadReturnType]
// CHECK:STDOUT: %.loc35: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc35: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %BadReturnType.call: init bool = call %BadReturnType.ref(%.loc35)
// CHECK:STDOUT: %bad_return_type.var: ref <error> = var bad_return_type
// CHECK:STDOUT: %bad_return_type: ref <error> = bind_name bad_return_type, %bad_return_type.var
// CHECK:STDOUT: %int.make_type_32.loc44: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %JustRight.ref: %JustRight.type = name_ref JustRight, %JustRight.decl [template = constants.%JustRight]
// CHECK:STDOUT: %.loc44_31: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc44_34: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc44_31: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc44_34: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc44_16.1: type = value_of_initializer %int.make_type_32.loc44 [template = i32]
// CHECK:STDOUT: %.loc44_16.2: type = converted %int.make_type_32.loc44, %.loc44_16.1 [template = i32]
// CHECK:STDOUT: %.loc44_36: type = array_type <error>, i32 [template = <error>]
@@ -514,10 +514,10 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %Sub.type: type = fn_type @Sub [template]
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_value -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -597,7 +597,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Negate.ref.loc8_14: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %Negate.ref.loc8_21: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc8_28: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_28: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc8_27: init i32 = call %Negate.ref.loc8_21(%.loc8_28) [template = constants.%.3]
// CHECK:STDOUT: %.loc8_27.1: i32 = value_of_initializer %int.snegate.loc8_27 [template = constants.%.3]
// CHECK:STDOUT: %.loc8_27.2: i32 = converted %int.snegate.loc8_27, %.loc8_27.1 [template = constants.%.3]
@@ -608,9 +608,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %Negate.ref.loc14_14: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %Sub.ref: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc14_25: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc14_32: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc14_32: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.snegate.loc14_31: init i32 = call %Negate.ref.loc14_25(%.loc14_32) [template = constants.%.3]
// CHECK:STDOUT: %.loc14_45: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc14_45: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc14_31.1: i32 = value_of_initializer %int.snegate.loc14_31 [template = constants.%.3]
// CHECK:STDOUT: %.loc14_31.2: i32 = converted %int.snegate.loc14_31, %.loc14_31.1 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub: init i32 = call %Sub.ref(%.loc14_31.2, %.loc14_45) [template = constants.%.5]
+20 -20
View File
@@ -40,9 +40,9 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Sub.type: type = fn_type @Sub [template]
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -93,8 +93,8 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Sub.ref: %Sub.type = name_ref Sub, %Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub: init i32 = call %Sub.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -102,7 +102,7 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -164,12 +164,12 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Sub.type: type = fn_type @Sub [template]
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_literal -2147483647 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.2: i32 = int_value 0 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_value -2147483647 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: %.7: i32 = int_value 2 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -232,18 +232,18 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Sub.ref.loc6: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %.loc6_18: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_21: i32 = int_literal 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_18: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_21: i32 = int_value 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub.loc6: init i32 = call %Sub.ref.loc6(%.loc6_18, %.loc6_21) [template = constants.%.4]
// CHECK:STDOUT: %.loc6_32.1: i32 = value_of_initializer %int.ssub.loc6 [template = constants.%.4]
// CHECK:STDOUT: %.loc6_32.2: i32 = converted %int.ssub.loc6, %.loc6_32.1 [template = constants.%.4]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc6_32.2
// CHECK:STDOUT: %Sub.ref.loc7_14: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Sub.ref.loc7_18: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %.loc7_22: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_25: i32 = int_literal 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %.loc7_22: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_25: i32 = int_value 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub.loc7_21: init i32 = call %Sub.ref.loc7_18(%.loc7_22, %.loc7_25) [template = constants.%.4]
// CHECK:STDOUT: %.loc7_38: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc7_38: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc7_21.1: i32 = value_of_initializer %int.ssub.loc7_21 [template = constants.%.4]
// CHECK:STDOUT: %.loc7_21.2: i32 = converted %int.ssub.loc7_21, %.loc7_21.1 [template = constants.%.4]
// CHECK:STDOUT: %int.ssub.loc7_17: init i32 = call %Sub.ref.loc7_14(%.loc7_21.2, %.loc7_38) [template = constants.%.6]
@@ -252,10 +252,10 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: %b: i32 = bind_name b, %.loc7_40.2
// CHECK:STDOUT: %Sub.ref.loc11_14: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Sub.ref.loc11_18: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %.loc11_22: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_25: i32 = int_literal 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %.loc11_22: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_25: i32 = int_value 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %int.ssub.loc11_21: init i32 = call %Sub.ref.loc11_18(%.loc11_22, %.loc11_25) [template = constants.%.4]
// CHECK:STDOUT: %.loc11_38: i32 = int_literal 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_38: i32 = int_value 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc11_21.1: i32 = value_of_initializer %int.ssub.loc11_21 [template = constants.%.4]
// CHECK:STDOUT: %.loc11_21.2: i32 = converted %int.ssub.loc11_21, %.loc11_21.1 [template = constants.%.4]
// CHECK:STDOUT: %int.ssub.loc11_17: init i32 = call %Sub.ref.loc11_14(%.loc11_21.2, %.loc11_38) [template = constants.%.3]
+26 -26
View File
@@ -94,9 +94,9 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Add.type: type = fn_type @Add [template]
// CHECK:STDOUT: %Add: %Add.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 3 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -147,8 +147,8 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Add.ref: %Add.type = name_ref Add, %Add.decl [template = constants.%Add]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.uadd: init i32 = call %Add.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -156,7 +156,7 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -226,9 +226,9 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: %BadReturnType: %BadReturnType.type = struct_value () [template]
// CHECK:STDOUT: %JustRight.type: type = fn_type @JustRight [template]
// CHECK:STDOUT: %JustRight: %JustRight.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 3 [template]
// CHECK:STDOUT: %RuntimeCallTooFew.type: type = fn_type @RuntimeCallTooFew [template]
// CHECK:STDOUT: %RuntimeCallTooFew: %RuntimeCallTooFew.type = struct_value () [template]
// CHECK:STDOUT: %RuntimeCallTooMany.type: type = fn_type @RuntimeCallTooMany [template]
@@ -362,30 +362,30 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc25: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, %TooFew.decl [template = constants.%TooFew]
// CHECK:STDOUT: %.loc25: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc25: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %TooFew.call: init i32 = call %TooFew.ref(%.loc25)
// CHECK:STDOUT: %too_few.var: ref <error> = var too_few
// CHECK:STDOUT: %too_few: ref <error> = bind_name too_few, %too_few.var
// CHECK:STDOUT: %int.make_type_32.loc30: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, %TooMany.decl [template = constants.%TooMany]
// CHECK:STDOUT: %.loc30_29: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_32: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc30_35: i32 = int_literal 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc30_29: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_32: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc30_35: i32 = int_value 3 [template = constants.%.4]
// CHECK:STDOUT: %TooMany.call: init i32 = call %TooMany.ref(%.loc30_29, %.loc30_32, %.loc30_35)
// CHECK:STDOUT: %too_many.var: ref <error> = var too_many
// CHECK:STDOUT: %too_many: ref <error> = bind_name too_many, %too_many.var
// CHECK:STDOUT: %int.make_type_32.loc35: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, %BadReturnType.decl [template = constants.%BadReturnType]
// CHECK:STDOUT: %.loc35_42: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc35_45: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc35_42: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc35_45: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %BadReturnType.call: init bool = call %BadReturnType.ref(%.loc35_42, %.loc35_45)
// CHECK:STDOUT: %bad_return_type.var: ref <error> = var bad_return_type
// CHECK:STDOUT: %bad_return_type: ref <error> = bind_name bad_return_type, %bad_return_type.var
// CHECK:STDOUT: %int.make_type_32.loc43: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %JustRight.ref: %JustRight.type = name_ref JustRight, %JustRight.decl [template = constants.%JustRight]
// CHECK:STDOUT: %.loc43_31: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc43_34: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc43_37: i32 = int_literal 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc43_31: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc43_34: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc43_37: i32 = int_value 3 [template = constants.%.4]
// CHECK:STDOUT: %.loc43_16.1: type = value_of_initializer %int.make_type_32.loc43 [template = i32]
// CHECK:STDOUT: %.loc43_16.2: type = converted %int.make_type_32.loc43, %.loc43_16.1 [template = i32]
// CHECK:STDOUT: %.loc43_39: type = array_type <error>, i32 [template = <error>]
@@ -518,10 +518,10 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Add.type: type = fn_type @Add [template]
// CHECK:STDOUT: %Add: %Add.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_value 0 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -580,15 +580,15 @@ let b: i32 = Add(0x7FFFFFFF, 1);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Add.ref.loc7: %Add.type = name_ref Add, file.%Add.decl [template = constants.%Add]
// CHECK:STDOUT: %.loc7_18: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_30: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc7_18: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_30: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.uadd.loc7: init i32 = call %Add.ref.loc7(%.loc7_18, %.loc7_30) [template = constants.%.2]
// CHECK:STDOUT: %.loc7_32.1: i32 = value_of_initializer %int.uadd.loc7 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_32.2: i32 = converted %int.uadd.loc7, %.loc7_32.1 [template = constants.%.2]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc7_32.2
// CHECK:STDOUT: %Add.ref.loc8: %Add.type = name_ref Add, file.%Add.decl [template = constants.%Add]
// CHECK:STDOUT: %.loc8_18: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_30: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc8_18: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_30: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.uadd.loc8: init i32 = call %Add.ref.loc8(%.loc8_18, %.loc8_30) [template = constants.%.5]
// CHECK:STDOUT: %.loc8_32.1: i32 = value_of_initializer %int.uadd.loc8 [template = constants.%.5]
// CHECK:STDOUT: %.loc8_32.2: i32 = converted %int.uadd.loc8, %.loc8_32.1 [template = constants.%.5]
+26 -26
View File
@@ -61,9 +61,9 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Div.type: type = fn_type @Div [template]
// CHECK:STDOUT: %Div: %Div.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -114,8 +114,8 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Div.ref: %Div.type = name_ref Div, %Div.decl [template = constants.%Div]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.udiv: init i32 = call %Div.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -123,7 +123,7 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -189,12 +189,12 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.7: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_value -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value -1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 0 [template]
// CHECK:STDOUT: %.7: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -305,10 +305,10 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Div.ref.loc9: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %Negate.ref.loc9_18: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc9_25: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc9_25: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc9_24: init i32 = call %Negate.ref.loc9_18(%.loc9_25) [template = constants.%.3]
// CHECK:STDOUT: %Negate.ref.loc9_39: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc9_46: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc9_46: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.unegate.loc9_45: init i32 = call %Negate.ref.loc9_39(%.loc9_46) [template = constants.%.5]
// CHECK:STDOUT: %.loc9_24.1: i32 = value_of_initializer %int.unegate.loc9_24 [template = constants.%.3]
// CHECK:STDOUT: %.loc9_24.2: i32 = converted %int.unegate.loc9_24, %.loc9_24.1 [template = constants.%.3]
@@ -321,13 +321,13 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Div.ref.loc12: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %Sub.ref.loc12: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc12: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_29: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_29: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc12: init i32 = call %Negate.ref.loc12(%.loc12_29) [template = constants.%.3]
// CHECK:STDOUT: %.loc12_43: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_43: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_28.1: i32 = value_of_initializer %int.unegate.loc12 [template = constants.%.3]
// CHECK:STDOUT: %.loc12_28.2: i32 = converted %int.unegate.loc12, %.loc12_28.1 [template = constants.%.3]
// CHECK:STDOUT: %int.usub.loc12: init i32 = call %Sub.ref.loc12(%.loc12_28.2, %.loc12_43) [template = constants.%.7]
// CHECK:STDOUT: %.loc12_47: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_47: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_21.1: i32 = value_of_initializer %int.usub.loc12 [template = constants.%.7]
// CHECK:STDOUT: %.loc12_21.2: i32 = converted %int.usub.loc12, %.loc12_21.1 [template = constants.%.7]
// CHECK:STDOUT: %int.udiv.loc12: init i32 = call %Div.ref.loc12(%.loc12_21.2, %.loc12_47) [template = constants.%.7]
@@ -337,14 +337,14 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Div.ref.loc15: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %Sub.ref.loc15: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc15_22: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc15_29: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc15_29: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc15_28: init i32 = call %Negate.ref.loc15_22(%.loc15_29) [template = constants.%.3]
// CHECK:STDOUT: %.loc15_43: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc15_43: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc15_28.1: i32 = value_of_initializer %int.unegate.loc15_28 [template = constants.%.3]
// CHECK:STDOUT: %.loc15_28.2: i32 = converted %int.unegate.loc15_28, %.loc15_28.1 [template = constants.%.3]
// CHECK:STDOUT: %int.usub.loc15: init i32 = call %Sub.ref.loc15(%.loc15_28.2, %.loc15_43) [template = constants.%.7]
// CHECK:STDOUT: %Negate.ref.loc15_47: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc15_54: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc15_54: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.unegate.loc15_53: init i32 = call %Negate.ref.loc15_47(%.loc15_54) [template = constants.%.5]
// CHECK:STDOUT: %.loc15_21.1: i32 = value_of_initializer %int.usub.loc15 [template = constants.%.7]
// CHECK:STDOUT: %.loc15_21.2: i32 = converted %int.usub.loc15, %.loc15_21.1 [template = constants.%.7]
@@ -365,8 +365,8 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Div.type: type = fn_type @Div [template]
// CHECK:STDOUT: %Div: %Div.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -425,15 +425,15 @@ let b: i32 = Div(0, 0);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Div.ref.loc10: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %.loc10_18: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_21: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc10_18: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_21: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.udiv.loc10: init i32 = call %Div.ref.loc10(%.loc10_18, %.loc10_21) [template = <error>]
// CHECK:STDOUT: %.loc10_23.1: i32 = value_of_initializer %int.udiv.loc10 [template = <error>]
// CHECK:STDOUT: %.loc10_23.2: i32 = converted %int.udiv.loc10, %.loc10_23.1 [template = <error>]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc10_23.2
// CHECK:STDOUT: %Div.ref.loc15: %Div.type = name_ref Div, file.%Div.decl [template = constants.%Div]
// CHECK:STDOUT: %.loc15_18: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc15_21: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc15_18: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc15_21: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.udiv.loc15: init i32 = call %Div.ref.loc15(%.loc15_18, %.loc15_21) [template = <error>]
// CHECK:STDOUT: %.loc15_23.1: i32 = value_of_initializer %int.udiv.loc15 [template = <error>]
// CHECK:STDOUT: %.loc15_23.2: i32 = converted %int.udiv.loc15, %.loc15_23.1 [template = <error>]
+26 -26
View File
@@ -63,9 +63,9 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Mod.type: type = fn_type @Mod [template]
// CHECK:STDOUT: %Mod: %Mod.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.2: i32 = int_value 5 [template]
// CHECK:STDOUT: %.3: i32 = int_value 3 [template]
// CHECK:STDOUT: %.4: i32 = int_value 2 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -116,8 +116,8 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Mod.ref: %Mod.type = name_ref Mod, %Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 3 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 3 [template = constants.%.3]
// CHECK:STDOUT: %int.umod: init i32 = call %Mod.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -125,7 +125,7 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 2 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 2 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -191,12 +191,12 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_value -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value -1 [template]
// CHECK:STDOUT: %.6: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: %.7: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -307,10 +307,10 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Mod.ref.loc9: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %Negate.ref.loc9_18: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc9_25: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc9_25: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc9_24: init i32 = call %Negate.ref.loc9_18(%.loc9_25) [template = constants.%.3]
// CHECK:STDOUT: %Negate.ref.loc9_39: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc9_46: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc9_46: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.unegate.loc9_45: init i32 = call %Negate.ref.loc9_39(%.loc9_46) [template = constants.%.5]
// CHECK:STDOUT: %.loc9_24.1: i32 = value_of_initializer %int.unegate.loc9_24 [template = constants.%.3]
// CHECK:STDOUT: %.loc9_24.2: i32 = converted %int.unegate.loc9_24, %.loc9_24.1 [template = constants.%.3]
@@ -323,13 +323,13 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Mod.ref.loc12: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %Sub.ref.loc12: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc12: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc12_29: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_29: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc12: init i32 = call %Negate.ref.loc12(%.loc12_29) [template = constants.%.3]
// CHECK:STDOUT: %.loc12_43: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_43: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_28.1: i32 = value_of_initializer %int.unegate.loc12 [template = constants.%.3]
// CHECK:STDOUT: %.loc12_28.2: i32 = converted %int.unegate.loc12, %.loc12_28.1 [template = constants.%.3]
// CHECK:STDOUT: %int.usub.loc12: init i32 = call %Sub.ref.loc12(%.loc12_28.2, %.loc12_43) [template = constants.%.6]
// CHECK:STDOUT: %.loc12_47: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_47: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc12_21.1: i32 = value_of_initializer %int.usub.loc12 [template = constants.%.6]
// CHECK:STDOUT: %.loc12_21.2: i32 = converted %int.usub.loc12, %.loc12_21.1 [template = constants.%.6]
// CHECK:STDOUT: %int.umod.loc12: init i32 = call %Mod.ref.loc12(%.loc12_21.2, %.loc12_47) [template = constants.%.7]
@@ -339,14 +339,14 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Mod.ref.loc15: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %Sub.ref.loc15: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc15_22: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc15_29: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc15_29: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc15_28: init i32 = call %Negate.ref.loc15_22(%.loc15_29) [template = constants.%.3]
// CHECK:STDOUT: %.loc15_43: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc15_43: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc15_28.1: i32 = value_of_initializer %int.unegate.loc15_28 [template = constants.%.3]
// CHECK:STDOUT: %.loc15_28.2: i32 = converted %int.unegate.loc15_28, %.loc15_28.1 [template = constants.%.3]
// CHECK:STDOUT: %int.usub.loc15: init i32 = call %Sub.ref.loc15(%.loc15_28.2, %.loc15_43) [template = constants.%.6]
// CHECK:STDOUT: %Negate.ref.loc15_47: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc15_54: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc15_54: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %int.unegate.loc15_53: init i32 = call %Negate.ref.loc15_47(%.loc15_54) [template = constants.%.5]
// CHECK:STDOUT: %.loc15_21.1: i32 = value_of_initializer %int.usub.loc15 [template = constants.%.6]
// CHECK:STDOUT: %.loc15_21.2: i32 = converted %int.usub.loc15, %.loc15_21.1 [template = constants.%.6]
@@ -367,8 +367,8 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Mod.type: type = fn_type @Mod [template]
// CHECK:STDOUT: %Mod: %Mod.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -427,15 +427,15 @@ let b: i32 = Mod(0, 0);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Mod.ref.loc12: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %.loc12_18: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_21: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc12_18: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc12_21: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.umod.loc12: init i32 = call %Mod.ref.loc12(%.loc12_18, %.loc12_21) [template = <error>]
// CHECK:STDOUT: %.loc12_23.1: i32 = value_of_initializer %int.umod.loc12 [template = <error>]
// CHECK:STDOUT: %.loc12_23.2: i32 = converted %int.umod.loc12, %.loc12_23.1 [template = <error>]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc12_23.2
// CHECK:STDOUT: %Mod.ref.loc17: %Mod.type = name_ref Mod, file.%Mod.decl [template = constants.%Mod]
// CHECK:STDOUT: %.loc17_18: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc17_21: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc17_18: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc17_21: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %int.umod.loc17: init i32 = call %Mod.ref.loc17(%.loc17_18, %.loc17_21) [template = <error>]
// CHECK:STDOUT: %.loc17_23.1: i32 = value_of_initializer %int.umod.loc17 [template = <error>]
// CHECK:STDOUT: %.loc17_23.2: i32 = converted %int.umod.loc17, %.loc17_23.1 [template = <error>]
+15 -15
View File
@@ -36,9 +36,9 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Mul.type: type = fn_type @Mul [template]
// CHECK:STDOUT: %Mul: %Mul.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 6 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 6 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -89,8 +89,8 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Mul.ref: %Mul.type = name_ref Mul, %Mul.decl [template = constants.%Mul]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.umul: init i32 = call %Mul.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -98,7 +98,7 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 6 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 6 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -160,11 +160,11 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Mul.type: type = fn_type @Mul [template]
// CHECK:STDOUT: %Mul: %Mul.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 32767 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 65536 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 2147418112 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 32768 [template]
// CHECK:STDOUT: %.6: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 32767 [template]
// CHECK:STDOUT: %.3: i32 = int_value 65536 [template]
// CHECK:STDOUT: %.4: i32 = int_value 2147418112 [template]
// CHECK:STDOUT: %.5: i32 = int_value 32768 [template]
// CHECK:STDOUT: %.6: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -223,15 +223,15 @@ let b: i32 = Mul(0x8000, 0x10000);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Mul.ref.loc6: %Mul.type = name_ref Mul, file.%Mul.decl [template = constants.%Mul]
// CHECK:STDOUT: %.loc6_18: i32 = int_literal 32767 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_26: i32 = int_literal 65536 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_18: i32 = int_value 32767 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_26: i32 = int_value 65536 [template = constants.%.3]
// CHECK:STDOUT: %int.umul.loc6: init i32 = call %Mul.ref.loc6(%.loc6_18, %.loc6_26) [template = constants.%.4]
// CHECK:STDOUT: %.loc6_34.1: i32 = value_of_initializer %int.umul.loc6 [template = constants.%.4]
// CHECK:STDOUT: %.loc6_34.2: i32 = converted %int.umul.loc6, %.loc6_34.1 [template = constants.%.4]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc6_34.2
// CHECK:STDOUT: %Mul.ref.loc7: %Mul.type = name_ref Mul, file.%Mul.decl [template = constants.%Mul]
// CHECK:STDOUT: %.loc7_18: i32 = int_literal 32768 [template = constants.%.5]
// CHECK:STDOUT: %.loc7_26: i32 = int_literal 65536 [template = constants.%.3]
// CHECK:STDOUT: %.loc7_18: i32 = int_value 32768 [template = constants.%.5]
// CHECK:STDOUT: %.loc7_26: i32 = int_value 65536 [template = constants.%.3]
// CHECK:STDOUT: %int.umul.loc7: init i32 = call %Mul.ref.loc7(%.loc7_18, %.loc7_26) [template = constants.%.6]
// CHECK:STDOUT: %.loc7_34.1: i32 = value_of_initializer %int.umul.loc7 [template = constants.%.6]
// CHECK:STDOUT: %.loc7_34.2: i32 = converted %int.umul.loc7, %.loc7_34.1 [template = constants.%.6]
+21 -21
View File
@@ -120,12 +120,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Negate.type: type = fn_type @Negate [template]
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 123 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -123 [template]
// CHECK:STDOUT: %.2: i32 = int_value 123 [template]
// CHECK:STDOUT: %.3: i32 = int_value -123 [template]
// CHECK:STDOUT: %.4: type = array_type %.2, i32 [template]
// CHECK:STDOUT: %.5: type = ptr_type %.4 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.7: i32 = int_literal -1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 1 [template]
// CHECK:STDOUT: %.7: i32 = int_value -1 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
// CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -169,7 +169,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Negate.ref.loc4_16: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %Negate.ref.loc4_23: %Negate.type = name_ref Negate, %Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc4_30: i32 = int_literal 123 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_30: i32 = int_value 123 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc4_29: init i32 = call %Negate.ref.loc4_23(%.loc4_30) [template = constants.%.3]
// CHECK:STDOUT: %.loc4_29.1: i32 = value_of_initializer %int.unegate.loc4_29 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_29.2: i32 = converted %int.unegate.loc4_29, %.loc4_29.1 [template = constants.%.3]
@@ -180,7 +180,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %arr.var: ref %.4 = var arr
// CHECK:STDOUT: %arr: ref %.4 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 123 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 123 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_21: type = array_type %.loc5_18, i32 [template = constants.%.4]
@@ -234,7 +234,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %.loc5: %.5 = addr_of %arr.ref
// CHECK:STDOUT: %arr_p: %.5 = bind_name arr_p, %.loc5
// CHECK:STDOUT: %Negate.ref: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc7_21: i32 = int_literal 1 [template = constants.%.6]
// CHECK:STDOUT: %.loc7_21: i32 = int_value 1 [template = constants.%.6]
// CHECK:STDOUT: %int.unegate: init i32 = call %Negate.ref(%.loc7_21) [template = constants.%.7]
// CHECK:STDOUT: %.loc7_23.1: i32 = value_of_initializer %int.unegate [template = constants.%.7]
// CHECK:STDOUT: %.loc7_23.2: i32 = converted %int.unegate, %.loc7_23.1 [template = constants.%.7]
@@ -258,8 +258,8 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %BadReturnType: %BadReturnType.type = struct_value () [template]
// CHECK:STDOUT: %JustRight.type: type = fn_type @JustRight [template]
// CHECK:STDOUT: %JustRight: %JustRight.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %RuntimeCallTooFew.type: type = fn_type @RuntimeCallTooFew [template]
// CHECK:STDOUT: %RuntimeCallTooFew: %RuntimeCallTooFew.type = struct_value () [template]
// CHECK:STDOUT: %RuntimeCallTooMany.type: type = fn_type @RuntimeCallTooMany [template]
@@ -370,21 +370,21 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %too_few: ref <error> = bind_name too_few, %too_few.var
// CHECK:STDOUT: %int.make_type_32.loc30: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %TooMany.ref: %TooMany.type = name_ref TooMany, %TooMany.decl [template = constants.%TooMany]
// CHECK:STDOUT: %.loc30_29: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_32: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc30_29: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc30_32: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %TooMany.call: init i32 = call %TooMany.ref(%.loc30_29, %.loc30_32)
// CHECK:STDOUT: %too_many.var: ref <error> = var too_many
// CHECK:STDOUT: %too_many: ref <error> = bind_name too_many, %too_many.var
// CHECK:STDOUT: %int.make_type_32.loc35: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, %BadReturnType.decl [template = constants.%BadReturnType]
// CHECK:STDOUT: %.loc35: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc35: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %BadReturnType.call: init bool = call %BadReturnType.ref(%.loc35)
// CHECK:STDOUT: %bad_return_type.var: ref <error> = var bad_return_type
// CHECK:STDOUT: %bad_return_type: ref <error> = bind_name bad_return_type, %bad_return_type.var
// CHECK:STDOUT: %int.make_type_32.loc44: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %JustRight.ref: %JustRight.type = name_ref JustRight, %JustRight.decl [template = constants.%JustRight]
// CHECK:STDOUT: %.loc44_31: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc44_34: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc44_31: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc44_34: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc44_16.1: type = value_of_initializer %int.make_type_32.loc44 [template = i32]
// CHECK:STDOUT: %.loc44_16.2: type = converted %int.make_type_32.loc44, %.loc44_16.1 [template = i32]
// CHECK:STDOUT: %.loc44_36: type = array_type <error>, i32 [template = <error>]
@@ -510,10 +510,10 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %Negate: %Negate.type = struct_value () [template]
// CHECK:STDOUT: %Sub.type: type = fn_type @Sub [template]
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_literal -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.2: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.3: i32 = int_value -2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -593,7 +593,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Negate.ref.loc8_14: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %Negate.ref.loc8_21: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc8_28: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_28: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc8_27: init i32 = call %Negate.ref.loc8_21(%.loc8_28) [template = constants.%.3]
// CHECK:STDOUT: %.loc8_27.1: i32 = value_of_initializer %int.unegate.loc8_27 [template = constants.%.3]
// CHECK:STDOUT: %.loc8_27.2: i32 = converted %int.unegate.loc8_27, %.loc8_27.1 [template = constants.%.3]
@@ -604,9 +604,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
// CHECK:STDOUT: %Negate.ref.loc11_14: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %Sub.ref: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Negate.ref.loc11_25: %Negate.type = name_ref Negate, file.%Negate.decl [template = constants.%Negate]
// CHECK:STDOUT: %.loc11_32: i32 = int_literal 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %.loc11_32: i32 = int_value 2147483647 [template = constants.%.2]
// CHECK:STDOUT: %int.unegate.loc11_31: init i32 = call %Negate.ref.loc11_25(%.loc11_32) [template = constants.%.3]
// CHECK:STDOUT: %.loc11_45: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc11_45: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc11_31.1: i32 = value_of_initializer %int.unegate.loc11_31 [template = constants.%.3]
// CHECK:STDOUT: %.loc11_31.2: i32 = converted %int.unegate.loc11_31, %.loc11_31.1 [template = constants.%.3]
// CHECK:STDOUT: %int.usub: init i32 = call %Sub.ref(%.loc11_31.2, %.loc11_45) [template = constants.%.5]
+20 -20
View File
@@ -37,9 +37,9 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Sub.type: type = fn_type @Sub [template]
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 3 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -90,8 +90,8 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Sub.ref: %Sub.type = name_ref Sub, %Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 3 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_23: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %int.usub: init i32 = call %Sub.ref(%.loc4_20, %.loc4_23) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -99,7 +99,7 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
@@ -161,12 +161,12 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Sub.type: type = fn_type @Sub [template]
// CHECK:STDOUT: %Sub: %Sub.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_literal -2147483647 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal -2147483648 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.2: i32 = int_value 0 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2147483647 [template]
// CHECK:STDOUT: %.4: i32 = int_value -2147483647 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value -2147483648 [template]
// CHECK:STDOUT: %.7: i32 = int_value 2 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -229,18 +229,18 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Sub.ref.loc6: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %.loc6_18: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_21: i32 = int_literal 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_18: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_21: i32 = int_value 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %int.usub.loc6: init i32 = call %Sub.ref.loc6(%.loc6_18, %.loc6_21) [template = constants.%.4]
// CHECK:STDOUT: %.loc6_32.1: i32 = value_of_initializer %int.usub.loc6 [template = constants.%.4]
// CHECK:STDOUT: %.loc6_32.2: i32 = converted %int.usub.loc6, %.loc6_32.1 [template = constants.%.4]
// CHECK:STDOUT: %a: i32 = bind_name a, %.loc6_32.2
// CHECK:STDOUT: %Sub.ref.loc7_14: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Sub.ref.loc7_18: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %.loc7_22: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_25: i32 = int_literal 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %.loc7_22: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc7_25: i32 = int_value 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %int.usub.loc7_21: init i32 = call %Sub.ref.loc7_18(%.loc7_22, %.loc7_25) [template = constants.%.4]
// CHECK:STDOUT: %.loc7_38: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc7_38: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc7_21.1: i32 = value_of_initializer %int.usub.loc7_21 [template = constants.%.4]
// CHECK:STDOUT: %.loc7_21.2: i32 = converted %int.usub.loc7_21, %.loc7_21.1 [template = constants.%.4]
// CHECK:STDOUT: %int.usub.loc7_17: init i32 = call %Sub.ref.loc7_14(%.loc7_21.2, %.loc7_38) [template = constants.%.6]
@@ -249,10 +249,10 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
// CHECK:STDOUT: %b: i32 = bind_name b, %.loc7_40.2
// CHECK:STDOUT: %Sub.ref.loc8_14: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %Sub.ref.loc8_18: %Sub.type = name_ref Sub, file.%Sub.decl [template = constants.%Sub]
// CHECK:STDOUT: %.loc8_22: i32 = int_literal 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_25: i32 = int_literal 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %.loc8_22: i32 = int_value 0 [template = constants.%.2]
// CHECK:STDOUT: %.loc8_25: i32 = int_value 2147483647 [template = constants.%.3]
// CHECK:STDOUT: %int.usub.loc8_21: init i32 = call %Sub.ref.loc8_18(%.loc8_22, %.loc8_25) [template = constants.%.4]
// CHECK:STDOUT: %.loc8_38: i32 = int_literal 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc8_38: i32 = int_value 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc8_21.1: i32 = value_of_initializer %int.usub.loc8_21 [template = constants.%.4]
// CHECK:STDOUT: %.loc8_21.2: i32 = converted %int.usub.loc8_21, %.loc8_21.1 [template = constants.%.4]
// CHECK:STDOUT: %int.usub.loc8_17: init i32 = call %Sub.ref.loc8_14(%.loc8_21.2, %.loc8_38) [template = constants.%.3]
+6 -6
View File
@@ -27,9 +27,9 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %Xor.type: type = fn_type @Xor [template]
// CHECK:STDOUT: %Xor: %Xor.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 12 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 10 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 6 [template]
// CHECK:STDOUT: %.2: i32 = int_value 12 [template]
// CHECK:STDOUT: %.3: i32 = int_value 10 [template]
// CHECK:STDOUT: %.4: i32 = int_value 6 [template]
// CHECK:STDOUT: %.5: type = array_type %.4, i32 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.5 [template]
// CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [template]
@@ -80,8 +80,8 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %Xor.ref: %Xor.type = name_ref Xor, %Xor.decl [template = constants.%Xor]
// CHECK:STDOUT: %.loc4_20: i32 = int_literal 12 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_24: i32 = int_literal 10 [template = constants.%.3]
// CHECK:STDOUT: %.loc4_20: i32 = int_value 12 [template = constants.%.2]
// CHECK:STDOUT: %.loc4_24: i32 = int_value 10 [template = constants.%.3]
// CHECK:STDOUT: %int.xor: init i32 = call %Xor.ref(%.loc4_20, %.loc4_24) [template = constants.%.4]
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32]
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32]
@@ -89,7 +89,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
// CHECK:STDOUT: %arr.var: ref %.5 = var arr
// CHECK:STDOUT: %arr: ref %.5 = bind_name arr, %arr.var
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_18: i32 = int_literal 6 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_18: i32 = int_value 6 [template = constants.%.4]
// CHECK:STDOUT: %.loc5_13.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_13.2: type = converted %int.make_type_32.loc5, %.loc5_13.1 [template = i32]
// CHECK:STDOUT: %.loc5_19: type = array_type %.loc5_18, i32 [template = constants.%.5]
+4 -4
View File
@@ -26,10 +26,10 @@ fn Main() {
// CHECK:STDOUT: %Print.1: %Print.type.1 = struct_value () [template]
// CHECK:STDOUT: %Main.type: type = fn_type @Main [template]
// CHECK:STDOUT: %Main: %Main.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.2: i32 = int_value 1 [template]
// CHECK:STDOUT: %Print.type.2: type = fn_type @Print.2 [template]
// CHECK:STDOUT: %Print.2: %Print.type.2 = struct_value () [template]
// CHECK:STDOUT: %.3: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.3: i32 = int_value 2 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -70,11 +70,11 @@ fn Main() {
// CHECK:STDOUT: fn @Main() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Print.ref.loc14: %Print.type.1 = name_ref Print, file.%Print.decl [template = constants.%Print.1]
// CHECK:STDOUT: %.loc14: i32 = int_literal 1 [template = constants.%.2]
// CHECK:STDOUT: %.loc14: i32 = int_value 1 [template = constants.%.2]
// CHECK:STDOUT: %print.int.loc14: init %.1 = call %Print.ref.loc14(%.loc14)
// CHECK:STDOUT: %Core.ref: <namespace> = name_ref Core, imports.%Core [template = imports.%Core]
// CHECK:STDOUT: %Print.ref.loc16: %Print.type.2 = name_ref Print, imports.%import_ref.2 [template = constants.%Print.2]
// CHECK:STDOUT: %.loc16: i32 = int_literal 2 [template = constants.%.3]
// CHECK:STDOUT: %.loc16: i32 = int_value 2 [template = constants.%.3]
// CHECK:STDOUT: %print.int.loc16: init %.1 = call %Print.ref.loc16(%.loc16)
// CHECK:STDOUT: return
// CHECK:STDOUT: }
+13 -13
View File
@@ -153,14 +153,14 @@ class A {
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: type = unbound_element_type %Circle, i32 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.3: i32 = int_value 5 [template]
// CHECK:STDOUT: %SomeInternalFunction.type: type = fn_type @SomeInternalFunction [template]
// CHECK:STDOUT: %SomeInternalFunction: %SomeInternalFunction.type = struct_value () [template]
// CHECK:STDOUT: %Make.type: type = fn_type @Make [template]
// CHECK:STDOUT: %Make: %Make.type = struct_value () [template]
// CHECK:STDOUT: %.4: type = struct_type {.radius: i32} [template]
// CHECK:STDOUT: %.5: <witness> = complete_type_witness %.4 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.6: i32 = int_value 0 [template]
// CHECK:STDOUT: %.7: type = ptr_type %.4 [template]
// CHECK:STDOUT: %struct: %Circle = struct_value (%.3) [template]
// CHECK:STDOUT: %Run.type: type = fn_type @Run [template]
@@ -195,7 +195,7 @@ class A {
// CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc6_39.1: type = value_of_initializer %int.make_type_32.loc6 [template = i32]
// CHECK:STDOUT: %.loc6_39.2: type = converted %int.make_type_32.loc6, %.loc6_39.1 [template = i32]
// CHECK:STDOUT: %.loc6_45: i32 = int_literal 5 [template = constants.%.3]
// CHECK:STDOUT: %.loc6_45: i32 = int_value 5 [template = constants.%.3]
// CHECK:STDOUT: %SOME_INTERNAL_CONSTANT: i32 = bind_name SOME_INTERNAL_CONSTANT, %.loc6_45
// CHECK:STDOUT: %SomeInternalFunction.decl: %SomeInternalFunction.type = fn_decl @SomeInternalFunction [template = constants.%SomeInternalFunction] {
// CHECK:STDOUT: %return.patt: i32 = return_slot_pattern
@@ -229,13 +229,13 @@ class A {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @SomeInternalFunction() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc9: i32 = int_literal 0 [template = constants.%.6]
// CHECK:STDOUT: %.loc9: i32 = int_value 0 [template = constants.%.6]
// CHECK:STDOUT: return %.loc9
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: fn @Make() -> %return: %Circle {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc13_23: i32 = int_literal 5 [template = constants.%.3]
// CHECK:STDOUT: %.loc13_23: i32 = int_value 5 [template = constants.%.3]
// CHECK:STDOUT: %.loc13_24.1: %.4 = struct_literal (%.loc13_23)
// CHECK:STDOUT: %.loc13_24.2: ref i32 = class_element_access %return, element0
// CHECK:STDOUT: %.loc13_24.3: init i32 = initialize_from %.loc13_23 to %.loc13_24.2 [template = constants.%.3]
@@ -262,7 +262,7 @@ class A {
// CHECK:STDOUT: %radius: i32 = bind_name radius, <error>
// CHECK:STDOUT: %circle.ref.loc34: %Circle = name_ref circle, %circle
// CHECK:STDOUT: %radius.ref.loc34: <error> = name_ref radius, <error> [template = <error>]
// CHECK:STDOUT: %.loc34: i32 = int_literal 5 [template = constants.%.3]
// CHECK:STDOUT: %.loc34: i32 = int_value 5 [template = constants.%.3]
// CHECK:STDOUT: assign %radius.ref.loc34, <error>
// CHECK:STDOUT: %circle.ref.loc42: %Circle = name_ref circle, %circle
// CHECK:STDOUT: %SOME_INTERNAL_CONSTANT.ref: <error> = name_ref SOME_INTERNAL_CONSTANT, <error> [template = <error>]
@@ -348,7 +348,7 @@ class A {
// CHECK:STDOUT: %.3: type = struct_type {.radius: i32} [template]
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.6: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -437,7 +437,7 @@ class A {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @SomeInternalFunction() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc12: i32 = int_literal 0 [template = constants.%.6]
// CHECK:STDOUT: %.loc12: i32 = int_value 0 [template = constants.%.6]
// CHECK:STDOUT: return %.loc12
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -458,7 +458,7 @@ class A {
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.2: i32 = int_value 5 [template]
// CHECK:STDOUT: %.3: type = struct_type {} [template]
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
@@ -490,7 +490,7 @@ class A {
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_10.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc5_10.2: type = converted %int.make_type_32, %.loc5_10.1 [template = i32]
// CHECK:STDOUT: %.loc5_16: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_16: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %x: i32 = bind_name x, %.loc5_16
// CHECK:STDOUT: %.loc6: <witness> = complete_type_witness %.3 [template = constants.%.4]
// CHECK:STDOUT:
@@ -516,7 +516,7 @@ class A {
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.2: i32 = int_value 5 [template]
// CHECK:STDOUT: %.3: type = struct_type {} [template]
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
@@ -552,12 +552,12 @@ class A {
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_20.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_20.2: type = converted %int.make_type_32.loc5, %.loc5_20.1 [template = i32]
// CHECK:STDOUT: %.loc5_26: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_26: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %x: i32 = bind_name x, %.loc5_26
// CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc6_18.1: type = value_of_initializer %int.make_type_32.loc6 [template = i32]
// CHECK:STDOUT: %.loc6_18.2: type = converted %int.make_type_32.loc6, %.loc6_18.1 [template = i32]
// CHECK:STDOUT: %.loc6_24: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_24: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %y: i32 = bind_name y, %.loc6_24
// CHECK:STDOUT: %.loc7: <witness> = complete_type_witness %.3 [template = constants.%.4]
// CHECK:STDOUT:
+4 -4
View File
@@ -47,8 +47,8 @@ fn Access(d: Derived) -> (i32, i32) {
// CHECK:STDOUT: %.10: type = struct_type {.base: %.5, .d: i32} [template]
// CHECK:STDOUT: %.11: type = ptr_type %.10 [template]
// CHECK:STDOUT: %.12: type = ptr_type %.8 [template]
// CHECK:STDOUT: %.13: i32 = int_literal 4 [template]
// CHECK:STDOUT: %.14: i32 = int_literal 7 [template]
// CHECK:STDOUT: %.13: i32 = int_value 4 [template]
// CHECK:STDOUT: %.14: i32 = int_value 7 [template]
// CHECK:STDOUT: %.15: type = struct_type {.base: %.3, .d: i32} [template]
// CHECK:STDOUT: %struct.1: %Base = struct_value (%.13) [template]
// CHECK:STDOUT: %struct.2: %Derived = struct_value (%struct.1, %.14) [template]
@@ -141,9 +141,9 @@ fn Access(d: Derived) -> (i32, i32) {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @Make() -> %return: %Derived {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc22_25: i32 = int_literal 4 [template = constants.%.13]
// CHECK:STDOUT: %.loc22_25: i32 = int_value 4 [template = constants.%.13]
// CHECK:STDOUT: %.loc22_26.1: %.3 = struct_literal (%.loc22_25)
// CHECK:STDOUT: %.loc22_34: i32 = int_literal 7 [template = constants.%.14]
// CHECK:STDOUT: %.loc22_34: i32 = int_value 7 [template = constants.%.14]
// CHECK:STDOUT: %.loc22_35.1: %.15 = struct_literal (%.loc22_26.1, %.loc22_34)
// CHECK:STDOUT: %.loc22_35.2: ref %Base = class_element_access %return, element0
// CHECK:STDOUT: %.loc22_26.2: ref i32 = class_element_access %.loc22_35.2, element0
+2 -2
View File
@@ -40,7 +40,7 @@ fn Call(p: Derived*) {
// CHECK:STDOUT: %.4: type = struct_type {.a: i32} [template]
// CHECK:STDOUT: %.5: <witness> = complete_type_witness %.4 [template]
// CHECK:STDOUT: %.6: type = ptr_type %.4 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.7: i32 = int_value 1 [template]
// CHECK:STDOUT: %Derived: type = class_type @Derived [template]
// CHECK:STDOUT: %.8: type = unbound_element_type %Derived, %Base [template]
// CHECK:STDOUT: %.9: type = struct_type {.base: %Base} [template]
@@ -134,7 +134,7 @@ fn Call(p: Derived*) {
// CHECK:STDOUT: %.loc18_4: ref %Base = deref %self.ref
// CHECK:STDOUT: %a.ref: %.2 = name_ref a, @Base.%.loc12_8 [template = @Base.%.loc12_8]
// CHECK:STDOUT: %.loc18_10: ref i32 = class_element_access %.loc18_4, element0
// CHECK:STDOUT: %.loc18_15: i32 = int_literal 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc18_15: i32 = int_value 1 [template = constants.%.7]
// CHECK:STDOUT: assign %.loc18_10, %.loc18_15
// CHECK:STDOUT: return
// CHECK:STDOUT: }
+2 -2
View File
@@ -43,7 +43,7 @@ fn Run() -> i32 {
// CHECK:STDOUT: %Run.type: type = fn_type @Run [template]
// CHECK:STDOUT: %Run: %Run.type = struct_value () [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 4 [template]
// CHECK:STDOUT: %.6: i32 = int_value 4 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -158,7 +158,7 @@ fn Run() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, @Class.%F.decl [template = constants.%F]
// CHECK:STDOUT: %.loc26_18: i32 = int_literal 4 [template = constants.%.6]
// CHECK:STDOUT: %.loc26_18: i32 = int_value 4 [template = constants.%.6]
// CHECK:STDOUT: %F.call: init i32 = call %F.ref(%.loc26_18)
// CHECK:STDOUT: %.loc26_20.1: i32 = value_of_initializer %F.call
// CHECK:STDOUT: %.loc26_20.2: i32 = converted %F.call, %.loc26_20.1
+6 -6
View File
@@ -80,10 +80,10 @@ fn ConvertInit() {
// CHECK:STDOUT: %ConvertRef: %ConvertRef.type = struct_value () [template]
// CHECK:STDOUT: %ConvertInit.type: type = fn_type @ConvertInit [template]
// CHECK:STDOUT: %ConvertInit: %ConvertInit.type = struct_value () [template]
// CHECK:STDOUT: %.23: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.24: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.23: i32 = int_value 1 [template]
// CHECK:STDOUT: %.24: i32 = int_value 2 [template]
// CHECK:STDOUT: %.25: type = struct_type {.base: %.3, .b: i32} [template]
// CHECK:STDOUT: %.26: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.26: i32 = int_value 3 [template]
// CHECK:STDOUT: %.27: type = struct_type {.base: %.25, .c: i32} [template]
// CHECK:STDOUT: %struct.1: %A = struct_value (%.23) [template]
// CHECK:STDOUT: %struct.2: %B = struct_value (%struct.1, %.24) [template]
@@ -291,11 +291,11 @@ fn ConvertInit() {
// CHECK:STDOUT: fn @ConvertInit() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A]
// CHECK:STDOUT: %.loc38_38: i32 = int_literal 1 [template = constants.%.23]
// CHECK:STDOUT: %.loc38_38: i32 = int_value 1 [template = constants.%.23]
// CHECK:STDOUT: %.loc38_39.1: %.3 = struct_literal (%.loc38_38)
// CHECK:STDOUT: %.loc38_47: i32 = int_literal 2 [template = constants.%.24]
// CHECK:STDOUT: %.loc38_47: i32 = int_value 2 [template = constants.%.24]
// CHECK:STDOUT: %.loc38_48.1: %.25 = struct_literal (%.loc38_39.1, %.loc38_47)
// CHECK:STDOUT: %.loc38_56: i32 = int_literal 3 [template = constants.%.26]
// CHECK:STDOUT: %.loc38_56: i32 = int_value 3 [template = constants.%.26]
// CHECK:STDOUT: %.loc38_57.1: %.27 = struct_literal (%.loc38_48.1, %.loc38_56)
// CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C]
// CHECK:STDOUT: %.loc38_57.2: ref %C = temporary_storage
+4 -4
View File
@@ -461,9 +461,9 @@ fn CallReturnAbstract() {
// CHECK:STDOUT: %.9: type = struct_type {.base: %.4, .d: i32} [template]
// CHECK:STDOUT: %.10: type = ptr_type %.9 [template]
// CHECK:STDOUT: %.11: type = ptr_type %.7 [template]
// CHECK:STDOUT: %.12: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.12: i32 = int_value 1 [template]
// CHECK:STDOUT: %.13: type = struct_type {.a: i32} [template]
// CHECK:STDOUT: %.14: i32 = int_literal 7 [template]
// CHECK:STDOUT: %.14: i32 = int_value 7 [template]
// CHECK:STDOUT: %.15: type = struct_type {.base: %.13, .d: i32} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -523,9 +523,9 @@ fn CallReturnAbstract() {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @Make() -> %return: %Derived {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc22_25: i32 = int_literal 1 [template = constants.%.12]
// CHECK:STDOUT: %.loc22_25: i32 = int_value 1 [template = constants.%.12]
// CHECK:STDOUT: %.loc22_26: %.13 = struct_literal (%.loc22_25)
// CHECK:STDOUT: %.loc22_34: i32 = int_literal 7 [template = constants.%.14]
// CHECK:STDOUT: %.loc22_34: i32 = int_value 7 [template = constants.%.14]
// CHECK:STDOUT: %.loc22_35: %.15 = struct_literal (%.loc22_26, %.loc22_34)
// CHECK:STDOUT: return <error> to %return
// CHECK:STDOUT: }
+4 -4
View File
@@ -106,7 +106,7 @@ class C {
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %Bad: type = class_type @Bad [template]
// CHECK:STDOUT: %.1: i32 = int_literal 100 [template]
// CHECK:STDOUT: %.1: i32 = int_value 100 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
@@ -182,7 +182,7 @@ class C {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: class @Bad {
// CHECK:STDOUT: %.loc12_9: i32 = int_literal 100 [template = constants.%.1]
// CHECK:STDOUT: %.loc12_9: i32 = int_value 100 [template = constants.%.1]
// CHECK:STDOUT: %ImplicitAs.type: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%ImplicitAs.type.3]
// CHECK:STDOUT: %.loc12_12.1: %.5 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.6]
// CHECK:STDOUT: %Convert.ref: %.5 = name_ref Convert, %.loc12_12.1 [template = constants.%.6]
@@ -247,7 +247,7 @@ class C {
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %Bad: type = class_type @Bad [template]
// CHECK:STDOUT: %.1: i32 = int_literal 100 [template]
// CHECK:STDOUT: %.1: i32 = int_value 100 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
@@ -323,7 +323,7 @@ class C {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: class @Bad {
// CHECK:STDOUT: %.loc12_16: i32 = int_literal 100 [template = constants.%.1]
// CHECK:STDOUT: %.loc12_16: i32 = int_value 100 [template = constants.%.1]
// CHECK:STDOUT: %ImplicitAs.type: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%ImplicitAs.type.3]
// CHECK:STDOUT: %.loc12_19.1: %.5 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.6]
// CHECK:STDOUT: %Convert.ref: %.5 = name_ref Convert, %.loc12_19.1 [template = constants.%.6]
+2 -2
View File
@@ -250,7 +250,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
// CHECK:STDOUT:
// CHECK:STDOUT: constants {
// CHECK:STDOUT: %DeriveFromNonType: type = class_type @DeriveFromNonType [template]
// CHECK:STDOUT: %.1: i32 = int_literal 32 [template]
// CHECK:STDOUT: %.1: i32 = int_value 32 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %.2: type = tuple_type () [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
@@ -339,7 +339,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: class @DeriveFromNonType {
// CHECK:STDOUT: %.loc12_16.1: i32 = int_literal 32 [template = constants.%.1]
// CHECK:STDOUT: %.loc12_16.1: i32 = int_value 32 [template = constants.%.1]
// CHECK:STDOUT: %ImplicitAs.type: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%ImplicitAs.type.3]
// CHECK:STDOUT: %.loc12_16.2: %.5 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.6]
// CHECK:STDOUT: %Convert.ref: %.5 = name_ref Convert, %.loc12_16.2 [template = constants.%.6]
@@ -26,7 +26,7 @@ fn Make() -> C {
// CHECK:STDOUT: %Make.type: type = fn_type @Make [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Make: %Make.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 123 [template]
// CHECK:STDOUT: %.2: i32 = int_value 123 [template]
// CHECK:STDOUT: %.3: type = struct_type {.a: i32} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -67,7 +67,7 @@ fn Make() -> C {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @Make() -> %return: %C {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc19_16: i32 = int_literal 123 [template = constants.%.2]
// CHECK:STDOUT: %.loc19_16: i32 = int_value 123 [template = constants.%.2]
// CHECK:STDOUT: %.loc19_19: %.3 = struct_literal (%.loc19_16)
// CHECK:STDOUT: return <error> to %return
// CHECK:STDOUT: }
+4 -4
View File
@@ -42,8 +42,8 @@ class Class {
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: type = unbound_element_type %Class, i32 [template]
// CHECK:STDOUT: %.3: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.3: i32 = int_value 0 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %.5: type = struct_type {.j: i32, .k: i32} [template]
// CHECK:STDOUT: %.6: <witness> = complete_type_witness %.5 [template]
// CHECK:STDOUT: }
@@ -78,12 +78,12 @@ class Class {
// CHECK:STDOUT: %int.make_type_32.loc29: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc29_18.1: type = value_of_initializer %int.make_type_32.loc29 [template = i32]
// CHECK:STDOUT: %.loc29_18.2: type = converted %int.make_type_32.loc29, %.loc29_18.1 [template = i32]
// CHECK:STDOUT: %.loc29_24: i32 = int_literal 0 [template = constants.%.3]
// CHECK:STDOUT: %.loc29_24: i32 = int_value 0 [template = constants.%.3]
// CHECK:STDOUT: %l: i32 = bind_name l, %.loc29_24
// CHECK:STDOUT: %int.make_type_32.loc34: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc34_16.1: type = value_of_initializer %int.make_type_32.loc34 [template = i32]
// CHECK:STDOUT: %.loc34_16.2: type = converted %int.make_type_32.loc34, %.loc34_16.1 [template = i32]
// CHECK:STDOUT: %.loc34_22: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc34_22: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: %m: i32 = bind_name m, %.loc34_22
// CHECK:STDOUT: %.loc35: <witness> = complete_type_witness %.5 [template = constants.%.6]
// CHECK:STDOUT:
+9 -9
View File
@@ -42,12 +42,12 @@ fn F() {
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: type = struct_type {.a: i32} [template]
// CHECK:STDOUT: %.7: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.8: i32 = int_value 2 [template]
// CHECK:STDOUT: %.9: type = struct_type {.a: i32, .c: i32} [template]
// CHECK:STDOUT: %.10: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.10: i32 = int_value 3 [template]
// CHECK:STDOUT: %.11: type = struct_type {.a: i32, .b: i32, .c: i32} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -92,14 +92,14 @@ fn F() {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @F() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc21_9: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc21_9: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc21_10.1: %.6 = struct_literal (%.loc21_9)
// CHECK:STDOUT: %Class.ref.loc21: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %.loc21_10.2: ref %Class = temporary_storage
// CHECK:STDOUT: %.loc21_10.3: ref %Class = temporary %.loc21_10.2, <error>
// CHECK:STDOUT: %.loc21_12: ref %Class = converted %.loc21_10.1, %.loc21_10.3
// CHECK:STDOUT: %.loc26_9: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc26_17: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc26_9: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc26_17: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc26_18.1: %.9 = struct_literal (%.loc26_9, %.loc26_17)
// CHECK:STDOUT: %Class.ref.loc26: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %.loc26_18.2: ref %Class = temporary_storage
@@ -107,9 +107,9 @@ fn F() {
// CHECK:STDOUT: %.loc26_18.4: init i32 = initialize_from %.loc26_9 to %.loc26_18.3 [template = constants.%.5]
// CHECK:STDOUT: %.loc26_18.5: ref %Class = temporary %.loc26_18.2, <error>
// CHECK:STDOUT: %.loc26_20: ref %Class = converted %.loc26_18.1, %.loc26_18.5
// CHECK:STDOUT: %.loc30_9: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc30_17: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc30_25: i32 = int_literal 3 [template = constants.%.10]
// CHECK:STDOUT: %.loc30_9: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc30_17: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc30_25: i32 = int_value 3 [template = constants.%.10]
// CHECK:STDOUT: %.loc30_26.1: %.11 = struct_literal (%.loc30_9, %.loc30_17, %.loc30_25)
// CHECK:STDOUT: %Class.ref.loc30: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %.loc30_26.2: ref %Class = temporary_storage
+4 -4
View File
@@ -42,8 +42,8 @@ fn F() {
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.6: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.7: i32 = int_value 1 [template]
// CHECK:STDOUT: %.8: i32 = int_value 2 [template]
// CHECK:STDOUT: %struct: %Class = struct_value (%.7, %.8) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -103,8 +103,8 @@ fn F() {
// CHECK:STDOUT: %Class.ref.loc25_10: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %c.var: ref %Class = var c
// CHECK:STDOUT: %c: ref %Class = bind_name c, %c.var
// CHECK:STDOUT: %.loc25_24: i32 = int_literal 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc25_32: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc25_24: i32 = int_value 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc25_32: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc25_33.1: %.3 = struct_literal (%.loc25_24, %.loc25_32)
// CHECK:STDOUT: %Class.ref.loc25_38: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %.loc25_33.2: ref %Class = temporary_storage
+2 -2
View File
@@ -32,7 +32,7 @@ fn G() -> i32 {
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.2: type = struct_type {} [template]
// CHECK:STDOUT: %.3: <witness> = complete_type_witness %.2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.4: i32 = int_value 1 [template]
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -88,7 +88,7 @@ fn G() -> i32 {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @F() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc13: i32 = int_literal 1 [template = constants.%.4]
// CHECK:STDOUT: %.loc13: i32 = int_value 1 [template = constants.%.4]
// CHECK:STDOUT: return %.loc13
// CHECK:STDOUT: }
// CHECK:STDOUT:
+2 -2
View File
@@ -25,7 +25,7 @@ var v: C(0);
// CHECK:STDOUT: %C.2: type = class_type @C, @C(%x) [symbolic]
// CHECK:STDOUT: %.2: type = struct_type {} [template]
// CHECK:STDOUT: %.3: <witness> = complete_type_witness %.2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.4: i32 = int_value 0 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -51,7 +51,7 @@ var v: C(0);
// CHECK:STDOUT: %x.loc14_22.1: <error> = bind_symbolic_name x, 0, %x.param [symbolic = %x.loc14_22.2 (constants.%x)]
// CHECK:STDOUT: }
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, %C.decl [template = constants.%C.1]
// CHECK:STDOUT: %.loc15: i32 = int_literal 0 [template = constants.%.4]
// CHECK:STDOUT: %.loc15: i32 = int_value 0 [template = constants.%.4]
// CHECK:STDOUT: %v.var: ref <error> = var v
// CHECK:STDOUT: %v: ref <error> = bind_name v, %v.var
// CHECK:STDOUT: }
+4 -4
View File
@@ -34,8 +34,8 @@ fn Run() {
// CHECK:STDOUT: %Run.type: type = fn_type @Run [template]
// CHECK:STDOUT: %Run: %Run.type = struct_value () [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.6: i32 = int_value 1 [template]
// CHECK:STDOUT: %.7: i32 = int_value 2 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -85,12 +85,12 @@ fn Run() {
// CHECK:STDOUT: %c.ref.loc18: ref %Class = name_ref c, %c
// CHECK:STDOUT: %j.ref.loc18: %.2 = name_ref j, @Class.%.loc12_8 [template = @Class.%.loc12_8]
// CHECK:STDOUT: %.loc18_4: ref i32 = class_element_access %c.ref.loc18, element0
// CHECK:STDOUT: %.loc18_9: i32 = int_literal 1 [template = constants.%.6]
// CHECK:STDOUT: %.loc18_9: i32 = int_value 1 [template = constants.%.6]
// CHECK:STDOUT: assign %.loc18_4, %.loc18_9
// CHECK:STDOUT: %c.ref.loc19: ref %Class = name_ref c, %c
// CHECK:STDOUT: %k.ref.loc19: %.2 = name_ref k, @Class.%.loc13_8 [template = @Class.%.loc13_8]
// CHECK:STDOUT: %.loc19_4: ref i32 = class_element_access %c.ref.loc19, element1
// CHECK:STDOUT: %.loc19_9: i32 = int_literal 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc19_9: i32 = int_value 2 [template = constants.%.7]
// CHECK:STDOUT: assign %.loc19_4, %.loc19_9
// CHECK:STDOUT: %int.make_type_32.loc20: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc20_11.1: type = value_of_initializer %int.make_type_32.loc20 [template = i32]
@@ -35,8 +35,8 @@ fn Test() {
// CHECK:STDOUT: %Test.type: type = fn_type @Test [template]
// CHECK:STDOUT: %Test: %Test.type = struct_value () [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.6: i32 = int_value 1 [template]
// CHECK:STDOUT: %.7: i32 = int_value 2 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -86,12 +86,12 @@ fn Test() {
// CHECK:STDOUT: %cv.ref.loc18: ref %Class = name_ref cv, %cv
// CHECK:STDOUT: %j.ref.loc18: %.2 = name_ref j, @Class.%.loc12_8 [template = @Class.%.loc12_8]
// CHECK:STDOUT: %.loc18_5: ref i32 = class_element_access %cv.ref.loc18, element0
// CHECK:STDOUT: %.loc18_10: i32 = int_literal 1 [template = constants.%.6]
// CHECK:STDOUT: %.loc18_10: i32 = int_value 1 [template = constants.%.6]
// CHECK:STDOUT: assign %.loc18_5, %.loc18_10
// CHECK:STDOUT: %cv.ref.loc19: ref %Class = name_ref cv, %cv
// CHECK:STDOUT: %k.ref.loc19: %.2 = name_ref k, @Class.%.loc13_8 [template = @Class.%.loc13_8]
// CHECK:STDOUT: %.loc19_5: ref i32 = class_element_access %cv.ref.loc19, element1
// CHECK:STDOUT: %.loc19_10: i32 = int_literal 2 [template = constants.%.7]
// CHECK:STDOUT: %.loc19_10: i32 = int_value 2 [template = constants.%.7]
// CHECK:STDOUT: assign %.loc19_5, %.loc19_10
// CHECK:STDOUT: %Class.ref.loc20: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %cv.ref.loc20: ref %Class = name_ref cv, %cv
+10 -10
View File
@@ -101,10 +101,10 @@ class Outer(T:! type) {
// CHECK:STDOUT: %.2: type = struct_type {} [template]
// CHECK:STDOUT: %.3: <witness> = complete_type_witness %.2 [template]
// CHECK:STDOUT: %.4: type = ptr_type i32 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.5: i32 = int_value 5 [template]
// CHECK:STDOUT: %Class.3: type = class_type @Class, @Class(%.4, %.5) [template]
// CHECK:STDOUT: %.6: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.7: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.7: i32 = int_value 0 [template]
// CHECK:STDOUT: %Class.4: type = class_type @Class, @Class(%.1, %.7) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -144,13 +144,13 @@ class Outer(T:! type) {
// CHECK:STDOUT: %.loc6_17.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc6_17.2: type = converted %int.make_type_32, %.loc6_17.1 [template = i32]
// CHECK:STDOUT: %.loc6_17.3: type = ptr_type i32 [template = constants.%.4]
// CHECK:STDOUT: %.loc6_20: i32 = int_literal 5 [template = constants.%.5]
// CHECK:STDOUT: %.loc6_20: i32 = int_value 5 [template = constants.%.5]
// CHECK:STDOUT: %Class.loc6: type = class_type @Class, @Class(constants.%.4, constants.%.5) [template = constants.%Class.3]
// CHECK:STDOUT: %a.var: ref %Class.3 = var a
// CHECK:STDOUT: %a: ref %Class.3 = bind_name a, %a.var
// CHECK:STDOUT: %Class.ref.loc9: %Class.type = name_ref Class, %Class.decl [template = constants.%Class.1]
// CHECK:STDOUT: %.loc9_15: %.1 = tuple_literal ()
// CHECK:STDOUT: %.loc9_18: i32 = int_literal 0 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_18: i32 = int_value 0 [template = constants.%.7]
// CHECK:STDOUT: %.loc9_13: type = converted %.loc9_15, constants.%.1 [template = constants.%.1]
// CHECK:STDOUT: %Class.loc9: type = class_type @Class, @Class(constants.%.1, constants.%.7) [template = constants.%Class.4]
// CHECK:STDOUT: %b.var: ref %Class.4 = var b
@@ -298,8 +298,8 @@ class Outer(T:! type) {
// CHECK:STDOUT: %.2: type = struct_type {} [template]
// CHECK:STDOUT: %.3: <witness> = complete_type_witness %.2 [template]
// CHECK:STDOUT: %.4: type = ptr_type i32 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -337,8 +337,8 @@ class Outer(T:! type) {
// CHECK:STDOUT: %.loc13_17.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc13_17.2: type = converted %int.make_type_32, %.loc13_17.1 [template = i32]
// CHECK:STDOUT: %.loc13_17.3: type = ptr_type i32 [template = constants.%.4]
// CHECK:STDOUT: %.loc13_20: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_23: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc13_20: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc13_23: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %a.var: ref <error> = var a
// CHECK:STDOUT: %a: ref <error> = bind_name a, %a.var
// CHECK:STDOUT: }
@@ -383,7 +383,7 @@ class Outer(T:! type) {
// CHECK:STDOUT: %Class.2: type = class_type @Class, @Class(%T, %N) [symbolic]
// CHECK:STDOUT: %.2: type = struct_type {} [template]
// CHECK:STDOUT: %.3: <witness> = complete_type_witness %.2 [template]
// CHECK:STDOUT: %.4: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.4: i32 = int_value 5 [template]
// CHECK:STDOUT: %.5: type = ptr_type i32 [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
@@ -442,7 +442,7 @@ class Outer(T:! type) {
// CHECK:STDOUT: %N.loc4_23.1: i32 = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc4_23.2 (constants.%N)]
// CHECK:STDOUT: }
// CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [template = constants.%Class.1]
// CHECK:STDOUT: %.loc15_14: i32 = int_literal 5 [template = constants.%.4]
// CHECK:STDOUT: %.loc15_14: i32 = int_value 5 [template = constants.%.4]
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc15_20.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc15_20.2: type = converted %int.make_type_32, %.loc15_20.1 [template = i32]
+4 -4
View File
@@ -104,7 +104,7 @@ class Class(U:! type) {
// CHECK:STDOUT: %F.1: %F.type.1 = struct_value () [symbolic]
// CHECK:STDOUT: %.3: type = struct_type {.n: i32} [template]
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.5: i32 = int_value 0 [template]
// CHECK:STDOUT: %CompleteClass.3: type = class_type @CompleteClass, @CompleteClass(i32) [template]
// CHECK:STDOUT: %F.type.2: type = fn_type @F.2 [template]
// CHECK:STDOUT: %F.2: %F.type.2 = struct_value () [template]
@@ -203,7 +203,7 @@ class Class(U:! type) {
// CHECK:STDOUT:
// CHECK:STDOUT: fn() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc8_26: i32 = int_literal 0 [template = constants.%.5]
// CHECK:STDOUT: %.loc8_26: i32 = int_value 0 [template = constants.%.5]
// CHECK:STDOUT: return %.loc8_26
// CHECK:STDOUT: }
// CHECK:STDOUT: }
@@ -268,7 +268,7 @@ class Class(U:! type) {
// CHECK:STDOUT: %F.type.3: type = fn_type @F.1, @CompleteClass(i32) [template]
// CHECK:STDOUT: %F.3: %F.type.3 = struct_value () [template]
// CHECK:STDOUT: %.9: type = ptr_type %.5 [template]
// CHECK:STDOUT: %.10: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.10: i32 = int_value 1 [template]
// CHECK:STDOUT: %struct: %CompleteClass.3 = struct_value (%.10) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -367,7 +367,7 @@ class Class(U:! type) {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @F.2() -> %return: %CompleteClass.3 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc9_16: i32 = int_literal 1 [template = constants.%.10]
// CHECK:STDOUT: %.loc9_16: i32 = int_value 1 [template = constants.%.10]
// CHECK:STDOUT: %.loc9_17.1: %.5 = struct_literal (%.loc9_16)
// CHECK:STDOUT: %.loc9_17.2: ref i32 = class_element_access %return, element0
// CHECK:STDOUT: %.loc9_17.3: init i32 = initialize_from %.loc9_16 to %.loc9_17.2 [template = constants.%.10]
+4 -4
View File
@@ -165,10 +165,10 @@ fn Run() {
// CHECK:STDOUT: %.5: type = struct_type {.x: i32} [template]
// CHECK:STDOUT: %.6: <witness> = complete_type_witness %.5 [template]
// CHECK:STDOUT: %.7: type = ptr_type %.5 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.8: i32 = int_value 1 [template]
// CHECK:STDOUT: %struct.2: %Field = struct_value (%.8) [template]
// CHECK:STDOUT: %.9: type = unbound_element_type %Field, i32 [template]
// CHECK:STDOUT: %.10: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.10: i32 = int_value 2 [template]
// CHECK:STDOUT: %ForwardDeclared.1: type = class_type @ForwardDeclared.1 [template]
// CHECK:STDOUT: %struct.3: %ForwardDeclared.1 = struct_value () [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
@@ -254,7 +254,7 @@ fn Run() {
// CHECK:STDOUT: %Field.ref: type = name_ref Field, imports.%import_ref.2 [template = constants.%Field]
// CHECK:STDOUT: %b.var: ref %Field = var b
// CHECK:STDOUT: %b: ref %Field = bind_name b, %b.var
// CHECK:STDOUT: %.loc9_24: i32 = int_literal 1 [template = constants.%.8]
// CHECK:STDOUT: %.loc9_24: i32 = int_value 1 [template = constants.%.8]
// CHECK:STDOUT: %.loc9_25.1: %.5 = struct_literal (%.loc9_24)
// CHECK:STDOUT: %.loc9_25.2: ref i32 = class_element_access %b.var, element0
// CHECK:STDOUT: %.loc9_25.3: init i32 = initialize_from %.loc9_24 to %.loc9_25.2 [template = constants.%.8]
@@ -264,7 +264,7 @@ fn Run() {
// CHECK:STDOUT: %b.ref: ref %Field = name_ref b, %b
// CHECK:STDOUT: %x.ref: %.9 = name_ref x, imports.%import_ref.7 [template = imports.%.1]
// CHECK:STDOUT: %.loc10_4: ref i32 = class_element_access %b.ref, element0
// CHECK:STDOUT: %.loc10_9: i32 = int_literal 2 [template = constants.%.10]
// CHECK:STDOUT: %.loc10_9: i32 = int_value 2 [template = constants.%.10]
// CHECK:STDOUT: assign %.loc10_4, %.loc10_9
// CHECK:STDOUT: %ForwardDeclared.ref.loc12: type = name_ref ForwardDeclared, imports.%import_ref.3 [template = constants.%ForwardDeclared.1]
// CHECK:STDOUT: %c.var: ref %ForwardDeclared.1 = var c
+6 -6
View File
@@ -145,13 +145,13 @@ fn Run() {
// CHECK:STDOUT: %.7: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.8: type = struct_type {.base: %.7} [template]
// CHECK:STDOUT: %.9: type = ptr_type %.5 [template]
// CHECK:STDOUT: %.10: i32 = int_literal 0 [template]
// CHECK:STDOUT: %.11: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.10: i32 = int_value 0 [template]
// CHECK:STDOUT: %.11: i32 = int_value 1 [template]
// CHECK:STDOUT: %.12: type = struct_type {.base: %.2} [template]
// CHECK:STDOUT: %struct.1: %Base = struct_value (%.10, %.11) [template]
// CHECK:STDOUT: %struct.2: %Child = struct_value (%struct.1) [template]
// CHECK:STDOUT: %.13: type = unbound_element_type %Base, i32 [template]
// CHECK:STDOUT: %.14: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.14: i32 = int_value 2 [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: }
@@ -205,8 +205,8 @@ fn Run() {
// CHECK:STDOUT: %Child.ref: type = name_ref Child, imports.%import_ref.2 [template = constants.%Child]
// CHECK:STDOUT: %a.var: ref %Child = var a
// CHECK:STDOUT: %a: ref %Child = bind_name a, %a.var
// CHECK:STDOUT: %.loc7_33: i32 = int_literal 0 [template = constants.%.10]
// CHECK:STDOUT: %.loc7_46: i32 = int_literal 1 [template = constants.%.11]
// CHECK:STDOUT: %.loc7_33: i32 = int_value 0 [template = constants.%.10]
// CHECK:STDOUT: %.loc7_46: i32 = int_value 1 [template = constants.%.11]
// CHECK:STDOUT: %.loc7_47.1: %.2 = struct_literal (%.loc7_33, %.loc7_46)
// CHECK:STDOUT: %.loc7_48.1: %.12 = struct_literal (%.loc7_47.1)
// CHECK:STDOUT: %.loc7_48.2: ref %Base = class_element_access %a.var, element0
@@ -224,7 +224,7 @@ fn Run() {
// CHECK:STDOUT: %.loc8_4.1: ref %Base = class_element_access %a.ref.loc8, element0
// CHECK:STDOUT: %.loc8_4.2: ref %Base = converted %a.ref.loc8, %.loc8_4.1
// CHECK:STDOUT: %.loc8_4.3: ref i32 = class_element_access %.loc8_4.2, element0
// CHECK:STDOUT: %.loc8_9: i32 = int_literal 2 [template = constants.%.14]
// CHECK:STDOUT: %.loc8_9: i32 = int_value 2 [template = constants.%.14]
// CHECK:STDOUT: assign %.loc8_4.3, %.loc8_9
// CHECK:STDOUT: %a.ref.loc9: ref %Child = name_ref a, %a
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, imports.%import_ref.4 [template = constants.%F]
+7 -7
View File
@@ -480,7 +480,7 @@ class B {
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.2: i32 = int_value 5 [template]
// CHECK:STDOUT: %SomeProtectedFunction.type: type = fn_type @SomeProtectedFunction [template]
// CHECK:STDOUT: %SomeProtectedFunction: %SomeProtectedFunction.type = struct_value () [template]
// CHECK:STDOUT: %.3: type = struct_type {} [template]
@@ -520,7 +520,7 @@ class B {
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_32.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc5_32.2: type = converted %int.make_type_32, %.loc5_32.1 [template = i32]
// CHECK:STDOUT: %.loc5_38: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_38: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %SOME_CONSTANT: i32 = bind_name SOME_CONSTANT, %.loc5_38
// CHECK:STDOUT: %SomeProtectedFunction.decl: %SomeProtectedFunction.type = fn_decl @SomeProtectedFunction [template = constants.%SomeProtectedFunction] {
// CHECK:STDOUT: %return.patt: i32 = return_slot_pattern
@@ -577,7 +577,7 @@ class B {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @SomeProtectedFunction() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc7: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc7: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: return %.loc7
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -947,7 +947,7 @@ class B {
// CHECK:STDOUT: %Int32.type: type = fn_type @Int32 [template]
// CHECK:STDOUT: %.1: type = tuple_type () [template]
// CHECK:STDOUT: %Int32: %Int32.type = struct_value () [template]
// CHECK:STDOUT: %.2: i32 = int_literal 5 [template]
// CHECK:STDOUT: %.2: i32 = int_value 5 [template]
// CHECK:STDOUT: %.3: type = struct_type {} [template]
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
// CHECK:STDOUT: %Internal: type = class_type @Internal [template]
@@ -990,12 +990,12 @@ class B {
// CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc5_42.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32]
// CHECK:STDOUT: %.loc5_42.2: type = converted %int.make_type_32.loc5, %.loc5_42.1 [template = i32]
// CHECK:STDOUT: %.loc5_48: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc5_48: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %SOME_PROTECTED_CONSTANT: i32 = bind_name SOME_PROTECTED_CONSTANT, %.loc5_48
// CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc6_38.1: type = value_of_initializer %int.make_type_32.loc6 [template = i32]
// CHECK:STDOUT: %.loc6_38.2: type = converted %int.make_type_32.loc6, %.loc6_38.1 [template = i32]
// CHECK:STDOUT: %.loc6_44: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc6_44: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %SOME_PRIVATE_CONSTANT: i32 = bind_name SOME_PRIVATE_CONSTANT, %.loc6_44
// CHECK:STDOUT: %.loc7: <witness> = complete_type_witness %.3 [template = constants.%.4]
// CHECK:STDOUT:
@@ -1009,7 +1009,7 @@ class B {
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
// CHECK:STDOUT: %.loc10_36.1: type = value_of_initializer %int.make_type_32 [template = i32]
// CHECK:STDOUT: %.loc10_36.2: type = converted %int.make_type_32, %.loc10_36.1 [template = i32]
// CHECK:STDOUT: %.loc10_42: i32 = int_literal 5 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_42: i32 = int_value 5 [template = constants.%.2]
// CHECK:STDOUT: %INTERNAL_CONSTANT: i32 = bind_name INTERNAL_CONSTANT, %.loc10_42
// CHECK:STDOUT: %.loc11: <witness> = complete_type_witness %.3 [template = constants.%.4]
// CHECK:STDOUT:
+8 -8
View File
@@ -104,8 +104,8 @@ var e: C = MakeAdaptC();
// CHECK:STDOUT: %AdaptC: type = class_type @AdaptC [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: <witness> = complete_type_witness %C [template]
// CHECK:STDOUT: %.7: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.7: i32 = int_value 1 [template]
// CHECK:STDOUT: %.8: i32 = int_value 2 [template]
// CHECK:STDOUT: %struct: %C = struct_value (%.7, %.8) [template]
// CHECK:STDOUT: %MakeC.type: type = fn_type @MakeC [template]
// CHECK:STDOUT: %MakeC: %MakeC.type = struct_value () [template]
@@ -199,8 +199,8 @@ var e: C = MakeAdaptC();
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc13_18: i32 = int_literal 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc13_26: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_18: i32 = int_value 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc13_26: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_27.1: %.3 = struct_literal (%.loc13_18, %.loc13_26)
// CHECK:STDOUT: %.loc13_27.2: ref %C = temporary_storage
// CHECK:STDOUT: %.loc13_27.3: ref i32 = class_element_access %.loc13_27.2, element0
@@ -252,8 +252,8 @@ var e: C = MakeAdaptC();
// CHECK:STDOUT: %AdaptC: type = class_type @AdaptC [template]
// CHECK:STDOUT: %.5: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.6: <witness> = complete_type_witness %C [template]
// CHECK:STDOUT: %.7: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.8: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.7: i32 = int_value 1 [template]
// CHECK:STDOUT: %.8: i32 = int_value 2 [template]
// CHECK:STDOUT: %struct: %C = struct_value (%.7, %.8) [template]
// CHECK:STDOUT: %ImplicitAs.type.1: type = generic_interface_type @ImplicitAs [template]
// CHECK:STDOUT: %ImplicitAs: %ImplicitAs.type.1 = struct_value () [template]
@@ -404,8 +404,8 @@ var e: C = MakeAdaptC();
// CHECK:STDOUT:
// CHECK:STDOUT: fn @__global_init() {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc13_18: i32 = int_literal 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc13_26: i32 = int_literal 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_18: i32 = int_value 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc13_26: i32 = int_value 2 [template = constants.%.8]
// CHECK:STDOUT: %.loc13_27.1: %.3 = struct_literal (%.loc13_18, %.loc13_26)
// CHECK:STDOUT: %.loc13_27.2: ref %C = temporary_storage
// CHECK:STDOUT: %.loc13_27.3: ref i32 = class_element_access %.loc13_27.2, element0
+4 -4
View File
@@ -29,8 +29,8 @@ fn F() -> i32 {
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.6: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: %.6: i32 = int_value 2 [template]
// CHECK:STDOUT: %.7: type = ptr_type %.3 [template]
// CHECK:STDOUT: %struct: %Class = struct_value (%.5, %.6) [template]
// CHECK:STDOUT: }
@@ -85,8 +85,8 @@ fn F() -> i32 {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @F() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc17_17: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc17_25: i32 = int_literal 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc17_17: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc17_25: i32 = int_value 2 [template = constants.%.6]
// CHECK:STDOUT: %.loc17_26.1: %.3 = struct_literal (%.loc17_17, %.loc17_25)
// CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %.loc17_26.2: ref %Class = temporary_storage
+2 -2
View File
@@ -80,7 +80,7 @@ fn CallGOnInitializingExpr() -> i32 {
// CHECK:STDOUT: %CallAlias: %CallAlias.type = struct_value () [template]
// CHECK:STDOUT: %CallOnConstBoundMethod.type: type = fn_type @CallOnConstBoundMethod [template]
// CHECK:STDOUT: %CallOnConstBoundMethod: %CallOnConstBoundMethod.type = struct_value () [template]
// CHECK:STDOUT: %.7: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.7: i32 = int_value 1 [template]
// CHECK:STDOUT: %struct: %Class = struct_value (%.7) [template]
// CHECK:STDOUT: %CallWithAddr.type: type = fn_type @CallWithAddr [template]
// CHECK:STDOUT: %CallWithAddr: %CallWithAddr.type = struct_value () [template]
@@ -334,7 +334,7 @@ fn CallGOnInitializingExpr() -> i32 {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @CallOnConstBoundMethod() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc35_17: i32 = int_literal 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc35_17: i32 = int_value 1 [template = constants.%.7]
// CHECK:STDOUT: %.loc35_18.1: %.4 = struct_literal (%.loc35_17)
// CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class]
// CHECK:STDOUT: %.loc35_18.2: ref %Class = temporary_storage
+2 -2
View File
@@ -32,7 +32,7 @@ class Class {
// CHECK:STDOUT: %.2: type = struct_type {} [template]
// CHECK:STDOUT: %.3: <witness> = complete_type_witness %.2 [template]
// CHECK:STDOUT: %.4: type = ptr_type %.2 [template]
// CHECK:STDOUT: %.5: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.5: i32 = int_value 1 [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: imports {
@@ -96,7 +96,7 @@ class Class {
// CHECK:STDOUT:
// CHECK:STDOUT: fn @F() -> i32 {
// CHECK:STDOUT: !entry:
// CHECK:STDOUT: %.loc17: i32 = int_literal 1 [template = constants.%.5]
// CHECK:STDOUT: %.loc17: i32 = int_value 1 [template = constants.%.5]
// CHECK:STDOUT: return %.loc17
// CHECK:STDOUT: }
// CHECK:STDOUT:
+8 -8
View File
@@ -79,16 +79,16 @@ class A {
// CHECK:STDOUT: %.12: type = struct_type {.a: i32} [template]
// CHECK:STDOUT: %.13: <witness> = complete_type_witness %.12 [template]
// CHECK:STDOUT: %.14: type = ptr_type %.12 [template]
// CHECK:STDOUT: %.15: i32 = int_literal 1 [template]
// CHECK:STDOUT: %.15: i32 = int_value 1 [template]
// CHECK:STDOUT: %struct.1: %A = struct_value (%.15) [template]
// CHECK:STDOUT: %.16: type = ptr_type %.3 [template]
// CHECK:STDOUT: %.17: i32 = int_literal 2 [template]
// CHECK:STDOUT: %.17: i32 = int_value 2 [template]
// CHECK:STDOUT: %struct.2: %B = struct_value (%.17) [template]
// CHECK:STDOUT: %.18: type = ptr_type %.9 [template]
// CHECK:STDOUT: %.19: i32 = int_literal 3 [template]
// CHECK:STDOUT: %.19: i32 = int_value 3 [template]
// CHECK:STDOUT: %struct.3: %C = struct_value (%.19) [template]
// CHECK:STDOUT: %.20: type = ptr_type %.6 [template]
// CHECK:STDOUT: %.21: i32 = int_literal 4 [template]
// CHECK:STDOUT: %.21: i32 = int_value 4 [template]
// CHECK:STDOUT: %struct.4: %D = struct_value (%.21) [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -187,7 +187,7 @@ class A {
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A]
// CHECK:STDOUT: %a.var: ref %A = var a
// CHECK:STDOUT: %a: ref %A = bind_name a, %a.var
// CHECK:STDOUT: %.loc29_24: i32 = int_literal 1 [template = constants.%.15]
// CHECK:STDOUT: %.loc29_24: i32 = int_value 1 [template = constants.%.15]
// CHECK:STDOUT: %.loc29_25.1: %.12 = struct_literal (%.loc29_24)
// CHECK:STDOUT: %.loc29_25.2: ref i32 = class_element_access %a.var, element0
// CHECK:STDOUT: %.loc29_25.3: init i32 = initialize_from %.loc29_24 to %.loc29_25.2 [template = constants.%.15]
@@ -197,7 +197,7 @@ class A {
// CHECK:STDOUT: %B.ref: type = name_ref B, @A.%B.decl [template = constants.%B]
// CHECK:STDOUT: %b.var: ref %B = var b
// CHECK:STDOUT: %b: ref %B = bind_name b, %b.var
// CHECK:STDOUT: %.loc30_24: i32 = int_literal 2 [template = constants.%.17]
// CHECK:STDOUT: %.loc30_24: i32 = int_value 2 [template = constants.%.17]
// CHECK:STDOUT: %.loc30_25.1: %.3 = struct_literal (%.loc30_24)
// CHECK:STDOUT: %.loc30_25.2: ref i32 = class_element_access %b.var, element0
// CHECK:STDOUT: %.loc30_25.3: init i32 = initialize_from %.loc30_24 to %.loc30_25.2 [template = constants.%.17]
@@ -207,7 +207,7 @@ class A {
// CHECK:STDOUT: %C.ref: type = name_ref C, @B.%C.decl [template = constants.%C]
// CHECK:STDOUT: %c.var: ref %C = var c
// CHECK:STDOUT: %c: ref %C = bind_name c, %c.var
// CHECK:STDOUT: %.loc31_24: i32 = int_literal 3 [template = constants.%.19]
// CHECK:STDOUT: %.loc31_24: i32 = int_value 3 [template = constants.%.19]
// CHECK:STDOUT: %.loc31_25.1: %.9 = struct_literal (%.loc31_24)
// CHECK:STDOUT: %.loc31_25.2: ref i32 = class_element_access %c.var, element0
// CHECK:STDOUT: %.loc31_25.3: init i32 = initialize_from %.loc31_24 to %.loc31_25.2 [template = constants.%.19]
@@ -217,7 +217,7 @@ class A {
// CHECK:STDOUT: %D.ref: type = name_ref D, @C.%D.decl [template = constants.%D]
// CHECK:STDOUT: %d.var: ref %D = var d
// CHECK:STDOUT: %d: ref %D = bind_name d, %d.var
// CHECK:STDOUT: %.loc32_24: i32 = int_literal 4 [template = constants.%.21]
// CHECK:STDOUT: %.loc32_24: i32 = int_value 4 [template = constants.%.21]
// CHECK:STDOUT: %.loc32_25.1: %.6 = struct_literal (%.loc32_24)
// CHECK:STDOUT: %.loc32_25.2: ref i32 = class_element_access %d.var, element0
// CHECK:STDOUT: %.loc32_25.3: init i32 = initialize_from %.loc32_24 to %.loc32_25.2 [template = constants.%.21]

Some files were not shown because too many files have changed in this diff Show More