mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 19:50:14 +01:00
Rework how we check calls to support deduced implicit parameters (#4302)
Instead of the `call` instruction having a block with one argument per explicit argument, preceded optionally by `self` and followed optionally by a return slot, change the `call` to store only the *runtime* arguments. Store an index on the runtime parameters to make it easier to determine the correspondence between arguments and parameters in a call. Compile-time parameters, whether implicit or explicit, are no longer included in the call argument list. Instead, they're tracked only in the `specific_id` on the callee. For calls to generic classes and generic interfaces, it no longer makes sense to form a `call` instruction, given that the entirety of the result is determined by the `specific_id`, which is now formed when checking the call. Instead, the `call` instruction now only models function calls, and not calls to other kinds of parameterized entity names, and we create a `class_type` or `interface_type` instead of a `call` instruction to model these kinds of calls. Notionally the model here is that we're following the #3720 approach for calls, but for now we inline the `Call.Op` function when forming SemIR. We now also track the enclosing specific for a generic class or generic interface that appears within an enclosing generic. This is necessary in order for deduction of the inner generic parameters to not get confused by the outer generic parameters being absent. In order to not regress diagnostics, the template argument deduction mechanism has been extended to specify the name of the parameter we're deducing against when possible, and call arity mismatch errors are now diagnosed before performing deduction rather than afterwards.
This commit is contained in:
+94
-54
@@ -9,60 +9,102 @@
|
||||
#include "toolchain/check/convert.h"
|
||||
#include "toolchain/check/deduce.h"
|
||||
#include "toolchain/check/function.h"
|
||||
#include "toolchain/sem_ir/entity_with_params_base.h"
|
||||
#include "toolchain/sem_ir/ids.h"
|
||||
#include "toolchain/sem_ir/inst.h"
|
||||
#include "toolchain/sem_ir/typed_insts.h"
|
||||
|
||||
namespace Carbon::Check {
|
||||
|
||||
// Resolves the callee expression in a call to a specific callee, or diagnoses
|
||||
// if no specific callee can be identified. This verifies the arity of the
|
||||
// callee and determines any compile-time arguments, but doesn't check that the
|
||||
// runtime arguments are convertible to the parameter types.
|
||||
//
|
||||
// `self_id` and `arg_ids` are the self argument and explicit arguments in the
|
||||
// call.
|
||||
//
|
||||
// Returns a SpecificId for the specific callee, or `nullopt` if an error has
|
||||
// been diagnosed.
|
||||
static auto ResolveCalleeInCall(Context& context, SemIR::LocId loc_id,
|
||||
const SemIR::EntityWithParamsBase& entity,
|
||||
llvm::StringLiteral entity_kind_for_diagnostic,
|
||||
SemIR::GenericId entity_generic_id,
|
||||
SemIR::SpecificId enclosing_specific_id,
|
||||
SemIR::InstId self_id,
|
||||
llvm::ArrayRef<SemIR::InstId> arg_ids)
|
||||
-> std::optional<SemIR::SpecificId> {
|
||||
CalleeParamsInfo callee_info(entity);
|
||||
|
||||
// Check that the arity matches.
|
||||
auto params = context.inst_blocks().GetOrEmpty(callee_info.param_refs_id);
|
||||
if (arg_ids.size() != params.size()) {
|
||||
CARBON_DIAGNOSTIC(CallArgCountMismatch, Error,
|
||||
"{0} argument(s) passed to {1} expecting "
|
||||
"{2} argument(s).",
|
||||
int, llvm::StringLiteral, int);
|
||||
CARBON_DIAGNOSTIC(InCallToEntity, Note, "Calling {0} declared here.",
|
||||
llvm::StringLiteral);
|
||||
context.emitter()
|
||||
.Build(loc_id, CallArgCountMismatch, arg_ids.size(),
|
||||
entity_kind_for_diagnostic, params.size())
|
||||
.Note(callee_info.callee_loc, InCallToEntity,
|
||||
entity_kind_for_diagnostic)
|
||||
.Emit();
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
// Perform argument deduction.
|
||||
auto specific_id = SemIR::SpecificId::Invalid;
|
||||
if (entity_generic_id.is_valid()) {
|
||||
specific_id = DeduceGenericCallArguments(
|
||||
context, loc_id, entity_generic_id, enclosing_specific_id,
|
||||
callee_info.implicit_param_refs_id, callee_info.param_refs_id, self_id,
|
||||
arg_ids);
|
||||
if (!specific_id.is_valid()) {
|
||||
return std::nullopt;
|
||||
}
|
||||
}
|
||||
return specific_id;
|
||||
}
|
||||
|
||||
// Performs a call where the callee is the name of a generic class, such as
|
||||
// `Vector(i32)`.
|
||||
static auto PerformCallToGenericClass(Context& context, SemIR::LocId loc_id,
|
||||
SemIR::InstId callee_id,
|
||||
SemIR::ClassId class_id,
|
||||
SemIR::SpecificId enclosing_specific_id,
|
||||
llvm::ArrayRef<SemIR::InstId> arg_ids)
|
||||
-> SemIR::InstId {
|
||||
CalleeParamsInfo class_info(context.classes().Get(class_id));
|
||||
|
||||
// TODO: Pass in information about the specific in which the generic class
|
||||
// name was found.
|
||||
// TODO: Perform argument deduction.
|
||||
auto specific_id = SemIR::SpecificId::Invalid;
|
||||
|
||||
// Convert the arguments to match the parameters.
|
||||
auto converted_args_id = ConvertCallArgs(
|
||||
context, loc_id, /*self_id=*/SemIR::InstId::Invalid, arg_ids,
|
||||
/*return_storage_id=*/SemIR::InstId::Invalid, class_info, specific_id);
|
||||
return context.AddInst<SemIR::Call>(loc_id,
|
||||
{.type_id = SemIR::TypeId::TypeType,
|
||||
.callee_id = callee_id,
|
||||
.args_id = converted_args_id});
|
||||
const auto& generic_class = context.classes().Get(class_id);
|
||||
auto callee_specific_id = ResolveCalleeInCall(
|
||||
context, loc_id, generic_class, "generic class", generic_class.generic_id,
|
||||
enclosing_specific_id, /*self_id=*/SemIR::InstId::Invalid, arg_ids);
|
||||
if (!callee_specific_id) {
|
||||
return SemIR::InstId::BuiltinError;
|
||||
}
|
||||
return context.AddInst<SemIR::ClassType>(
|
||||
loc_id, {.type_id = SemIR::TypeId::TypeType,
|
||||
.class_id = class_id,
|
||||
.specific_id = *callee_specific_id});
|
||||
}
|
||||
|
||||
// Performs a call where the callee is the name of a generic interface, such as
|
||||
// `AddWith(i32)`.
|
||||
// TODO: Refactor with PerformCallToGenericClass.
|
||||
static auto PerformCallToGenericInterface(Context& context, SemIR::LocId loc_id,
|
||||
SemIR::InstId callee_id,
|
||||
SemIR::InterfaceId interface_id,
|
||||
llvm::ArrayRef<SemIR::InstId> arg_ids)
|
||||
-> SemIR::InstId {
|
||||
CalleeParamsInfo interface_info(context.interfaces().Get(interface_id));
|
||||
|
||||
// TODO: Pass in information about the specific in which the generic interface
|
||||
// name was found.
|
||||
// TODO: Perform argument deduction.
|
||||
auto specific_id = SemIR::SpecificId::Invalid;
|
||||
|
||||
// Convert the arguments to match the parameters.
|
||||
auto converted_args_id = ConvertCallArgs(
|
||||
context, loc_id, /*self_id=*/SemIR::InstId::Invalid, arg_ids,
|
||||
/*return_storage_id=*/SemIR::InstId::Invalid, interface_info,
|
||||
specific_id);
|
||||
return context.AddInst<SemIR::Call>(loc_id,
|
||||
{.type_id = SemIR::TypeId::TypeType,
|
||||
.callee_id = callee_id,
|
||||
.args_id = converted_args_id});
|
||||
static auto PerformCallToGenericInterface(
|
||||
Context& context, SemIR::LocId loc_id, SemIR::InterfaceId interface_id,
|
||||
SemIR::SpecificId enclosing_specific_id,
|
||||
llvm::ArrayRef<SemIR::InstId> arg_ids) -> SemIR::InstId {
|
||||
const auto& interface = context.interfaces().Get(interface_id);
|
||||
auto callee_specific_id = ResolveCalleeInCall(
|
||||
context, loc_id, interface, "generic interface", interface.generic_id,
|
||||
enclosing_specific_id, /*self_id=*/SemIR::InstId::Invalid, arg_ids);
|
||||
if (!callee_specific_id) {
|
||||
return SemIR::InstId::BuiltinError;
|
||||
}
|
||||
return context.AddInst<SemIR::InterfaceType>(
|
||||
loc_id, {.type_id = SemIR::TypeId::TypeType,
|
||||
.interface_id = interface_id,
|
||||
.specific_id = *callee_specific_id});
|
||||
}
|
||||
|
||||
auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId callee_id,
|
||||
@@ -74,13 +116,14 @@ auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId callee_id,
|
||||
context.types().GetAsInst(context.insts().Get(callee_id).type_id());
|
||||
CARBON_KIND_SWITCH(type_inst) {
|
||||
case CARBON_KIND(SemIR::GenericClassType generic_class): {
|
||||
return PerformCallToGenericClass(context, loc_id, callee_id,
|
||||
generic_class.class_id, arg_ids);
|
||||
return PerformCallToGenericClass(
|
||||
context, loc_id, generic_class.class_id,
|
||||
generic_class.enclosing_specific_id, arg_ids);
|
||||
}
|
||||
case CARBON_KIND(SemIR::GenericInterfaceType generic_interface): {
|
||||
return PerformCallToGenericInterface(context, loc_id, callee_id,
|
||||
generic_interface.interface_id,
|
||||
arg_ids);
|
||||
return PerformCallToGenericInterface(
|
||||
context, loc_id, generic_interface.interface_id,
|
||||
generic_interface.enclosing_specific_id, arg_ids);
|
||||
}
|
||||
default: {
|
||||
if (!callee_function.is_error) {
|
||||
@@ -98,15 +141,11 @@ auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId callee_id,
|
||||
|
||||
// If the callee is a generic function, determine the generic argument values
|
||||
// for the call.
|
||||
auto specific_id = SemIR::SpecificId::Invalid;
|
||||
if (callable.generic_id.is_valid()) {
|
||||
specific_id = DeduceGenericCallArguments(
|
||||
context, loc_id, callable.generic_id, callee_function.specific_id,
|
||||
callable.implicit_param_refs_id, callable.param_refs_id,
|
||||
callee_function.self_id, arg_ids);
|
||||
if (!specific_id.is_valid()) {
|
||||
return SemIR::InstId::BuiltinError;
|
||||
}
|
||||
auto callee_specific_id = ResolveCalleeInCall(
|
||||
context, loc_id, callable, "function", callable.generic_id,
|
||||
callee_function.specific_id, callee_function.self_id, arg_ids);
|
||||
if (!callee_specific_id) {
|
||||
return SemIR::InstId::BuiltinError;
|
||||
}
|
||||
|
||||
// If there is a return slot, build storage for the result.
|
||||
@@ -118,7 +157,8 @@ auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId callee_id,
|
||||
"Return type declared here.");
|
||||
builder.Note(callable.return_storage_id, IncompleteReturnTypeHere);
|
||||
});
|
||||
return CheckFunctionReturnType(context, callee_id, callable, specific_id);
|
||||
return CheckFunctionReturnType(context, callee_id, callable,
|
||||
*callee_specific_id);
|
||||
}();
|
||||
switch (return_info.init_repr.kind) {
|
||||
case SemIR::InitRepr::InPlace:
|
||||
@@ -146,7 +186,7 @@ auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId callee_id,
|
||||
// Convert the arguments to match the parameters.
|
||||
auto converted_args_id = ConvertCallArgs(
|
||||
context, loc_id, callee_function.self_id, arg_ids, return_storage_id,
|
||||
CalleeParamsInfo(callable), specific_id);
|
||||
CalleeParamsInfo(callable), *callee_specific_id);
|
||||
auto call_inst_id =
|
||||
context.AddInst<SemIR::Call>(loc_id, {.type_id = return_info.type_id,
|
||||
.callee_id = callee_id,
|
||||
|
||||
@@ -1241,13 +1241,18 @@ auto Context::GetFunctionType(SemIR::FunctionId fn_id,
|
||||
return GetCompleteTypeImpl<SemIR::FunctionType>(*this, fn_id, specific_id);
|
||||
}
|
||||
|
||||
auto Context::GetGenericClassType(SemIR::ClassId class_id) -> SemIR::TypeId {
|
||||
return GetCompleteTypeImpl<SemIR::GenericClassType>(*this, class_id);
|
||||
auto Context::GetGenericClassType(SemIR::ClassId class_id,
|
||||
SemIR::SpecificId enclosing_specific_id)
|
||||
-> SemIR::TypeId {
|
||||
return GetCompleteTypeImpl<SemIR::GenericClassType>(*this, class_id,
|
||||
enclosing_specific_id);
|
||||
}
|
||||
|
||||
auto Context::GetGenericInterfaceType(SemIR::InterfaceId interface_id)
|
||||
auto Context::GetGenericInterfaceType(SemIR::InterfaceId interface_id,
|
||||
SemIR::SpecificId enclosing_specific_id)
|
||||
-> SemIR::TypeId {
|
||||
return GetCompleteTypeImpl<SemIR::GenericInterfaceType>(*this, interface_id);
|
||||
return GetCompleteTypeImpl<SemIR::GenericInterfaceType>(
|
||||
*this, interface_id, enclosing_specific_id);
|
||||
}
|
||||
|
||||
auto Context::GetPointerType(SemIR::TypeId pointee_type_id) -> SemIR::TypeId {
|
||||
|
||||
@@ -330,12 +330,15 @@ class Context {
|
||||
// Gets a generic class type, which is the type of a name of a generic class,
|
||||
// such as the type of `Vector` given `class Vector(T:! type)`. The returned
|
||||
// type will be complete.
|
||||
auto GetGenericClassType(SemIR::ClassId class_id) -> SemIR::TypeId;
|
||||
auto GetGenericClassType(SemIR::ClassId class_id,
|
||||
SemIR::SpecificId enclosing_specific_id)
|
||||
-> SemIR::TypeId;
|
||||
|
||||
// Gets a generic interface type, which is the type of a name of a generic
|
||||
// interface, such as the type of `AddWith` given
|
||||
// `interface AddWith(T:! type)`. The returned type will be complete.
|
||||
auto GetGenericInterfaceType(SemIR::InterfaceId interface_id)
|
||||
auto GetGenericInterfaceType(SemIR::InterfaceId interface_id,
|
||||
SemIR::SpecificId enclosing_specific_id)
|
||||
-> SemIR::TypeId;
|
||||
|
||||
// Returns a pointer type whose pointee type is `pointee_type_id`.
|
||||
|
||||
+17
-18
@@ -1188,19 +1188,8 @@ auto ConvertCallArgs(Context& context, SemIR::LocId call_loc_id,
|
||||
context.inst_blocks().GetOrEmpty(callee.implicit_param_refs_id);
|
||||
auto param_refs = context.inst_blocks().GetOrEmpty(callee.param_refs_id);
|
||||
|
||||
// If sizes mismatch, fail early.
|
||||
if (arg_refs.size() != param_refs.size()) {
|
||||
CARBON_DIAGNOSTIC(CallArgCountMismatch, Error,
|
||||
"{0} argument(s) passed to function expecting "
|
||||
"{1} argument(s).",
|
||||
int, int);
|
||||
context.emitter()
|
||||
.Build(call_loc_id, CallArgCountMismatch, arg_refs.size(),
|
||||
param_refs.size())
|
||||
.Note(callee.callee_loc, InCallToFunction)
|
||||
.Emit();
|
||||
return SemIR::InstBlockId::Invalid;
|
||||
}
|
||||
// The caller should have ensured this callee has the right arity.
|
||||
CARBON_CHECK(arg_refs.size() == param_refs.size());
|
||||
|
||||
// Start building a block to hold the converted arguments.
|
||||
llvm::SmallVector<SemIR::InstId> args;
|
||||
@@ -1222,9 +1211,8 @@ auto ConvertCallArgs(Context& context, SemIR::LocId call_loc_id,
|
||||
}
|
||||
args.push_back(converted_self_id);
|
||||
} else {
|
||||
// TODO: Form argument values for implicit parameters.
|
||||
context.TODO(call_loc_id, "Call with implicit parameters");
|
||||
return SemIR::InstBlockId::Invalid;
|
||||
CARBON_CHECK(!param.runtime_index.is_valid(),
|
||||
"Unexpected implicit parameter passed at runtime");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1239,9 +1227,18 @@ auto ConvertCallArgs(Context& context, SemIR::LocId call_loc_id,
|
||||
});
|
||||
|
||||
// Check type conversions per-element.
|
||||
for (auto [i, arg_id, param_id] : llvm::enumerate(arg_refs, param_refs)) {
|
||||
for (auto [i, arg_id, param_ref_id] : llvm::enumerate(arg_refs, param_refs)) {
|
||||
diag_param_index = i;
|
||||
|
||||
// TODO: In general we need to perform pattern matching here to find the
|
||||
// argument corresponding to each parameter.
|
||||
auto [param_id, param] =
|
||||
SemIR::Function::GetParamFromParamRefId(context.sem_ir(), param_ref_id);
|
||||
if (!param.runtime_index.is_valid()) {
|
||||
// Not a runtime parameter: we don't pass an argument.
|
||||
continue;
|
||||
}
|
||||
|
||||
auto param_type_id =
|
||||
SemIR::GetTypeInSpecific(context.sem_ir(), callee_specific_id,
|
||||
context.insts().Get(param_id).type_id());
|
||||
@@ -1253,6 +1250,8 @@ auto ConvertCallArgs(Context& context, SemIR::LocId call_loc_id,
|
||||
return SemIR::InstBlockId::Invalid;
|
||||
}
|
||||
|
||||
CARBON_CHECK(static_cast<int32_t>(args.size()) == param.runtime_index.index,
|
||||
"Parameters not numbered in order.");
|
||||
args.push_back(converted_arg_id);
|
||||
}
|
||||
|
||||
@@ -1261,7 +1260,7 @@ auto ConvertCallArgs(Context& context, SemIR::LocId call_loc_id,
|
||||
args.push_back(return_storage_id);
|
||||
}
|
||||
|
||||
return context.inst_blocks().Add(args);
|
||||
return context.inst_blocks().AddOrEmpty(args);
|
||||
}
|
||||
|
||||
auto ExprAsType(Context& context, SemIR::LocId loc_id, SemIR::InstId value_id)
|
||||
|
||||
@@ -110,7 +110,7 @@ struct CalleeParamsInfo {
|
||||
|
||||
// Implicitly converts a set of arguments to match the parameter types in a
|
||||
// function call. Returns a block containing the converted implicit and explicit
|
||||
// argument values.
|
||||
// argument values for runtime parameters.
|
||||
auto ConvertCallArgs(Context& context, SemIR::LocId call_loc_id,
|
||||
SemIR::InstId self_id,
|
||||
llvm::ArrayRef<SemIR::InstId> arg_refs,
|
||||
|
||||
@@ -6,8 +6,10 @@
|
||||
|
||||
#include "toolchain/base/kind_switch.h"
|
||||
#include "toolchain/check/context.h"
|
||||
#include "toolchain/check/convert.h"
|
||||
#include "toolchain/check/generic.h"
|
||||
#include "toolchain/check/subst.h"
|
||||
#include "toolchain/sem_ir/ids.h"
|
||||
#include "toolchain/sem_ir/typed_insts.h"
|
||||
|
||||
namespace Carbon::Check {
|
||||
@@ -131,6 +133,25 @@ auto DeduceGenericCallArguments(
|
||||
context.types().GetInstId(param_type_id),
|
||||
context.types().GetInstId(context.insts().Get(arg_id).type_id()),
|
||||
needs_substitution);
|
||||
} else {
|
||||
// The argument needs to have the same type as the parameter.
|
||||
DiagnosticAnnotationScope annotate_diagnostics(
|
||||
&context.emitter(), [&](auto& builder) {
|
||||
if (auto param = context.insts().TryGetAs<SemIR::BindSymbolicName>(
|
||||
param_id)) {
|
||||
CARBON_DIAGNOSTIC(
|
||||
InitializingGenericParam, Note,
|
||||
"Initializing generic parameter `{0}` declared here.",
|
||||
SemIR::NameId);
|
||||
builder.Note(
|
||||
param_id, InitializingGenericParam,
|
||||
context.entity_names().Get(param->entity_name_id).name_id);
|
||||
}
|
||||
});
|
||||
arg_id = ConvertToValueOfType(context, loc_id, arg_id, param_type_id);
|
||||
if (arg_id == SemIR::InstId::BuiltinError) {
|
||||
return SemIR::SpecificId::Invalid;
|
||||
}
|
||||
}
|
||||
|
||||
// If the parameter is a symbolic constant, deduce against it.
|
||||
|
||||
@@ -1104,41 +1104,7 @@ static auto MakeConstantForCall(EvalContext& eval_context, SemIRLoc loc,
|
||||
eval_context.inst_blocks().Get(call.args_id), phase);
|
||||
}
|
||||
|
||||
// Look at the type of the callee for special cases: calls to generic class
|
||||
// and generic interface types.
|
||||
auto type_inst = eval_context.GetConstantValueAsInst(
|
||||
eval_context.insts().Get(call.callee_id).type_id());
|
||||
CARBON_KIND_SWITCH(type_inst) {
|
||||
case CARBON_KIND(SemIR::GenericClassType generic_class): {
|
||||
auto specific_id = MakeSpecificIfGeneric(
|
||||
eval_context.context(),
|
||||
eval_context.classes().Get(generic_class.class_id).generic_id,
|
||||
call.args_id);
|
||||
return MakeConstantResult(
|
||||
eval_context.context(),
|
||||
SemIR::ClassType{.type_id = call.type_id,
|
||||
.class_id = generic_class.class_id,
|
||||
.specific_id = specific_id},
|
||||
phase);
|
||||
}
|
||||
case CARBON_KIND(SemIR::GenericInterfaceType generic_interface): {
|
||||
auto specific_id =
|
||||
MakeSpecificIfGeneric(eval_context.context(),
|
||||
eval_context.interfaces()
|
||||
.Get(generic_interface.interface_id)
|
||||
.generic_id,
|
||||
call.args_id);
|
||||
return MakeConstantResult(
|
||||
eval_context.context(),
|
||||
SemIR::InterfaceType{.type_id = call.type_id,
|
||||
.interface_id = generic_interface.interface_id,
|
||||
.specific_id = specific_id},
|
||||
phase);
|
||||
}
|
||||
default: {
|
||||
return SemIR::ConstantId::NotConstant;
|
||||
}
|
||||
}
|
||||
return SemIR::ConstantId::NotConstant;
|
||||
}
|
||||
|
||||
auto TryEvalInstInContext(EvalContext& eval_context, SemIR::InstId inst_id,
|
||||
@@ -1206,6 +1172,13 @@ auto TryEvalInstInContext(EvalContext& eval_context, SemIR::InstId inst_id,
|
||||
case SemIR::FunctionType::Kind:
|
||||
return RebuildIfFieldsAreConstant(eval_context, inst,
|
||||
&SemIR::FunctionType::specific_id);
|
||||
case SemIR::GenericClassType::Kind:
|
||||
return RebuildIfFieldsAreConstant(
|
||||
eval_context, inst, &SemIR::GenericClassType::enclosing_specific_id);
|
||||
case SemIR::GenericInterfaceType::Kind:
|
||||
return RebuildIfFieldsAreConstant(
|
||||
eval_context, inst,
|
||||
&SemIR::GenericInterfaceType::enclosing_specific_id);
|
||||
case SemIR::InterfaceType::Kind:
|
||||
return RebuildIfFieldsAreConstant(eval_context, inst,
|
||||
&SemIR::InterfaceType::specific_id);
|
||||
@@ -1270,8 +1243,6 @@ auto TryEvalInstInContext(EvalContext& eval_context, SemIR::InstId inst_id,
|
||||
return RebuildInitAsValue(eval_context, inst, SemIR::TupleValue::Kind);
|
||||
|
||||
case SemIR::BuiltinInst::Kind:
|
||||
case SemIR::GenericClassType::Kind:
|
||||
case SemIR::GenericInterfaceType::Kind:
|
||||
// Builtins are always template constants.
|
||||
return MakeConstantResult(eval_context.context(), inst, Phase::Template);
|
||||
|
||||
|
||||
@@ -435,7 +435,9 @@ auto RequireGenericParams(Context& context, SemIR::InstBlockId block_id)
|
||||
// reflected in SemIR output.
|
||||
inst_id = context.AddInstInNoBlock<SemIR::Param>(
|
||||
context.insts().GetLocId(inst_id),
|
||||
{.type_id = SemIR::TypeId::Error, .name_id = SemIR::NameId::Base});
|
||||
{.type_id = SemIR::TypeId::Error,
|
||||
.name_id = SemIR::NameId::Base,
|
||||
.runtime_index = SemIR::RuntimeParamIndex::Invalid});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,7 +157,9 @@ static auto HandleAnyBindingPattern(Context& context, Parse::NodeId node_id,
|
||||
// TODO: A tuple pattern can appear in other places than function
|
||||
// parameters.
|
||||
auto param_id = context.AddInst<SemIR::Param>(
|
||||
name_node, {.type_id = cast_type_id, .name_id = name_id});
|
||||
name_node, {.type_id = cast_type_id,
|
||||
.name_id = name_id,
|
||||
.runtime_index = SemIR::RuntimeParamIndex::Invalid});
|
||||
auto bind_id = context.AddInst(make_bind_name(cast_type_id, param_id));
|
||||
push_bind_name(bind_id);
|
||||
// TODO: Bindings should come into scope immediately in other contexts
|
||||
|
||||
@@ -239,7 +239,8 @@ static auto BuildClassDecl(Context& context, Parse::AnyClassDeclId node_id,
|
||||
class_info.generic_id = FinishGenericDecl(context, class_decl_id);
|
||||
class_decl.class_id = context.classes().Add(class_info);
|
||||
if (class_info.has_parameters()) {
|
||||
class_decl.type_id = context.GetGenericClassType(class_decl.class_id);
|
||||
class_decl.type_id = context.GetGenericClassType(
|
||||
class_decl.class_id, context.scope_stack().PeekSpecificId());
|
||||
}
|
||||
} else {
|
||||
FinishGenericRedecl(context, class_decl_id, class_info.generic_id);
|
||||
|
||||
@@ -65,6 +65,51 @@ static auto DiagnoseModifiers(Context& context, DeclIntroducerState& introducer,
|
||||
RequireDefaultFinalOnlyInInterfaces(context, introducer, parent_scope_inst);
|
||||
}
|
||||
|
||||
// Checks that the parameter lists specified in a function declaration are
|
||||
// valid for a function declaration, and numbers the parameters.
|
||||
static auto CheckFunctionSignature(Context& context,
|
||||
const NameComponent& name_and_params)
|
||||
-> void {
|
||||
SemIR::RuntimeParamIndex next_index(0);
|
||||
for (auto param_id : llvm::concat<const SemIR::InstId>(
|
||||
context.inst_blocks().GetOrEmpty(name_and_params.implicit_params_id),
|
||||
context.inst_blocks().GetOrEmpty(name_and_params.params_id))) {
|
||||
auto param = context.insts().Get(param_id);
|
||||
|
||||
// Find the parameter in the pattern.
|
||||
// TODO: This duplicates work done by Function::GetParamFromParamRefId.
|
||||
if (auto addr_pattern = param.TryAs<SemIR::AddrPattern>()) {
|
||||
param_id = addr_pattern->inner_id;
|
||||
param = context.insts().Get(param_id);
|
||||
}
|
||||
|
||||
auto bind_name = param.TryAs<SemIR::AnyBindName>();
|
||||
if (bind_name) {
|
||||
param_id = bind_name->value_id;
|
||||
param = context.insts().Get(param_id);
|
||||
}
|
||||
|
||||
auto param_inst = param.TryAs<SemIR::Param>();
|
||||
if (!param_inst) {
|
||||
// Once we support more generalized patterns we will need to diagnose
|
||||
// parameters with unsupported patterns.
|
||||
context.TODO(param_id, "unexpected syntax for parameter");
|
||||
// TODO: Also repair the param ID so downstream code doesn't need to deal
|
||||
// with this.
|
||||
continue;
|
||||
}
|
||||
|
||||
// If this is a runtime parameter, number it.
|
||||
if (bind_name && bind_name->kind == SemIR::BindName::Kind) {
|
||||
param_inst->runtime_index = next_index;
|
||||
context.ReplaceInstBeforeConstantUse(param_id, *param_inst);
|
||||
++next_index.index;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Also assign a parameter index to the return storage, if present.
|
||||
}
|
||||
|
||||
// Tries to merge new_function into prev_function_id. Since new_function won't
|
||||
// have a definition even if one is upcoming, set is_definition to indicate the
|
||||
// planned result.
|
||||
@@ -182,6 +227,10 @@ static auto BuildFunctionDecl(Context& context,
|
||||
context.TODO(node_id, "function with positional parameters");
|
||||
name.params_id = SemIR::InstBlockId::Empty;
|
||||
}
|
||||
|
||||
// Check that the function signature is valid and number the parameters.
|
||||
CheckFunctionSignature(context, name);
|
||||
|
||||
auto name_context = context.decl_name_stack().FinishName(name);
|
||||
context.node_stack()
|
||||
.PopAndDiscardSoloNodeId<Parse::NodeKind::FunctionIntroducer>();
|
||||
@@ -315,26 +364,20 @@ static auto HandleFunctionDefinitionAfterSignature(
|
||||
SemIR::SpecificId::Invalid);
|
||||
|
||||
// Check the parameter types are complete.
|
||||
for (auto param_id : llvm::concat<const SemIR::InstId>(
|
||||
for (auto param_ref_id : llvm::concat<const SemIR::InstId>(
|
||||
context.inst_blocks().GetOrEmpty(function.implicit_param_refs_id),
|
||||
context.inst_blocks().GetOrEmpty(function.param_refs_id))) {
|
||||
auto param = context.insts().Get(param_id);
|
||||
|
||||
// Find the parameter in the pattern.
|
||||
// TODO: More general pattern handling?
|
||||
if (auto addr_pattern = param.TryAs<SemIR::AddrPattern>()) {
|
||||
param_id = addr_pattern->inner_id;
|
||||
param = context.insts().Get(param_id);
|
||||
}
|
||||
auto [param_id, param] =
|
||||
SemIR::Function::GetParamFromParamRefId(context.sem_ir(), param_ref_id);
|
||||
|
||||
// The parameter types need to be complete.
|
||||
context.TryToCompleteType(param.type_id(), [&] {
|
||||
context.TryToCompleteType(param.type_id, [&] {
|
||||
CARBON_DIAGNOSTIC(
|
||||
IncompleteTypeInFunctionParam, Error,
|
||||
"Parameter has incomplete type `{0}` in function definition.",
|
||||
SemIR::TypeId);
|
||||
return context.emitter().Build(param_id, IncompleteTypeInFunctionParam,
|
||||
param.type_id());
|
||||
param.type_id);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -109,8 +109,8 @@ static auto BuildInterfaceDecl(Context& context,
|
||||
interface_info.generic_id = FinishGenericDecl(context, interface_decl_id);
|
||||
interface_decl.interface_id = context.interfaces().Add(interface_info);
|
||||
if (interface_info.has_parameters()) {
|
||||
interface_decl.type_id =
|
||||
context.GetGenericInterfaceType(interface_decl.interface_id);
|
||||
interface_decl.type_id = context.GetGenericInterfaceType(
|
||||
interface_decl.interface_id, context.scope_stack().PeekSpecificId());
|
||||
}
|
||||
} else {
|
||||
FinishGenericRedecl(
|
||||
|
||||
@@ -706,7 +706,10 @@ class ImportRefResolver {
|
||||
context_.GetTypeIdForTypeConstant(param_data.type_const_id);
|
||||
|
||||
auto new_param_id = context_.AddInstInNoBlock<SemIR::Param>(
|
||||
AddImportIRInst(param_id), {.type_id = type_id, .name_id = name_id});
|
||||
AddImportIRInst(param_id),
|
||||
{.type_id = type_id,
|
||||
.name_id = name_id,
|
||||
.runtime_index = param_inst.runtime_index});
|
||||
if (bind_inst) {
|
||||
switch (bind_inst->kind) {
|
||||
case SemIR::BindName::Kind: {
|
||||
@@ -1195,7 +1198,8 @@ class ImportRefResolver {
|
||||
// Makes an incomplete class. This is necessary even with classes with a
|
||||
// complete declaration, because things such as `Self` may refer back to the
|
||||
// type.
|
||||
auto MakeIncompleteClass(const SemIR::Class& import_class)
|
||||
auto MakeIncompleteClass(const SemIR::Class& import_class,
|
||||
SemIR::SpecificId enclosing_specific_id)
|
||||
-> std::pair<SemIR::ClassId, SemIR::ConstantId> {
|
||||
SemIR::ClassDecl class_decl = {.type_id = SemIR::TypeId::TypeType,
|
||||
.class_id = SemIR::ClassId::Invalid,
|
||||
@@ -1211,7 +1215,8 @@ class ImportRefResolver {
|
||||
.inheritance_kind = import_class.inheritance_kind}});
|
||||
|
||||
if (import_class.has_parameters()) {
|
||||
class_decl.type_id = context_.GetGenericClassType(class_decl.class_id);
|
||||
class_decl.type_id = context_.GetGenericClassType(class_decl.class_id,
|
||||
enclosing_specific_id);
|
||||
}
|
||||
|
||||
// Write the class ID into the ClassDecl.
|
||||
@@ -1266,14 +1271,25 @@ class ImportRefResolver {
|
||||
|
||||
SemIR::ClassId class_id = SemIR::ClassId::Invalid;
|
||||
if (!class_const_id.is_valid()) {
|
||||
auto import_specific_id = SemIR::SpecificId::Invalid;
|
||||
if (auto import_generic_class_type =
|
||||
import_ir_.types().TryGetAs<SemIR::GenericClassType>(
|
||||
inst.type_id)) {
|
||||
import_specific_id = import_generic_class_type->enclosing_specific_id;
|
||||
}
|
||||
auto specific_data = GetLocalSpecificData(import_specific_id);
|
||||
if (HasNewWork()) {
|
||||
// This is the end of the first phase. Don't make a new class yet if we
|
||||
// already have new work.
|
||||
// This is the end of the first phase. Don't make a new class yet if
|
||||
// we already have new work.
|
||||
return Retry();
|
||||
}
|
||||
|
||||
// On the second phase, create a forward declaration of the class for any
|
||||
// recursive references.
|
||||
std::tie(class_id, class_const_id) = MakeIncompleteClass(import_class);
|
||||
auto enclosing_specific_id =
|
||||
GetOrAddLocalSpecific(import_specific_id, specific_data);
|
||||
std::tie(class_id, class_const_id) =
|
||||
MakeIncompleteClass(import_class, enclosing_specific_id);
|
||||
} else {
|
||||
// On the third phase, compute the class ID from the constant
|
||||
// value of the declaration.
|
||||
@@ -1428,10 +1444,9 @@ class ImportRefResolver {
|
||||
return Retry();
|
||||
}
|
||||
|
||||
// On the second phase, create a forward declaration of the interface.
|
||||
auto specific_id =
|
||||
GetOrAddLocalSpecific(import_specific_id, specific_data);
|
||||
|
||||
// On the second phase, create a forward declaration of the interface.
|
||||
std::tie(function_id, function_const_id) =
|
||||
MakeFunctionDecl(import_function, specific_id);
|
||||
} else {
|
||||
@@ -1555,7 +1570,8 @@ class ImportRefResolver {
|
||||
|
||||
// Make a declaration of an interface. This is done as a separate step from
|
||||
// importing the interface definition in order to resolve cycles.
|
||||
auto MakeInterfaceDecl(const SemIR::Interface& import_interface)
|
||||
auto MakeInterfaceDecl(const SemIR::Interface& import_interface,
|
||||
SemIR::SpecificId enclosing_specific_id)
|
||||
-> std::pair<SemIR::InterfaceId, SemIR::ConstantId> {
|
||||
SemIR::InterfaceDecl interface_decl = {
|
||||
.type_id = SemIR::TypeId::TypeType,
|
||||
@@ -1572,8 +1588,8 @@ class ImportRefResolver {
|
||||
{}});
|
||||
|
||||
if (import_interface.has_parameters()) {
|
||||
interface_decl.type_id =
|
||||
context_.GetGenericInterfaceType(interface_decl.interface_id);
|
||||
interface_decl.type_id = context_.GetGenericInterfaceType(
|
||||
interface_decl.interface_id, enclosing_specific_id);
|
||||
}
|
||||
|
||||
// Write the interface ID into the InterfaceDecl.
|
||||
@@ -1614,14 +1630,25 @@ class ImportRefResolver {
|
||||
|
||||
SemIR::InterfaceId interface_id = SemIR::InterfaceId::Invalid;
|
||||
if (!interface_const_id.is_valid()) {
|
||||
auto import_specific_id = SemIR::SpecificId::Invalid;
|
||||
if (auto import_generic_interface_type =
|
||||
import_ir_.types().TryGetAs<SemIR::GenericInterfaceType>(
|
||||
inst.type_id)) {
|
||||
import_specific_id =
|
||||
import_generic_interface_type->enclosing_specific_id;
|
||||
}
|
||||
auto specific_data = GetLocalSpecificData(import_specific_id);
|
||||
if (HasNewWork()) {
|
||||
// This is the end of the first phase. Don't make a new interface yet if
|
||||
// we already have new work.
|
||||
return Retry();
|
||||
}
|
||||
|
||||
// On the second phase, create a forward declaration of the interface.
|
||||
auto enclosing_specific_id =
|
||||
GetOrAddLocalSpecific(import_specific_id, specific_data);
|
||||
std::tie(interface_id, interface_const_id) =
|
||||
MakeInterfaceDecl(import_interface);
|
||||
MakeInterfaceDecl(import_interface, enclosing_specific_id);
|
||||
} else {
|
||||
// On the third phase, compute the interface ID from the constant value of
|
||||
// the declaration.
|
||||
|
||||
@@ -28,7 +28,7 @@ alias A(T:! type) = T*;
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %T.loc18_9.1: type = param T
|
||||
// CHECK:STDOUT: %T.loc18_9.1: type = param T, runtime_param<invalid>
|
||||
// CHECK:STDOUT: %T.loc18_9.2: type = bind_symbolic_name T 0, %T.loc18_9.1 [symbolic = constants.%T]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc18_9.2 [symbolic = constants.%T]
|
||||
// CHECK:STDOUT: %.loc18: type = ptr_type %T [symbolic = constants.%.1]
|
||||
|
||||
@@ -58,12 +58,12 @@ let b: [i32; 3]* = &a;
|
||||
// CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32.loc11_11, %.loc11_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc11_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc11_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Add.%a: i32 = bind_name a, %a.loc11_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc11_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32.loc11_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32.loc11_19, %.loc11_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc11_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc11_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Add.%b: i32 = bind_name b, %b.loc11_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc11_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_27.1: type = value_of_initializer %int.make_type_32.loc11_27 [template = i32]
|
||||
|
||||
@@ -53,7 +53,7 @@ var a: [i32; Negate(1)];
|
||||
// CHECK:STDOUT: %int.make_type_32.loc11_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32.loc11_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32.loc11_14, %.loc11_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %n.loc11_11.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc11_11.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%n: i32 = bind_name n, %n.loc11_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc11_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_22.1: type = value_of_initializer %int.make_type_32.loc11_22 [template = i32]
|
||||
|
||||
@@ -90,7 +90,7 @@ var b: [1; 39999999999999999993];
|
||||
// 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.2: init type = call constants.%ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc30_9.2: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc30_9.3: %.7 = specific_constant imports.%import_ref.4, @ImplicitAs(type) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %Convert.ref: %.7 = name_ref Convert, %.loc30_9.3 [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc30_9.4: type = converted %.loc30_9.1, <error> [template = <error>]
|
||||
|
||||
+1
-1
@@ -67,7 +67,7 @@ var a: [1; 1];
|
||||
// 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.2: init type = call constants.%ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc17_9.2: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc17_9.3: %.7 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %Convert.ref: %.7 = name_ref Convert, %.loc17_9.3 [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc17_9.4: type = converted %.loc17_9.1, <error> [template = <error>]
|
||||
|
||||
@@ -197,7 +197,7 @@ var d: [i32; 3] = t2;
|
||||
// CHECK:STDOUT: %.loc18_39.2: i32 = int_literal 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: %.loc18_39.5: init type = call constants.%ImplicitAs(i32) [template = constants.%.14]
|
||||
// CHECK:STDOUT: %.loc18_39.5: type = interface_type @ImplicitAs, @ImplicitAs(i32) [template = constants.%.14]
|
||||
// CHECK:STDOUT: %.loc18_39.6: %.15 = specific_constant imports.%import_ref.4, @ImplicitAs(i32) [template = constants.%.16]
|
||||
// CHECK:STDOUT: %Convert.ref.loc18: %.15 = name_ref Convert, %.loc18_39.6 [template = constants.%.16]
|
||||
// CHECK:STDOUT: %.loc18_39.7: i32 = converted %.loc18_23, <error> [template = <error>]
|
||||
@@ -209,7 +209,7 @@ var d: [i32; 3] = t2;
|
||||
// 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
|
||||
// CHECK:STDOUT: %.loc28_19.7: init type = call constants.%ImplicitAs(i32) [template = constants.%.14]
|
||||
// CHECK:STDOUT: %.loc28_19.7: type = interface_type @ImplicitAs, @ImplicitAs(i32) [template = constants.%.14]
|
||||
// CHECK:STDOUT: %.loc28_19.8: %.15 = specific_constant imports.%import_ref.4, @ImplicitAs(i32) [template = constants.%.16]
|
||||
// CHECK:STDOUT: %Convert.ref.loc28: %.15 = name_ref Convert, %.loc28_19.8 [template = constants.%.16]
|
||||
// CHECK:STDOUT: %.loc28_19.9: i32 = converted %.loc28_19.6, <error> [template = <error>]
|
||||
|
||||
+2
-2
@@ -64,12 +64,12 @@ fn G() -> i32 {
|
||||
// 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]
|
||||
// CHECK:STDOUT: %arr.loc11_6.1: %.3 = param arr
|
||||
// CHECK:STDOUT: %arr.loc11_6.1: %.3 = param arr, runtime_param0
|
||||
// CHECK:STDOUT: @F.%arr: %.3 = bind_name arr, %arr.loc11_6.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc11_24: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_24.1: type = value_of_initializer %int.make_type_32.loc11_24 [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_24.2: type = converted %int.make_type_32.loc11_24, %.loc11_24.1 [template = i32]
|
||||
// CHECK:STDOUT: %i.loc11_21.1: i32 = param i
|
||||
// CHECK:STDOUT: %i.loc11_21.1: i32 = param i, runtime_param1
|
||||
// CHECK:STDOUT: @F.%i: i32 = bind_name i, %i.loc11_21.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc11_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_32.1: type = value_of_initializer %int.make_type_32.loc11_32 [template = i32]
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ fn G(T:! type) {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {
|
||||
// CHECK:STDOUT: %T.loc11_6.1: type = param T
|
||||
// CHECK:STDOUT: %T.loc11_6.1: type = param T, runtime_param<invalid>
|
||||
// CHECK:STDOUT: @G.%T.loc11: type = bind_symbolic_name T 0, %T.loc11_6.1 [symbolic = @G.%T.1 (constants.%T)]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -639,7 +639,7 @@ var b: B = {.x = 1} as B;
|
||||
// CHECK:STDOUT: %.loc21_18: i32 = int_literal 1 [template = constants.%.5]
|
||||
// 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: %.loc21_21.1: init type = call constants.%As(constants.%B) [template = constants.%.9]
|
||||
// CHECK:STDOUT: %.loc21_21.1: type = interface_type @As, @As(constants.%B) [template = constants.%.9]
|
||||
// CHECK:STDOUT: %.loc21_21.2: %.10 = specific_constant imports.%import_ref.4, @As(constants.%B) [template = constants.%.11]
|
||||
// CHECK:STDOUT: %Convert.ref: %.10 = name_ref Convert, %.loc21_21.2 [template = constants.%.11]
|
||||
// CHECK:STDOUT: %struct: %.3 = struct_value (%.loc21_18) [template = constants.%struct]
|
||||
|
||||
+1
-1
@@ -122,7 +122,7 @@ let n: (i32, i32) = 1 as (i32, i32);
|
||||
// CHECK:STDOUT: %.loc17_35.4: type = value_of_initializer %int.make_type_32.loc17_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc17_35.5: type = converted %int.make_type_32.loc17_32, %.loc17_35.4 [template = i32]
|
||||
// CHECK:STDOUT: %.loc17_35.6: type = converted %.loc17_35.1, constants.%.3 [template = constants.%.3]
|
||||
// CHECK:STDOUT: %.loc17_23.1: init type = call constants.%As(constants.%.3) [template = constants.%.9]
|
||||
// CHECK:STDOUT: %.loc17_23.1: type = interface_type @As, @As(constants.%.3) [template = constants.%.9]
|
||||
// CHECK:STDOUT: %.loc17_23.2: %.10 = specific_constant imports.%import_ref.4, @As(constants.%.3) [template = constants.%.11]
|
||||
// CHECK:STDOUT: %Convert.ref: %.10 = name_ref Convert, %.loc17_23.2 [template = constants.%.11]
|
||||
// CHECK:STDOUT: %.loc17_23.3: %.3 = converted %.loc17_21, <error> [template = <error>]
|
||||
|
||||
+1
-1
@@ -108,7 +108,7 @@ let n: i32 = 1 as 2;
|
||||
// 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_19.2: init type = call constants.%ImplicitAs(type) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc17_19.2: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc17_19.3: %.8 = specific_constant imports.%import_ref.4, @ImplicitAs(type) [template = constants.%.9]
|
||||
// CHECK:STDOUT: %Convert.ref: %.8 = name_ref Convert, %.loc17_19.3 [template = constants.%.9]
|
||||
// CHECK:STDOUT: %.loc17_19.4: type = converted %.loc17_19.1, <error> [template = <error>]
|
||||
|
||||
+2
-2
@@ -72,13 +72,13 @@ fn Initializing() {
|
||||
// CHECK:STDOUT: %X.decl: type = class_decl @X [template = constants.%X] {}
|
||||
// CHECK:STDOUT: %Value.decl: %Value.type = fn_decl @Value [template = constants.%Value] {
|
||||
// CHECK:STDOUT: %X.ref.loc17: type = name_ref X, %X.decl [template = constants.%X]
|
||||
// CHECK:STDOUT: %n.loc17_10.1: %X = param n
|
||||
// CHECK:STDOUT: %n.loc17_10.1: %X = param n, runtime_param0
|
||||
// CHECK:STDOUT: @Value.%n: %X = bind_name n, %n.loc17_10.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Reference.decl: %Reference.type = fn_decl @Reference [template = constants.%Reference] {
|
||||
// CHECK:STDOUT: %X.ref.loc21: type = name_ref X, %X.decl [template = constants.%X]
|
||||
// CHECK:STDOUT: %.loc21: type = ptr_type %X [template = constants.%.4]
|
||||
// CHECK:STDOUT: %p.loc21_14.1: %.4 = param p
|
||||
// CHECK:STDOUT: %p.loc21_14.1: %.4 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @Reference.%p: %.4 = bind_name p, %p.loc21_14.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] {
|
||||
|
||||
+6
-10
@@ -93,8 +93,6 @@ let n: i32 = ((4 as i32) as X) as i32;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %X.decl: type = class_decl @X [template = constants.%X] {}
|
||||
// CHECK:STDOUT: %.loc15_22.1: type = value_of_initializer %.loc15_20 [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc15_22.2: type = converted %.loc15_20, %.loc15_22.1 [template = constants.%.7]
|
||||
// CHECK:STDOUT: impl_decl @impl.1 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc15_6.1: type = value_of_initializer %int.make_type_32.loc15 [template = i32]
|
||||
@@ -102,10 +100,8 @@ let n: i32 = ((4 as i32) as X) as i32;
|
||||
// CHECK:STDOUT: %Core.ref.loc15: <namespace> = name_ref Core, imports.%Core [template = imports.%Core]
|
||||
// CHECK:STDOUT: %As.ref.loc15: %As.type = name_ref As, imports.%import_ref.2 [template = constants.%As]
|
||||
// CHECK:STDOUT: %X.ref.loc15: type = name_ref X, %X.decl [template = constants.%X]
|
||||
// CHECK:STDOUT: %.loc15_20: init type = call %As.ref.loc15(%X.ref.loc15) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc15_20: type = interface_type @As, @As(constants.%X) [template = constants.%.7]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %.loc19_22.1: type = value_of_initializer %.loc19_18.3 [template = constants.%.12]
|
||||
// CHECK:STDOUT: %.loc19_22.2: type = converted %.loc19_18.3, %.loc19_22.1 [template = constants.%.12]
|
||||
// CHECK:STDOUT: impl_decl @impl.2 {
|
||||
// CHECK:STDOUT: %X.ref.loc19: type = name_ref X, %X.decl [template = constants.%X]
|
||||
// CHECK:STDOUT: %Core.ref.loc19: <namespace> = name_ref Core, imports.%Core [template = imports.%Core]
|
||||
@@ -113,7 +109,7 @@ let n: i32 = ((4 as i32) as X) as i32;
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_18.1: type = value_of_initializer %int.make_type_32.loc19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_18.2: type = converted %int.make_type_32.loc19, %.loc19_18.1 [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_18.3: init type = call %As.ref.loc19(%.loc19_18.2) [template = constants.%.12]
|
||||
// CHECK:STDOUT: %.loc19_18.3: type = interface_type @As, @As(i32) [template = constants.%.12]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %int.make_type_32.loc23: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc23_8.1: type = value_of_initializer %int.make_type_32.loc23 [template = i32]
|
||||
@@ -144,7 +140,7 @@ let n: i32 = ((4 as i32) as X) as i32;
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_20.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_20.2: type = converted %int.make_type_32, %.loc16_20.1 [template = i32]
|
||||
// CHECK:STDOUT: %self.loc16_14.1: i32 = param self
|
||||
// CHECK:STDOUT: %self.loc16_14.1: i32 = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc16_14.2: i32 = bind_name self, %self.loc16_14.1
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X]
|
||||
// CHECK:STDOUT: %return.var: ref %X = var <return slot>
|
||||
@@ -159,7 +155,7 @@ let n: i32 = ((4 as i32) as X) as i32;
|
||||
// CHECK:STDOUT: impl @impl.2: %X as %.12 {
|
||||
// CHECK:STDOUT: %Convert.decl: %Convert.type.4 = fn_decl @Convert.3 [template = constants.%Convert.4] {
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X]
|
||||
// CHECK:STDOUT: %self.loc20_14.1: %X = param self
|
||||
// CHECK:STDOUT: %self.loc20_14.1: %X = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc20_14.2: %X = bind_name self, %self.loc20_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc20_28.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
@@ -221,7 +217,7 @@ let n: i32 = ((4 as i32) as X) as 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]
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X]
|
||||
// CHECK:STDOUT: %.loc23_26.1: init type = call constants.%As(constants.%X) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc23_26.1: type = interface_type @As, @As(constants.%X) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc23_26.2: %.8 = specific_constant imports.%import_ref.4, @As(constants.%X) [template = constants.%.9]
|
||||
// CHECK:STDOUT: %Convert.ref.loc23_26: %.8 = name_ref Convert, %.loc23_26.2 [template = constants.%.9]
|
||||
// CHECK:STDOUT: %.loc23_26.3: %Convert.type.3 = interface_witness_access @impl.1.%.loc15, element0 [template = constants.%Convert.2]
|
||||
@@ -232,7 +228,7 @@ let n: i32 = ((4 as i32) as X) as i32;
|
||||
// CHECK:STDOUT: %int.make_type_32.loc23_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc23_35.1: type = value_of_initializer %int.make_type_32.loc23_35 [template = i32]
|
||||
// CHECK:STDOUT: %.loc23_35.2: type = converted %int.make_type_32.loc23_35, %.loc23_35.1 [template = i32]
|
||||
// CHECK:STDOUT: %.loc23_32.1: init type = call constants.%As(i32) [template = constants.%.12]
|
||||
// CHECK:STDOUT: %.loc23_32.1: type = interface_type @As, @As(i32) [template = constants.%.12]
|
||||
// CHECK:STDOUT: %.loc23_32.2: %.13 = specific_constant imports.%import_ref.4, @As(i32) [template = constants.%.14]
|
||||
// CHECK:STDOUT: %Convert.ref.loc23_32: %.13 = name_ref Convert, %.loc23_32.2 [template = constants.%.14]
|
||||
// CHECK:STDOUT: %.loc23_26.7: ref %X = temporary %.loc23_26.5, %.loc23_26.6
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ fn Run(n: i32) {}
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// 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: %n.loc14_8.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc14_8.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @Run.%n: i32 = bind_name n, %n.loc14_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -99,7 +99,7 @@ var x: type = 42;
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %.loc17_15: i32 = int_literal 42 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %.loc17_17.1: init type = call constants.%ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc17_17.1: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc17_17.2: %.7 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %Convert.ref: %.7 = name_ref Convert, %.loc17_17.2 [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc17_17.3: type = converted %.loc17_15, <error> [template = <error>]
|
||||
|
||||
+2
-3
@@ -138,7 +138,7 @@ fn B() {
|
||||
// CHECK:STDOUT: 'inst+10': {kind: FunctionType, arg0: function1, arg1: specific<invalid>, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+11': {kind: StructValue, arg0: empty, type: type(inst+10)}
|
||||
// CHECK:STDOUT: 'inst+12': {kind: NameRef, arg0: name1, arg1: inst+8, type: type(inst+10)}
|
||||
// CHECK:STDOUT: 'inst+13': {kind: Call, arg0: inst+12, arg1: block5, type: type(inst+5)}
|
||||
// CHECK:STDOUT: 'inst+13': {kind: Call, arg0: inst+12, arg1: empty, type: type(inst+5)}
|
||||
// CHECK:STDOUT: 'inst+14': {kind: Return}
|
||||
// CHECK:STDOUT: constant_values:
|
||||
// CHECK:STDOUT: 'inst+0': templateConstant(inst+0)
|
||||
@@ -167,8 +167,7 @@ fn B() {
|
||||
// CHECK:STDOUT: 1: inst+12
|
||||
// CHECK:STDOUT: 2: inst+13
|
||||
// CHECK:STDOUT: 3: inst+14
|
||||
// CHECK:STDOUT: block5: {}
|
||||
// CHECK:STDOUT: block6:
|
||||
// CHECK:STDOUT: block5:
|
||||
// CHECK:STDOUT: 0: inst+0
|
||||
// CHECK:STDOUT: 1: inst+1
|
||||
// CHECK:STDOUT: 2: inst+3
|
||||
|
||||
@@ -117,7 +117,7 @@ fn B() {
|
||||
// CHECK:STDOUT: 'inst+10': {kind: FunctionType, arg0: function1, arg1: specific<invalid>, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+11': {kind: StructValue, arg0: empty, type: type(inst+10)}
|
||||
// CHECK:STDOUT: 'inst+12': {kind: NameRef, arg0: name1, arg1: inst+8, type: type(inst+10)}
|
||||
// CHECK:STDOUT: 'inst+13': {kind: Call, arg0: inst+12, arg1: block5, type: type(inst+5)}
|
||||
// CHECK:STDOUT: 'inst+13': {kind: Call, arg0: inst+12, arg1: empty, type: type(inst+5)}
|
||||
// CHECK:STDOUT: 'inst+14': {kind: Return}
|
||||
// CHECK:STDOUT: constant_values:
|
||||
// CHECK:STDOUT: 'inst+0': templateConstant(inst+0)
|
||||
@@ -146,8 +146,7 @@ fn B() {
|
||||
// CHECK:STDOUT: 1: inst+12
|
||||
// CHECK:STDOUT: 2: inst+13
|
||||
// CHECK:STDOUT: 3: inst+14
|
||||
// CHECK:STDOUT: block5: {}
|
||||
// CHECK:STDOUT: block6:
|
||||
// CHECK:STDOUT: block5:
|
||||
// CHECK:STDOUT: 0: inst+0
|
||||
// CHECK:STDOUT: 1: inst+1
|
||||
// CHECK:STDOUT: 2: inst+3
|
||||
|
||||
@@ -49,7 +49,7 @@ fn Foo(n: ()) -> ((), ()) {
|
||||
// CHECK:STDOUT: 'inst+1': {kind: TupleType, arg0: type_block0, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+2': {kind: TupleLiteral, arg0: empty, type: type(inst+1)}
|
||||
// CHECK:STDOUT: 'inst+3': {kind: Converted, arg0: inst+2, arg1: inst+1, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+4': {kind: Param, arg0: name1, type: type(inst+1)}
|
||||
// CHECK:STDOUT: 'inst+4': {kind: Param, arg0: name1, arg1: runtime_param0, type: type(inst+1)}
|
||||
// CHECK:STDOUT: 'inst+5': {kind: BindName, arg0: entity_name0, arg1: inst+4, type: type(inst+1)}
|
||||
// CHECK:STDOUT: 'inst+6': {kind: TupleLiteral, arg0: empty, type: type(inst+1)}
|
||||
// CHECK:STDOUT: 'inst+7': {kind: TupleLiteral, arg0: empty, type: type(inst+1)}
|
||||
@@ -168,7 +168,7 @@ fn Foo(n: ()) -> ((), ()) {
|
||||
// CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] {
|
||||
// CHECK:STDOUT: %.loc15_12.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc15_12.2: type = converted %.loc15_12.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %n.loc15_8.1: %.1 = param n
|
||||
// CHECK:STDOUT: %n.loc15_8.1: %.1 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @Foo.%n: %.1 = bind_name n, %n.loc15_8.1
|
||||
// CHECK:STDOUT: %.loc15_20: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc15_24: %.1 = tuple_literal ()
|
||||
|
||||
@@ -45,7 +45,7 @@ fn C(r#if: ()) -> () {
|
||||
// CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] {
|
||||
// CHECK:STDOUT: %.loc15_10.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc15_10.2: type = converted %.loc15_10.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %n.loc15_6.1: %.1 = param n
|
||||
// CHECK:STDOUT: %n.loc15_6.1: %.1 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @A.%n: %.1 = bind_name n, %n.loc15_6.1
|
||||
// CHECK:STDOUT: %.loc15_17.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc15_17.2: type = converted %.loc15_17.1, constants.%.1 [template = constants.%.1]
|
||||
@@ -54,7 +54,7 @@ fn C(r#if: ()) -> () {
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] {
|
||||
// CHECK:STDOUT: %.loc19_12.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc19_12.2: type = converted %.loc19_12.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %n.loc19_6.1: %.1 = param n
|
||||
// CHECK:STDOUT: %n.loc19_6.1: %.1 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @B.%n: %.1 = bind_name n, %n.loc19_6.1
|
||||
// CHECK:STDOUT: %.loc19_19.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc19_19.2: type = converted %.loc19_19.1, constants.%.1 [template = constants.%.1]
|
||||
@@ -63,7 +63,7 @@ fn C(r#if: ()) -> () {
|
||||
// CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] {
|
||||
// CHECK:STDOUT: %.loc23_13.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc23_13.2: type = converted %.loc23_13.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %if.loc23_6.1: %.1 = param r#if
|
||||
// CHECK:STDOUT: %if.loc23_6.1: %.1 = param r#if, runtime_param0
|
||||
// CHECK:STDOUT: @C.%if: %.1 = bind_name r#if, %if.loc23_6.1
|
||||
// CHECK:STDOUT: %.loc23_20.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc23_20.2: type = converted %.loc23_20.1, constants.%.1 [template = constants.%.1]
|
||||
|
||||
@@ -58,11 +58,11 @@ fn Foo[T:! type](n: T) -> (T, ()) {
|
||||
// CHECK:STDOUT: 1: type(inst+8)
|
||||
// CHECK:STDOUT: insts:
|
||||
// CHECK:STDOUT: 'inst+0': {kind: Namespace, arg0: name_scope0, arg1: inst<invalid>, type: type(instNamespaceType)}
|
||||
// CHECK:STDOUT: 'inst+1': {kind: Param, arg0: name1, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+1': {kind: Param, arg0: name1, arg1: runtime_param<invalid>, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+2': {kind: BindSymbolicName, arg0: entity_name0, arg1: inst+1, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+3': {kind: BindSymbolicName, arg0: entity_name0, arg1: inst<invalid>, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+4': {kind: NameRef, arg0: name1, arg1: inst+2, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+5': {kind: Param, arg0: name2, type: type(symbolicConstant2)}
|
||||
// CHECK:STDOUT: 'inst+5': {kind: Param, arg0: name2, arg1: runtime_param0, type: type(symbolicConstant2)}
|
||||
// CHECK:STDOUT: 'inst+6': {kind: BindName, arg0: entity_name1, arg1: inst+5, type: type(symbolicConstant2)}
|
||||
// CHECK:STDOUT: 'inst+7': {kind: NameRef, arg0: name1, arg1: inst+2, type: typeTypeType}
|
||||
// CHECK:STDOUT: 'inst+8': {kind: TupleType, arg0: type_block0, type: typeTypeType}
|
||||
|
||||
@@ -35,7 +35,7 @@ fn Foo(n: ()) -> ((), ()) {
|
||||
// CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] {
|
||||
// CHECK:STDOUT: %.loc15_12.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc15_12.2: type = converted %.loc15_12.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %n.loc15_8.1: %.1 = param n
|
||||
// CHECK:STDOUT: %n.loc15_8.1: %.1 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @Foo.%n: %.1 = bind_name n, %n.loc15_8.1
|
||||
// CHECK:STDOUT: %.loc15_20: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc15_24: %.1 = tuple_literal ()
|
||||
|
||||
+18
-18
@@ -94,13 +94,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_8.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Add.%a: f64 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %.loc2_19.1: i32 = int_literal 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: %b.loc2_16.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Add.%b: f64 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %.loc2_27.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64]
|
||||
@@ -113,13 +113,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc4_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc4_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc4_16.1
|
||||
// CHECK:STDOUT: %.loc4_27.1: i32 = int_literal 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: %b.loc4_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc4_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc4_24.1
|
||||
// CHECK:STDOUT: %.loc4_35.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
|
||||
@@ -219,7 +219,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc8_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc8_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooFew.%a: f64 = bind_name a, %a.loc8_11.1
|
||||
// CHECK:STDOUT: %.loc8_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64]
|
||||
@@ -232,19 +232,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc13_12.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: f64 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %.loc13_23.1: i32 = int_literal 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: %b.loc13_20.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: f64 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %.loc13_31.1: i32 = int_literal 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: %c.loc13_28.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc13_28.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @TooMany.%c: f64 = bind_name c, %c.loc13_28.1
|
||||
// CHECK:STDOUT: %.loc13_39.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64]
|
||||
@@ -257,13 +257,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc17_18.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc17_18.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: f64 = bind_name a, %a.loc17_18.1
|
||||
// CHECK:STDOUT: %.loc17_29.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc17_26.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc17_26.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @BadReturnType.%b: f64 = bind_name b, %b.loc17_26.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc17: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc17_37.1: type = value_of_initializer %bool.make_type.loc17 [template = bool]
|
||||
@@ -275,13 +275,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc18_14.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc18_14.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: f64 = bind_name a, %a.loc18_14.1
|
||||
// CHECK:STDOUT: %.loc18_25.1: i32 = int_literal 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: %b.loc18_22.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc18_22.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @JustRight.%b: f64 = bind_name b, %b.loc18_22.1
|
||||
// CHECK:STDOUT: %.loc18_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64]
|
||||
@@ -294,7 +294,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc20_22.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc20_22.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: f64 = bind_name a, %a.loc20_22.1
|
||||
// CHECK:STDOUT: %.loc20_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64]
|
||||
@@ -307,19 +307,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc24_23.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc24_23.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: f64 = bind_name a, %a.loc24_23.1
|
||||
// CHECK:STDOUT: %.loc24_34.1: i32 = int_literal 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: %b.loc24_31.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc24_31.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: f64 = bind_name b, %b.loc24_31.1
|
||||
// CHECK:STDOUT: %.loc24_42.1: i32 = int_literal 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: %c.loc24_39.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc24_39.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: f64 = bind_name c, %c.loc24_39.1
|
||||
// CHECK:STDOUT: %.loc24_50.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64]
|
||||
@@ -332,13 +332,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc28_29.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc28_29.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: f64 = bind_name a, %a.loc28_29.1
|
||||
// CHECK:STDOUT: %.loc28_40.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc28_37.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc28_37.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: f64 = bind_name b, %b.loc28_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc28: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc28_48.1: type = value_of_initializer %bool.make_type.loc28 [template = bool]
|
||||
|
||||
+18
-18
@@ -102,13 +102,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_8.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Div.%a: f64 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %.loc2_19.1: i32 = int_literal 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: %b.loc2_16.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Div.%b: f64 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %.loc2_27.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64]
|
||||
@@ -121,13 +121,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc4_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc4_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc4_16.1
|
||||
// CHECK:STDOUT: %.loc4_27.1: i32 = int_literal 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: %b.loc4_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc4_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc4_24.1
|
||||
// CHECK:STDOUT: %.loc4_35.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
|
||||
@@ -249,7 +249,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc8_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc8_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooFew.%a: f64 = bind_name a, %a.loc8_11.1
|
||||
// CHECK:STDOUT: %.loc8_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64]
|
||||
@@ -262,19 +262,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc13_12.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: f64 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %.loc13_23.1: i32 = int_literal 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: %b.loc13_20.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: f64 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %.loc13_31.1: i32 = int_literal 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: %c.loc13_28.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc13_28.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @TooMany.%c: f64 = bind_name c, %c.loc13_28.1
|
||||
// CHECK:STDOUT: %.loc13_39.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64]
|
||||
@@ -287,13 +287,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc17_18.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc17_18.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: f64 = bind_name a, %a.loc17_18.1
|
||||
// CHECK:STDOUT: %.loc17_29.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc17_26.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc17_26.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @BadReturnType.%b: f64 = bind_name b, %b.loc17_26.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc17: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc17_37.1: type = value_of_initializer %bool.make_type.loc17 [template = bool]
|
||||
@@ -305,13 +305,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc18_14.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc18_14.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: f64 = bind_name a, %a.loc18_14.1
|
||||
// CHECK:STDOUT: %.loc18_25.1: i32 = int_literal 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: %b.loc18_22.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc18_22.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @JustRight.%b: f64 = bind_name b, %b.loc18_22.1
|
||||
// CHECK:STDOUT: %.loc18_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64]
|
||||
@@ -324,7 +324,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc20_22.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc20_22.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: f64 = bind_name a, %a.loc20_22.1
|
||||
// CHECK:STDOUT: %.loc20_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64]
|
||||
@@ -337,19 +337,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc24_23.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc24_23.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: f64 = bind_name a, %a.loc24_23.1
|
||||
// CHECK:STDOUT: %.loc24_34.1: i32 = int_literal 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: %b.loc24_31.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc24_31.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: f64 = bind_name b, %b.loc24_31.1
|
||||
// CHECK:STDOUT: %.loc24_42.1: i32 = int_literal 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: %c.loc24_39.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc24_39.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: f64 = bind_name c, %c.loc24_39.1
|
||||
// CHECK:STDOUT: %.loc24_50.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64]
|
||||
@@ -362,13 +362,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc28_29.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc28_29.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: f64 = bind_name a, %a.loc28_29.1
|
||||
// CHECK:STDOUT: %.loc28_40.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc28_37.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc28_37.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: f64 = bind_name b, %b.loc28_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc28: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc28_48.1: type = value_of_initializer %bool.make_type.loc28 [template = bool]
|
||||
|
||||
+8
-8
@@ -90,13 +90,13 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
|
||||
// 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: %a.loc2_7.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_7.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Eq.%a: f64 = bind_name a, %a.loc2_7.1
|
||||
// CHECK:STDOUT: %.loc2_18.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc2_15.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_15.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Eq.%b: f64 = bind_name b, %b.loc2_15.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -107,10 +107,10 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc7_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc7_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc7_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc7_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc7_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc7_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
@@ -118,13 +118,13 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
|
||||
// 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: %a.loc12_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc12_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc12_16.1
|
||||
// CHECK:STDOUT: %.loc12_27.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc12_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc12_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc12_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc12: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc12_35.1: type = value_of_initializer %bool.make_type.loc12 [template = bool]
|
||||
@@ -240,13 +240,13 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
|
||||
// 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: %a.loc7_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @WrongResult.%a: f64 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %.loc7_27.1: i32 = int_literal 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: %b.loc7_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @WrongResult.%b: f64 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %.loc7_35.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc7_35: init type = call constants.%Float(%.loc7_35.1) [template = f64]
|
||||
|
||||
+7
-7
@@ -90,13 +90,13 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_12.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_12.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Greater.%a: f64 = bind_name a, %a.loc2_12.1
|
||||
// CHECK:STDOUT: %.loc2_23.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc2_20.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_20.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Greater.%b: f64 = bind_name b, %b.loc2_20.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_31.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -108,7 +108,7 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc3_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc3_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: f64 = bind_name a, %a.loc3_11.1
|
||||
// CHECK:STDOUT: %.loc3_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64]
|
||||
@@ -120,10 +120,10 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc8_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc8_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
@@ -131,13 +131,13 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc16_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc16_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc16_16.1
|
||||
// CHECK:STDOUT: %.loc16_27.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc16_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc16_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc16_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc16: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type.loc16 [template = bool]
|
||||
|
||||
@@ -90,13 +90,13 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_14.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_14.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @GreaterEq.%a: f64 = bind_name a, %a.loc2_14.1
|
||||
// CHECK:STDOUT: %.loc2_25.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc2_22.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_22.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @GreaterEq.%b: f64 = bind_name b, %b.loc2_22.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_33.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -108,7 +108,7 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc3_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc3_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: f64 = bind_name a, %a.loc3_11.1
|
||||
// CHECK:STDOUT: %.loc3_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64]
|
||||
@@ -120,10 +120,10 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc8_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc8_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
@@ -131,13 +131,13 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc16_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc16_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc16_16.1
|
||||
// CHECK:STDOUT: %.loc16_27.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc16_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc16_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc16_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc16: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type.loc16 [template = bool]
|
||||
|
||||
+7
-7
@@ -90,13 +90,13 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_9.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_9.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Less.%a: f64 = bind_name a, %a.loc2_9.1
|
||||
// CHECK:STDOUT: %.loc2_20.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc2_17.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_17.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Less.%b: f64 = bind_name b, %b.loc2_17.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_28.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -108,7 +108,7 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc3_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc3_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: f64 = bind_name a, %a.loc3_11.1
|
||||
// CHECK:STDOUT: %.loc3_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64]
|
||||
@@ -120,10 +120,10 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc8_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc8_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
@@ -131,13 +131,13 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc16_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc16_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc16_16.1
|
||||
// CHECK:STDOUT: %.loc16_27.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc16_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc16_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc16_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc16: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type.loc16 [template = bool]
|
||||
|
||||
+7
-7
@@ -90,13 +90,13 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @LessEq.%a: f64 = bind_name a, %a.loc2_11.1
|
||||
// CHECK:STDOUT: %.loc2_22.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc2_19.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_19.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @LessEq.%b: f64 = bind_name b, %b.loc2_19.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_30.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -108,7 +108,7 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc3_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc3_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: f64 = bind_name a, %a.loc3_11.1
|
||||
// CHECK:STDOUT: %.loc3_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64]
|
||||
@@ -120,10 +120,10 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc8_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc8_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
@@ -131,13 +131,13 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc16_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc16_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc16_16.1
|
||||
// CHECK:STDOUT: %.loc16_27.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc16_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc16_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc16_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc16: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type.loc16 [template = bool]
|
||||
|
||||
@@ -79,7 +79,7 @@ var dyn: Float(dyn_size);
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_16.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_16.2: type = converted %int.make_type_32, %.loc4_16.1 [template = i32]
|
||||
// CHECK:STDOUT: %size.loc4_10.1: i32 = param size
|
||||
// CHECK:STDOUT: %size.loc4_10.1: i32 = param size, runtime_param0
|
||||
// CHECK:STDOUT: @Float.%size: i32 = bind_name size, %size.loc4_10.1
|
||||
// CHECK:STDOUT: @Float.%return: ref type = var <return slot>
|
||||
// CHECK:STDOUT: }
|
||||
@@ -139,7 +139,7 @@ var dyn: Float(dyn_size);
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_23.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_23.2: type = converted %int.make_type_32, %.loc8_23.1 [template = i32]
|
||||
// CHECK:STDOUT: %dyn_size.loc8_13.1: i32 = param dyn_size
|
||||
// CHECK:STDOUT: %dyn_size.loc8_13.1: i32 = param dyn_size, runtime_param0
|
||||
// CHECK:STDOUT: @GetFloat.%dyn_size: i32 = bind_name dyn_size, %dyn_size.loc8_13.1
|
||||
// CHECK:STDOUT: @GetFloat.%return: ref type = var <return slot>
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+18
-18
@@ -94,13 +94,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_8.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mul.%a: f64 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %.loc2_19.1: i32 = int_literal 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: %b.loc2_16.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mul.%b: f64 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %.loc2_27.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64]
|
||||
@@ -113,13 +113,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc4_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc4_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc4_16.1
|
||||
// CHECK:STDOUT: %.loc4_27.1: i32 = int_literal 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: %b.loc4_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc4_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc4_24.1
|
||||
// CHECK:STDOUT: %.loc4_35.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
|
||||
@@ -219,7 +219,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc8_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc8_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooFew.%a: f64 = bind_name a, %a.loc8_11.1
|
||||
// CHECK:STDOUT: %.loc8_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64]
|
||||
@@ -232,19 +232,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc13_12.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: f64 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %.loc13_23.1: i32 = int_literal 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: %b.loc13_20.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: f64 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %.loc13_31.1: i32 = int_literal 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: %c.loc13_28.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc13_28.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @TooMany.%c: f64 = bind_name c, %c.loc13_28.1
|
||||
// CHECK:STDOUT: %.loc13_39.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64]
|
||||
@@ -257,13 +257,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc17_18.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc17_18.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: f64 = bind_name a, %a.loc17_18.1
|
||||
// CHECK:STDOUT: %.loc17_29.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc17_26.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc17_26.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @BadReturnType.%b: f64 = bind_name b, %b.loc17_26.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc17: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc17_37.1: type = value_of_initializer %bool.make_type.loc17 [template = bool]
|
||||
@@ -275,13 +275,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc18_14.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc18_14.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: f64 = bind_name a, %a.loc18_14.1
|
||||
// CHECK:STDOUT: %.loc18_25.1: i32 = int_literal 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: %b.loc18_22.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc18_22.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @JustRight.%b: f64 = bind_name b, %b.loc18_22.1
|
||||
// CHECK:STDOUT: %.loc18_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64]
|
||||
@@ -294,7 +294,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc20_22.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc20_22.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: f64 = bind_name a, %a.loc20_22.1
|
||||
// CHECK:STDOUT: %.loc20_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64]
|
||||
@@ -307,19 +307,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc24_23.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc24_23.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: f64 = bind_name a, %a.loc24_23.1
|
||||
// CHECK:STDOUT: %.loc24_34.1: i32 = int_literal 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: %b.loc24_31.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc24_31.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: f64 = bind_name b, %b.loc24_31.1
|
||||
// CHECK:STDOUT: %.loc24_42.1: i32 = int_literal 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: %c.loc24_39.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc24_39.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: f64 = bind_name c, %c.loc24_39.1
|
||||
// CHECK:STDOUT: %.loc24_50.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64]
|
||||
@@ -332,13 +332,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc28_29.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc28_29.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: f64 = bind_name a, %a.loc28_29.1
|
||||
// CHECK:STDOUT: %.loc28_40.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc28_37.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc28_37.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: f64 = bind_name b, %b.loc28_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc28: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc28_48.1: type = value_of_initializer %bool.make_type.loc28 [template = bool]
|
||||
|
||||
+16
-25
@@ -114,7 +114,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: f64 = bind_name a, %a.loc2_11.1
|
||||
// CHECK:STDOUT: %.loc2_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc2_22: init type = call constants.%Float(%.loc2_22.1) [template = f64]
|
||||
@@ -127,13 +127,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc4_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc4_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc4_16.1
|
||||
// CHECK:STDOUT: %.loc4_27.1: i32 = int_literal 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: %b.loc4_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc4_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc4_24.1
|
||||
// CHECK:STDOUT: %.loc4_35.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
|
||||
@@ -238,13 +238,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc13_12.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: f64 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %.loc13_23.1: i32 = int_literal 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: %b.loc13_20.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: f64 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %.loc13_31.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc13_31: init type = call constants.%Float(%.loc13_31.1) [template = f64]
|
||||
@@ -257,7 +257,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %float.make_type.loc18: init type = call constants.%Float(%.loc18_21.1) [template = f64]
|
||||
// CHECK:STDOUT: %.loc18_21.2: type = value_of_initializer %float.make_type.loc18 [template = f64]
|
||||
// CHECK:STDOUT: %.loc18_21.3: type = converted %float.make_type.loc18, %.loc18_21.2 [template = f64]
|
||||
// CHECK:STDOUT: %a.loc18_18.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc18_18.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: f64 = bind_name a, %a.loc18_18.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc18: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc18_29.1: type = value_of_initializer %bool.make_type.loc18 [template = bool]
|
||||
@@ -269,7 +269,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc19_14.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc19_14.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: f64 = bind_name a, %a.loc19_14.1
|
||||
// CHECK:STDOUT: %.loc19_25.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc19_25: init type = call constants.%Float(%.loc19_25.1) [template = f64]
|
||||
@@ -282,7 +282,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc21_22.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc21_22.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: f64 = bind_name a, %a.loc21_22.1
|
||||
// CHECK:STDOUT: %.loc21_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc21_33: init type = call constants.%Float(%.loc21_33.1) [template = f64]
|
||||
@@ -295,19 +295,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc32_23.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc32_23.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: f64 = bind_name a, %a.loc32_23.1
|
||||
// CHECK:STDOUT: %.loc32_34.1: i32 = int_literal 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: %b.loc32_31.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc32_31.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: f64 = bind_name b, %b.loc32_31.1
|
||||
// CHECK:STDOUT: %.loc32_42.1: i32 = int_literal 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: %c.loc32_39.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc32_39.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: f64 = bind_name c, %c.loc32_39.1
|
||||
// CHECK:STDOUT: %.loc32_50.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc32_50: init type = call constants.%Float(%.loc32_50.1) [template = f64]
|
||||
@@ -320,13 +320,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc43_29.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc43_29.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: f64 = bind_name a, %a.loc43_29.1
|
||||
// CHECK:STDOUT: %.loc43_40.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc43_37.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc43_37.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: f64 = bind_name b, %b.loc43_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc43: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc43_48.1: type = value_of_initializer %bool.make_type.loc43 [template = bool]
|
||||
@@ -351,10 +351,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, file.%TooFew.decl [template = constants.%TooFew]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
// CHECK:STDOUT: %TooFew.call: init f64 = call %TooFew.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc29_19.1: f64 = value_of_initializer %TooFew.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc29_19.2: f64 = converted %TooFew.call, %.loc29_19.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc29_19.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallTooMany(%a: f64, %b: f64, %c: f64) -> f64 {
|
||||
@@ -363,10 +360,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: f64 = name_ref b, %b
|
||||
// CHECK:STDOUT: %c.ref: f64 = name_ref c, %c
|
||||
// CHECK:STDOUT: %TooMany.call: init f64 = call %TooMany.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc40_26.1: f64 = value_of_initializer %TooMany.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc40_26.2: f64 = converted %TooMany.call, %.loc40_26.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc40_26.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallBadReturnType(%a: f64, %b: f64) -> bool {
|
||||
@@ -374,9 +368,6 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, file.%BadReturnType.decl [template = constants.%BadReturnType]
|
||||
// CHECK:STDOUT: %a.ref: f64 = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: f64 = name_ref b, %b
|
||||
// CHECK:STDOUT: %BadReturnType.call: init bool = call %BadReturnType.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc50_29.1: bool = value_of_initializer %BadReturnType.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc50_29.2: bool = converted %BadReturnType.call, %.loc50_29.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc50_29.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+8
-8
@@ -90,13 +90,13 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
|
||||
// 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: %a.loc2_8.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Neq.%a: f64 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %.loc2_19.1: i32 = int_literal 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: %b.loc2_16.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Neq.%b: f64 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -107,10 +107,10 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc7_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc7_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc7_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc7_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc7_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc7_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
@@ -118,13 +118,13 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
|
||||
// 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: %a.loc12_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc12_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc12_16.1
|
||||
// CHECK:STDOUT: %.loc12_27.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc12_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc12_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc12_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc12: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc12_35.1: type = value_of_initializer %bool.make_type.loc12 [template = bool]
|
||||
@@ -240,13 +240,13 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
|
||||
// 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: %a.loc7_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @WrongResult.%a: f64 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %.loc7_27.1: i32 = int_literal 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: %b.loc7_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @WrongResult.%b: f64 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %.loc7_35.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc7_35: init type = call constants.%Float(%.loc7_35.1) [template = f64]
|
||||
|
||||
+18
-18
@@ -94,13 +94,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc2_8.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: f64 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %.loc2_19.1: i32 = int_literal 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: %b.loc2_16.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: f64 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %.loc2_27.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64]
|
||||
@@ -113,13 +113,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc4_16.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc4_16.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: f64 = bind_name a, %a.loc4_16.1
|
||||
// CHECK:STDOUT: %.loc4_27.1: i32 = int_literal 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: %b.loc4_24.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc4_24.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: f64 = bind_name b, %b.loc4_24.1
|
||||
// CHECK:STDOUT: %.loc4_35.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64]
|
||||
@@ -219,7 +219,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc8_11.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc8_11.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooFew.%a: f64 = bind_name a, %a.loc8_11.1
|
||||
// CHECK:STDOUT: %.loc8_22.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64]
|
||||
@@ -232,19 +232,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc13_12.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: f64 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %.loc13_23.1: i32 = int_literal 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: %b.loc13_20.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: f64 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %.loc13_31.1: i32 = int_literal 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: %c.loc13_28.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc13_28.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @TooMany.%c: f64 = bind_name c, %c.loc13_28.1
|
||||
// CHECK:STDOUT: %.loc13_39.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64]
|
||||
@@ -257,13 +257,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc17_18.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc17_18.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: f64 = bind_name a, %a.loc17_18.1
|
||||
// CHECK:STDOUT: %.loc17_29.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc17_26.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc17_26.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @BadReturnType.%b: f64 = bind_name b, %b.loc17_26.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc17: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc17_37.1: type = value_of_initializer %bool.make_type.loc17 [template = bool]
|
||||
@@ -275,13 +275,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc18_14.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc18_14.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: f64 = bind_name a, %a.loc18_14.1
|
||||
// CHECK:STDOUT: %.loc18_25.1: i32 = int_literal 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: %b.loc18_22.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc18_22.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @JustRight.%b: f64 = bind_name b, %b.loc18_22.1
|
||||
// CHECK:STDOUT: %.loc18_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64]
|
||||
@@ -294,7 +294,7 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc20_22.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc20_22.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: f64 = bind_name a, %a.loc20_22.1
|
||||
// CHECK:STDOUT: %.loc20_33.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64]
|
||||
@@ -307,19 +307,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc24_23.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc24_23.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: f64 = bind_name a, %a.loc24_23.1
|
||||
// CHECK:STDOUT: %.loc24_34.1: i32 = int_literal 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: %b.loc24_31.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc24_31.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: f64 = bind_name b, %b.loc24_31.1
|
||||
// CHECK:STDOUT: %.loc24_42.1: i32 = int_literal 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: %c.loc24_39.1: f64 = param c
|
||||
// CHECK:STDOUT: %c.loc24_39.1: f64 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: f64 = bind_name c, %c.loc24_39.1
|
||||
// CHECK:STDOUT: %.loc24_50.1: i32 = int_literal 64 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64]
|
||||
@@ -332,13 +332,13 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
|
||||
// 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: %a.loc28_29.1: f64 = param a
|
||||
// CHECK:STDOUT: %a.loc28_29.1: f64 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: f64 = bind_name a, %a.loc28_29.1
|
||||
// CHECK:STDOUT: %.loc28_40.1: i32 = int_literal 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]
|
||||
// CHECK:STDOUT: %b.loc28_37.1: f64 = param b
|
||||
// CHECK:STDOUT: %b.loc28_37.1: f64 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: f64 = bind_name b, %b.loc28_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc28: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc28_48.1: type = value_of_initializer %bool.make_type.loc28 [template = bool]
|
||||
|
||||
+4
-4
@@ -64,12 +64,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @And.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @And.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -96,12 +96,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
|
||||
+4
-4
@@ -69,7 +69,7 @@ fn RuntimeCall(a: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_18: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_18.1: type = value_of_initializer %int.make_type_32.loc2_18 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_18.2: type = converted %int.make_type_32.loc2_18, %.loc2_18.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_15.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_15.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Complement.%a: i32 = bind_name a, %a.loc2_15.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %int.make_type_32.loc2_26 [template = i32]
|
||||
@@ -80,12 +80,12 @@ fn RuntimeCall(a: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_11.1: type = value_of_initializer %int.make_type_32.loc3_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_11.2: type = converted %int.make_type_32.loc3_11, %.loc3_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc3_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc3_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @And.%a: i32 = bind_name a, %a.loc3_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_19.1: type = value_of_initializer %int.make_type_32.loc3_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_19.2: type = converted %int.make_type_32.loc3_19, %.loc3_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc3_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc3_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @And.%b: i32 = bind_name b, %b.loc3_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_27.1: type = value_of_initializer %int.make_type_32.loc3_27 [template = i32]
|
||||
@@ -116,7 +116,7 @@ fn RuntimeCall(a: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc8_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_19.1: type = value_of_initializer %int.make_type_32.loc8_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_19.2: type = converted %int.make_type_32.loc8_19, %.loc8_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc8_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc8_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc8_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc8_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_27.1: type = value_of_initializer %int.make_type_32.loc8_27 [template = i32]
|
||||
|
||||
+8
-8
@@ -88,12 +88,12 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq";
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_10: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_10.1: type = value_of_initializer %int.make_type_32.loc2_10 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_10.2: type = converted %int.make_type_32.loc2_10, %.loc2_10.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_7.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_7.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Eq.%a: i32 = bind_name a, %a.loc2_7.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_18: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_18.1: type = value_of_initializer %int.make_type_32.loc2_18 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_18.2: type = converted %int.make_type_32.loc2_18, %.loc2_18.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_15.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_15.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Eq.%b: i32 = bind_name b, %b.loc2_15.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -104,22 +104,22 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq";
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc7_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc7_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc7_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc7_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc7_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc7_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc12_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_19.1: type = value_of_initializer %int.make_type_32.loc12_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_19.2: type = converted %int.make_type_32.loc12_19, %.loc12_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc12_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc12_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc12_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc12_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_27.1: type = value_of_initializer %int.make_type_32.loc12_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_27.2: type = converted %int.make_type_32.loc12_27, %.loc12_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc12_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc12_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc12_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc12: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc12_35.1: type = value_of_initializer %bool.make_type.loc12 [template = bool]
|
||||
@@ -233,12 +233,12 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq";
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @WrongResult.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @WrongResult.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
|
||||
+7
-7
@@ -88,12 +88,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_15.1: type = value_of_initializer %int.make_type_32.loc2_15 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_15.2: type = converted %int.make_type_32.loc2_15, %.loc2_15.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_12.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_12.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Greater.%a: i32 = bind_name a, %a.loc2_12.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_23: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_23.1: type = value_of_initializer %int.make_type_32.loc2_23 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_23.2: type = converted %int.make_type_32.loc2_23, %.loc2_23.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_20.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_20.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Greater.%b: i32 = bind_name b, %b.loc2_20.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_31.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -104,7 +104,7 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_14.1: type = value_of_initializer %int.make_type_32.loc3_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_14.2: type = converted %int.make_type_32.loc3_14, %.loc3_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc3_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc3_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc3_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_22.1: type = value_of_initializer %int.make_type_32.loc3_22 [template = i32]
|
||||
@@ -115,22 +115,22 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc8_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc8_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.2: type = converted %int.make_type_32.loc16_19, %.loc16_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc16_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc16_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc16_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_27.1: type = value_of_initializer %int.make_type_32.loc16_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_27.2: type = converted %int.make_type_32.loc16_27, %.loc16_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc16_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc16_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc16_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc16: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type.loc16 [template = bool]
|
||||
|
||||
+7
-7
@@ -88,12 +88,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_17: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_17.1: type = value_of_initializer %int.make_type_32.loc2_17 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_17.2: type = converted %int.make_type_32.loc2_17, %.loc2_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_14.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_14.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @GreaterEq.%a: i32 = bind_name a, %a.loc2_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_25.1: type = value_of_initializer %int.make_type_32.loc2_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_25.2: type = converted %int.make_type_32.loc2_25, %.loc2_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_22.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_22.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @GreaterEq.%b: i32 = bind_name b, %b.loc2_22.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_33.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -104,7 +104,7 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_14.1: type = value_of_initializer %int.make_type_32.loc3_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_14.2: type = converted %int.make_type_32.loc3_14, %.loc3_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc3_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc3_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc3_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_22.1: type = value_of_initializer %int.make_type_32.loc3_22 [template = i32]
|
||||
@@ -115,22 +115,22 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc8_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc8_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.2: type = converted %int.make_type_32.loc16_19, %.loc16_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc16_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc16_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc16_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_27.1: type = value_of_initializer %int.make_type_32.loc16_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_27.2: type = converted %int.make_type_32.loc16_27, %.loc16_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc16_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc16_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc16_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc16: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type.loc16 [template = bool]
|
||||
|
||||
+7
-7
@@ -108,12 +108,12 @@ let negative: i32 = LeftShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_17: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_17.1: type = value_of_initializer %int.make_type_32.loc2_17 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_17.2: type = converted %int.make_type_32.loc2_17, %.loc2_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_14.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_14.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @LeftShift.%a: i32 = bind_name a, %a.loc2_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_25.1: type = value_of_initializer %int.make_type_32.loc2_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_25.2: type = converted %int.make_type_32.loc2_25, %.loc2_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_22.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_22.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @LeftShift.%b: i32 = bind_name b, %b.loc2_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_33.1: type = value_of_initializer %int.make_type_32.loc2_33 [template = i32]
|
||||
@@ -140,12 +140,12 @@ let negative: i32 = LeftShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -231,12 +231,12 @@ let negative: i32 = LeftShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_17: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_17.1: type = value_of_initializer %int.make_type_32.loc4_17 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_17.2: type = converted %int.make_type_32.loc4_17, %.loc4_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_14.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_14.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @LeftShift.%a: i32 = bind_name a, %a.loc4_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_25.1: type = value_of_initializer %int.make_type_32.loc4_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_25.2: type = converted %int.make_type_32.loc4_25, %.loc4_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_22.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_22.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @LeftShift.%b: i32 = bind_name b, %b.loc4_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_33.1: type = value_of_initializer %int.make_type_32.loc4_33 [template = i32]
|
||||
@@ -247,7 +247,7 @@ let negative: i32 = LeftShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_14.1: type = value_of_initializer %int.make_type_32.loc5_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_14.2: type = converted %int.make_type_32.loc5_14, %.loc5_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc5_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc5_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc5_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_22.1: type = value_of_initializer %int.make_type_32.loc5_22 [template = i32]
|
||||
|
||||
+7
-7
@@ -88,12 +88,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_12: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_12.1: type = value_of_initializer %int.make_type_32.loc2_12 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_12.2: type = converted %int.make_type_32.loc2_12, %.loc2_12.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_9.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_9.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Less.%a: i32 = bind_name a, %a.loc2_9.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_20: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_20.1: type = value_of_initializer %int.make_type_32.loc2_20 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_20.2: type = converted %int.make_type_32.loc2_20, %.loc2_20.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_17.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_17.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Less.%b: i32 = bind_name b, %b.loc2_17.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_28.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -104,7 +104,7 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_14.1: type = value_of_initializer %int.make_type_32.loc3_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_14.2: type = converted %int.make_type_32.loc3_14, %.loc3_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc3_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc3_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc3_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_22.1: type = value_of_initializer %int.make_type_32.loc3_22 [template = i32]
|
||||
@@ -115,22 +115,22 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc8_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc8_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.2: type = converted %int.make_type_32.loc16_19, %.loc16_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc16_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc16_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc16_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_27.1: type = value_of_initializer %int.make_type_32.loc16_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_27.2: type = converted %int.make_type_32.loc16_27, %.loc16_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc16_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc16_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc16_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc16: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type.loc16 [template = bool]
|
||||
|
||||
+7
-7
@@ -88,12 +88,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_14.1: type = value_of_initializer %int.make_type_32.loc2_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_14.2: type = converted %int.make_type_32.loc2_14, %.loc2_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @LessEq.%a: i32 = bind_name a, %a.loc2_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_22.1: type = value_of_initializer %int.make_type_32.loc2_22 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_22.2: type = converted %int.make_type_32.loc2_22, %.loc2_22.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_19.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_19.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @LessEq.%b: i32 = bind_name b, %b.loc2_19.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_30.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -104,7 +104,7 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_14.1: type = value_of_initializer %int.make_type_32.loc3_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_14.2: type = converted %int.make_type_32.loc3_14, %.loc3_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc3_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc3_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc3_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc3_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc3_22.1: type = value_of_initializer %int.make_type_32.loc3_22 [template = i32]
|
||||
@@ -115,22 +115,22 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc8_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc8_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc8_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc8_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.2: type = converted %int.make_type_32.loc16_19, %.loc16_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc16_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc16_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc16_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_27.1: type = value_of_initializer %int.make_type_32.loc16_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_27.2: type = converted %int.make_type_32.loc16_27, %.loc16_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc16_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc16_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc16_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc16: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type.loc16 [template = bool]
|
||||
|
||||
@@ -104,7 +104,7 @@ var m: Int(1000000000);
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %n.loc4_8.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc4_8.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @Int.%n: i32 = bind_name n, %n.loc4_8.1
|
||||
// CHECK:STDOUT: @Int.%return: ref type = var <return slot>
|
||||
// CHECK:STDOUT: }
|
||||
@@ -168,7 +168,7 @@ var m: Int(1000000000);
|
||||
// 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: %n.loc6_6.1: %.3 = param n
|
||||
// CHECK:STDOUT: %n.loc6_6.1: %.3 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @F.%n: %.3 = bind_name n, %n.loc6_6.1
|
||||
// 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]
|
||||
@@ -183,7 +183,7 @@ var m: Int(1000000000);
|
||||
// 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: %n.loc10_6.1: %.5 = param n
|
||||
// CHECK:STDOUT: %n.loc10_6.1: %.5 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @G.%n: %.5 = bind_name n, %n.loc10_6.1
|
||||
// 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]
|
||||
@@ -196,14 +196,14 @@ var m: Int(1000000000);
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc14_17.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc14_17.2: type = converted %int.make_type_32, %.loc14_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %N.loc14_13.1: i32 = param N
|
||||
// CHECK:STDOUT: %N.loc14_13.1: i32 = param N, runtime_param<invalid>
|
||||
// CHECK:STDOUT: @Symbolic.%N.loc14: i32 = bind_symbolic_name N 0, %N.loc14_13.1 [symbolic = @Symbolic.%N.1 (constants.%N)]
|
||||
// CHECK:STDOUT: %Int.ref.loc14_25: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
|
||||
// CHECK:STDOUT: %N.ref.loc14_29: i32 = name_ref N, @Symbolic.%N.loc14 [symbolic = @Symbolic.%N.1 (constants.%N)]
|
||||
// CHECK:STDOUT: %int.make_type_signed.loc14_28: init type = call %Int.ref.loc14_25(%N.ref.loc14_29) [symbolic = @Symbolic.%.1 (constants.%.6)]
|
||||
// CHECK:STDOUT: %.loc14_30.1: type = value_of_initializer %int.make_type_signed.loc14_28 [symbolic = @Symbolic.%.1 (constants.%.6)]
|
||||
// CHECK:STDOUT: %.loc14_30.2: type = converted %int.make_type_signed.loc14_28, %.loc14_30.1 [symbolic = @Symbolic.%.1 (constants.%.6)]
|
||||
// CHECK:STDOUT: %x.loc14_22.1: @Symbolic.%.1 (%.6) = param x
|
||||
// CHECK:STDOUT: %x.loc14_22.1: @Symbolic.%.1 (%.6) = param x, runtime_param0
|
||||
// CHECK:STDOUT: @Symbolic.%x: @Symbolic.%.1 (%.6) = bind_name x, %x.loc14_22.1
|
||||
// CHECK:STDOUT: %Int.ref.loc14_36: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int]
|
||||
// CHECK:STDOUT: %N.ref.loc14_40: i32 = name_ref N, @Symbolic.%N.loc14 [symbolic = @Symbolic.%N.1 (constants.%N)]
|
||||
@@ -333,7 +333,7 @@ var m: Int(1000000000);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.2: type = converted %int.make_type_32.loc6_14, %.loc6_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %n.loc6_11.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc6_11.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%n: i32 = bind_name n, %n.loc6_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32]
|
||||
|
||||
@@ -104,7 +104,7 @@ var m: UInt(1000000000);
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_12.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_12.2: type = converted %int.make_type_32, %.loc4_12.1 [template = i32]
|
||||
// CHECK:STDOUT: %n.loc4_9.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc4_9.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @UInt.%n: i32 = bind_name n, %n.loc4_9.1
|
||||
// CHECK:STDOUT: @UInt.%return: ref type = var <return slot>
|
||||
// CHECK:STDOUT: }
|
||||
@@ -168,7 +168,7 @@ var m: UInt(1000000000);
|
||||
// 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: %n.loc6_6.1: %.3 = param n
|
||||
// CHECK:STDOUT: %n.loc6_6.1: %.3 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @F.%n: %.3 = bind_name n, %n.loc6_6.1
|
||||
// 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]
|
||||
@@ -183,7 +183,7 @@ var m: UInt(1000000000);
|
||||
// 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: %n.loc10_6.1: %.5 = param n
|
||||
// CHECK:STDOUT: %n.loc10_6.1: %.5 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @G.%n: %.5 = bind_name n, %n.loc10_6.1
|
||||
// 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]
|
||||
@@ -196,14 +196,14 @@ var m: UInt(1000000000);
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc14_17.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc14_17.2: type = converted %int.make_type_32, %.loc14_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %N.loc14_13.1: i32 = param N
|
||||
// CHECK:STDOUT: %N.loc14_13.1: i32 = param N, runtime_param<invalid>
|
||||
// CHECK:STDOUT: @Symbolic.%N.loc14: i32 = bind_symbolic_name N 0, %N.loc14_13.1 [symbolic = @Symbolic.%N.1 (constants.%N)]
|
||||
// CHECK:STDOUT: %UInt.ref.loc14_25: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt]
|
||||
// CHECK:STDOUT: %N.ref.loc14_30: i32 = name_ref N, @Symbolic.%N.loc14 [symbolic = @Symbolic.%N.1 (constants.%N)]
|
||||
// CHECK:STDOUT: %int.make_type_unsigned.loc14_29: init type = call %UInt.ref.loc14_25(%N.ref.loc14_30) [symbolic = @Symbolic.%.1 (constants.%.6)]
|
||||
// CHECK:STDOUT: %.loc14_31.1: type = value_of_initializer %int.make_type_unsigned.loc14_29 [symbolic = @Symbolic.%.1 (constants.%.6)]
|
||||
// CHECK:STDOUT: %.loc14_31.2: type = converted %int.make_type_unsigned.loc14_29, %.loc14_31.1 [symbolic = @Symbolic.%.1 (constants.%.6)]
|
||||
// CHECK:STDOUT: %x.loc14_22.1: @Symbolic.%.1 (%.6) = param x
|
||||
// CHECK:STDOUT: %x.loc14_22.1: @Symbolic.%.1 (%.6) = param x, runtime_param0
|
||||
// CHECK:STDOUT: @Symbolic.%x: @Symbolic.%.1 (%.6) = bind_name x, %x.loc14_22.1
|
||||
// CHECK:STDOUT: %UInt.ref.loc14_37: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt]
|
||||
// CHECK:STDOUT: %N.ref.loc14_42: i32 = name_ref N, @Symbolic.%N.loc14 [symbolic = @Symbolic.%N.1 (constants.%N)]
|
||||
@@ -333,7 +333,7 @@ var m: UInt(1000000000);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.2: type = converted %int.make_type_32.loc6_14, %.loc6_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %n.loc6_11.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc6_11.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%n: i32 = bind_name n, %n.loc6_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32]
|
||||
|
||||
+6
-6
@@ -79,12 +79,12 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Neq.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Neq.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc2: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %bool.make_type.loc2 [template = bool]
|
||||
@@ -95,22 +95,22 @@ fn RuntimeCall(a: i32, b: i32) -> bool {
|
||||
// CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %True.ref: type = name_ref True, %True.decl [template = constants.%True]
|
||||
// CHECK:STDOUT: %true_.loc7_6.1: %True = param true_
|
||||
// CHECK:STDOUT: %true_.loc7_6.1: %True = param true_, runtime_param0
|
||||
// CHECK:STDOUT: @F.%true_: %True = bind_name true_, %true_.loc7_6.1
|
||||
// CHECK:STDOUT: %False.ref: type = name_ref False, %False.decl [template = constants.%False]
|
||||
// CHECK:STDOUT: %false_.loc7_19.1: %False = param false_
|
||||
// CHECK:STDOUT: %false_.loc7_19.1: %False = param false_, runtime_param1
|
||||
// CHECK:STDOUT: @F.%false_: %False = bind_name false_, %false_.loc7_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc12_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_19.1: type = value_of_initializer %int.make_type_32.loc12_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_19.2: type = converted %int.make_type_32.loc12_19, %.loc12_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc12_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc12_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc12_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc12_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_27.1: type = value_of_initializer %int.make_type_32.loc12_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_27.2: type = converted %int.make_type_32.loc12_27, %.loc12_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc12_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc12_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc12_24.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc12: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc12_35.1: type = value_of_initializer %bool.make_type.loc12 [template = bool]
|
||||
|
||||
+4
-4
@@ -64,12 +64,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_10: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_10.1: type = value_of_initializer %int.make_type_32.loc2_10 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_10.2: type = converted %int.make_type_32.loc2_10, %.loc2_10.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_7.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_7.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Or.%a: i32 = bind_name a, %a.loc2_7.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_18: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_18.1: type = value_of_initializer %int.make_type_32.loc2_18 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_18.2: type = converted %int.make_type_32.loc2_18, %.loc2_18.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_15.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_15.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Or.%b: i32 = bind_name b, %b.loc2_15.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %int.make_type_32.loc2_26 [template = i32]
|
||||
@@ -96,12 +96,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
|
||||
+10
-10
@@ -109,12 +109,12 @@ let negative: i32 = RightShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_18: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_18.1: type = value_of_initializer %int.make_type_32.loc2_18 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_18.2: type = converted %int.make_type_32.loc2_18, %.loc2_18.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_15.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_15.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RightShift.%a: i32 = bind_name a, %a.loc2_15.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %int.make_type_32.loc2_26 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_26.2: type = converted %int.make_type_32.loc2_26, %.loc2_26.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_23.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_23.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RightShift.%b: i32 = bind_name b, %b.loc2_23.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_34: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_34.1: type = value_of_initializer %int.make_type_32.loc2_34 [template = i32]
|
||||
@@ -141,12 +141,12 @@ let negative: i32 = RightShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -231,12 +231,12 @@ let negative: i32 = RightShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_18: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_18.1: type = value_of_initializer %int.make_type_32.loc6_18 [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_18.2: type = converted %int.make_type_32.loc6_18, %.loc6_18.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc6_15.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc6_15.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RightShift.%a: i32 = bind_name a, %a.loc6_15.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_26.1: type = value_of_initializer %int.make_type_32.loc6_26 [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_26.2: type = converted %int.make_type_32.loc6_26, %.loc6_26.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc6_23.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc6_23.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RightShift.%b: i32 = bind_name b, %b.loc6_23.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_34: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_34.1: type = value_of_initializer %int.make_type_32.loc6_34 [template = i32]
|
||||
@@ -247,7 +247,7 @@ let negative: i32 = RightShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_14.1: type = value_of_initializer %int.make_type_32.loc7_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_14.2: type = converted %int.make_type_32.loc7_14, %.loc7_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc7_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_22.1: type = value_of_initializer %int.make_type_32.loc7_22 [template = i32]
|
||||
@@ -369,12 +369,12 @@ let negative: i32 = RightShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_18: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_18.1: type = value_of_initializer %int.make_type_32.loc4_18 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_18.2: type = converted %int.make_type_32.loc4_18, %.loc4_18.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_15.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_15.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RightShift.%a: i32 = bind_name a, %a.loc4_15.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_26.1: type = value_of_initializer %int.make_type_32.loc4_26 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_26.2: type = converted %int.make_type_32.loc4_26, %.loc4_26.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_23.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_23.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RightShift.%b: i32 = bind_name b, %b.loc4_23.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_34: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_34.1: type = value_of_initializer %int.make_type_32.loc4_34 [template = i32]
|
||||
@@ -385,7 +385,7 @@ let negative: i32 = RightShift(1, Negate(1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_14.1: type = value_of_initializer %int.make_type_32.loc5_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_14.2: type = converted %int.make_type_32.loc5_14, %.loc5_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc5_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc5_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc5_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_22.1: type = value_of_initializer %int.make_type_32.loc5_22 [template = i32]
|
||||
|
||||
+21
-22
@@ -134,12 +134,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Add.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Add.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -166,12 +166,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -267,7 +267,7 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc8_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_14.1: type = value_of_initializer %int.make_type_32.loc8_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_14.2: type = converted %int.make_type_32.loc8_14, %.loc8_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc8_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc8_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooFew.%a: i32 = bind_name a, %a.loc8_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc8_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_22.1: type = value_of_initializer %int.make_type_32.loc8_22 [template = i32]
|
||||
@@ -278,17 +278,17 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_15.1: type = value_of_initializer %int.make_type_32.loc13_15 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_15.2: type = converted %int.make_type_32.loc13_15, %.loc13_15.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc13_12.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: i32 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_23: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_23.1: type = value_of_initializer %int.make_type_32.loc13_23 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_23.2: type = converted %int.make_type_32.loc13_23, %.loc13_23.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc13_20.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: i32 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_31: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_31.1: type = value_of_initializer %int.make_type_32.loc13_31 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_31.2: type = converted %int.make_type_32.loc13_31, %.loc13_31.1 [template = i32]
|
||||
// CHECK:STDOUT: %c.loc13_28.1: i32 = param c
|
||||
// CHECK:STDOUT: %c.loc13_28.1: i32 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @TooMany.%c: i32 = bind_name c, %c.loc13_28.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_39: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_39.1: type = value_of_initializer %int.make_type_32.loc13_39 [template = i32]
|
||||
@@ -299,12 +299,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc18_21: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_21.1: type = value_of_initializer %int.make_type_32.loc18_21 [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_21.2: type = converted %int.make_type_32.loc18_21, %.loc18_21.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc18_18.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc18_18.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: i32 = bind_name a, %a.loc18_18.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc18_29: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_29.1: type = value_of_initializer %int.make_type_32.loc18_29 [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_29.2: type = converted %int.make_type_32.loc18_29, %.loc18_29.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc18_26.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc18_26.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @BadReturnType.%b: i32 = bind_name b, %b.loc18_26.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc18: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc18_37.1: type = value_of_initializer %bool.make_type.loc18 [template = bool]
|
||||
@@ -315,12 +315,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_17: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_17.1: type = value_of_initializer %int.make_type_32.loc19_17 [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_17.2: type = converted %int.make_type_32.loc19_17, %.loc19_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc19_14.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc19_14.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: i32 = bind_name a, %a.loc19_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_25.1: type = value_of_initializer %int.make_type_32.loc19_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_25.2: type = converted %int.make_type_32.loc19_25, %.loc19_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc19_22.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc19_22.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @JustRight.%b: i32 = bind_name b, %b.loc19_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_33.1: type = value_of_initializer %int.make_type_32.loc19_33 [template = i32]
|
||||
@@ -353,17 +353,16 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// 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: %int.sadd: init i32 = call %JustRight.ref(<invalid>) [template = <error>]
|
||||
// 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 %int.sadd, i32 [template = <error>]
|
||||
// CHECK:STDOUT: %.loc44_39: type = array_type <error>, i32 [template = <error>]
|
||||
// CHECK:STDOUT: %bad_call.var: ref <error> = var bad_call
|
||||
// CHECK:STDOUT: %bad_call: ref <error> = bind_name bad_call, %bad_call.var
|
||||
// CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc46_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_25.1: type = value_of_initializer %int.make_type_32.loc46_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_25.2: type = converted %int.make_type_32.loc46_25, %.loc46_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc46_22.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc46_22.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: i32 = bind_name a, %a.loc46_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc46_33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_33.1: type = value_of_initializer %int.make_type_32.loc46_33 [template = i32]
|
||||
@@ -374,17 +373,17 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc50_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc50_26.1: type = value_of_initializer %int.make_type_32.loc50_26 [template = i32]
|
||||
// CHECK:STDOUT: %.loc50_26.2: type = converted %int.make_type_32.loc50_26, %.loc50_26.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc50_23.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc50_23.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: i32 = bind_name a, %a.loc50_23.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc50_34: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc50_34.1: type = value_of_initializer %int.make_type_32.loc50_34 [template = i32]
|
||||
// CHECK:STDOUT: %.loc50_34.2: type = converted %int.make_type_32.loc50_34, %.loc50_34.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc50_31.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc50_31.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: i32 = bind_name b, %b.loc50_31.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc50_42: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc50_42.1: type = value_of_initializer %int.make_type_32.loc50_42 [template = i32]
|
||||
// CHECK:STDOUT: %.loc50_42.2: type = converted %int.make_type_32.loc50_42, %.loc50_42.1 [template = i32]
|
||||
// CHECK:STDOUT: %c.loc50_39.1: i32 = param c
|
||||
// CHECK:STDOUT: %c.loc50_39.1: i32 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: i32 = bind_name c, %c.loc50_39.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc50_50: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc50_50.1: type = value_of_initializer %int.make_type_32.loc50_50 [template = i32]
|
||||
@@ -395,12 +394,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc54_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc54_32.1: type = value_of_initializer %int.make_type_32.loc54_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc54_32.2: type = converted %int.make_type_32.loc54_32, %.loc54_32.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc54_29.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc54_29.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: i32 = bind_name a, %a.loc54_29.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc54_40: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc54_40.1: type = value_of_initializer %int.make_type_32.loc54_40 [template = i32]
|
||||
// CHECK:STDOUT: %.loc54_40.2: type = converted %int.make_type_32.loc54_40, %.loc54_40.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc54_37.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc54_37.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: i32 = bind_name b, %b.loc54_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc54: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc54_48.1: type = value_of_initializer %bool.make_type.loc54 [template = bool]
|
||||
@@ -495,12 +494,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Add.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Add.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+11
-11
@@ -102,12 +102,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Div.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Div.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -134,12 +134,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -220,12 +220,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Div.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Div.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
@@ -236,12 +236,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.2: type = converted %int.make_type_32.loc5_11, %.loc5_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc5_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.1: type = value_of_initializer %int.make_type_32.loc5_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.2: type = converted %int.make_type_32.loc5_19, %.loc5_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc5_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32]
|
||||
@@ -252,7 +252,7 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.2: type = converted %int.make_type_32.loc6_14, %.loc6_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc6_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc6_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc6_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32]
|
||||
@@ -373,12 +373,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Div.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Div.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+11
-11
@@ -105,12 +105,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mod.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mod.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -137,12 +137,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -224,12 +224,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mod.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mod.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
@@ -240,12 +240,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.2: type = converted %int.make_type_32.loc5_11, %.loc5_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc5_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.1: type = value_of_initializer %int.make_type_32.loc5_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.2: type = converted %int.make_type_32.loc5_19, %.loc5_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc5_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32]
|
||||
@@ -256,7 +256,7 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.2: type = converted %int.make_type_32.loc6_14, %.loc6_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc6_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc6_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc6_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32]
|
||||
@@ -377,12 +377,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mod.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mod.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+6
-6
@@ -76,12 +76,12 @@ let b: i32 = Mul(0x8000, 0x10000);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mul.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mul.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -108,12 +108,12 @@ let b: i32 = Mul(0x8000, 0x10000);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -187,12 +187,12 @@ let b: i32 = Mul(0x8000, 0x10000);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mul.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mul.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+20
-30
@@ -163,7 +163,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_14.1: type = value_of_initializer %int.make_type_32.loc2_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_14.2: type = converted %int.make_type_32.loc2_14, %.loc2_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc2_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_22.1: type = value_of_initializer %int.make_type_32.loc2_22 [template = i32]
|
||||
@@ -196,12 +196,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc9_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_19.1: type = value_of_initializer %int.make_type_32.loc9_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_19.2: type = converted %int.make_type_32.loc9_19, %.loc9_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc9_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc9_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc9_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc9_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_27.1: type = value_of_initializer %int.make_type_32.loc9_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_27.2: type = converted %int.make_type_32.loc9_27, %.loc9_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc9_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc9_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc9_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc9_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_35.1: type = value_of_initializer %int.make_type_32.loc9_35 [template = i32]
|
||||
@@ -307,12 +307,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_15.1: type = value_of_initializer %int.make_type_32.loc13_15 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_15.2: type = converted %int.make_type_32.loc13_15, %.loc13_15.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc13_12.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: i32 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_23: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_23.1: type = value_of_initializer %int.make_type_32.loc13_23 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_23.2: type = converted %int.make_type_32.loc13_23, %.loc13_23.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc13_20.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: i32 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_31: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_31.1: type = value_of_initializer %int.make_type_32.loc13_31 [template = i32]
|
||||
@@ -323,7 +323,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc18: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_21.1: type = value_of_initializer %int.make_type_32.loc18 [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_21.2: type = converted %int.make_type_32.loc18, %.loc18_21.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc18_18.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc18_18.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: i32 = bind_name a, %a.loc18_18.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc18: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc18_29.1: type = value_of_initializer %bool.make_type.loc18 [template = bool]
|
||||
@@ -334,7 +334,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_17: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_17.1: type = value_of_initializer %int.make_type_32.loc19_17 [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_17.2: type = converted %int.make_type_32.loc19_17, %.loc19_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc19_14.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc19_14.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: i32 = bind_name a, %a.loc19_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_25.1: type = value_of_initializer %int.make_type_32.loc19_25 [template = i32]
|
||||
@@ -363,17 +363,16 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// 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: %int.snegate: init i32 = call %JustRight.ref(<invalid>) [template = <error>]
|
||||
// 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 %int.snegate, i32 [template = <error>]
|
||||
// CHECK:STDOUT: %.loc44_36: type = array_type <error>, i32 [template = <error>]
|
||||
// CHECK:STDOUT: %bad_call.var: ref <error> = var bad_call
|
||||
// CHECK:STDOUT: %bad_call: ref <error> = bind_name bad_call, %bad_call.var
|
||||
// CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc46_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_25.1: type = value_of_initializer %int.make_type_32.loc46_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_25.2: type = converted %int.make_type_32.loc46_25, %.loc46_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc46_22.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc46_22.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: i32 = bind_name a, %a.loc46_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc46_33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_33.1: type = value_of_initializer %int.make_type_32.loc46_33 [template = i32]
|
||||
@@ -384,17 +383,17 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_26.1: type = value_of_initializer %int.make_type_32.loc57_26 [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_26.2: type = converted %int.make_type_32.loc57_26, %.loc57_26.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc57_23.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc57_23.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: i32 = bind_name a, %a.loc57_23.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57_34: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_34.1: type = value_of_initializer %int.make_type_32.loc57_34 [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_34.2: type = converted %int.make_type_32.loc57_34, %.loc57_34.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc57_31.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc57_31.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: i32 = bind_name b, %b.loc57_31.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57_42: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_42.1: type = value_of_initializer %int.make_type_32.loc57_42 [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_42.2: type = converted %int.make_type_32.loc57_42, %.loc57_42.1 [template = i32]
|
||||
// CHECK:STDOUT: %c.loc57_39.1: i32 = param c
|
||||
// CHECK:STDOUT: %c.loc57_39.1: i32 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: i32 = bind_name c, %c.loc57_39.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57_50: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_50.1: type = value_of_initializer %int.make_type_32.loc57_50 [template = i32]
|
||||
@@ -405,12 +404,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc68_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc68_32.1: type = value_of_initializer %int.make_type_32.loc68_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc68_32.2: type = converted %int.make_type_32.loc68_32, %.loc68_32.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc68_29.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc68_29.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: i32 = bind_name a, %a.loc68_29.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc68_40: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc68_40.1: type = value_of_initializer %int.make_type_32.loc68_40 [template = i32]
|
||||
// CHECK:STDOUT: %.loc68_40.2: type = converted %int.make_type_32.loc68_40, %.loc68_40.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc68_37.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc68_37.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: i32 = bind_name b, %b.loc68_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc68: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc68_48.1: type = value_of_initializer %bool.make_type.loc68 [template = bool]
|
||||
@@ -435,10 +434,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, file.%TooFew.decl [template = constants.%TooFew]
|
||||
// CHECK:STDOUT: %a.ref: i32 = name_ref a, %a
|
||||
// CHECK:STDOUT: %TooFew.call: init i32 = call %TooFew.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc54_19.1: i32 = value_of_initializer %TooFew.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc54_19.2: i32 = converted %TooFew.call, %.loc54_19.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc54_19.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallTooMany(%a: i32, %b: i32, %c: i32) -> i32 {
|
||||
@@ -447,10 +443,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %a.ref: i32 = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: i32 = name_ref b, %b
|
||||
// CHECK:STDOUT: %c.ref: i32 = name_ref c, %c
|
||||
// CHECK:STDOUT: %TooMany.call: init i32 = call %TooMany.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc65_26.1: i32 = value_of_initializer %TooMany.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc65_26.2: i32 = converted %TooMany.call, %.loc65_26.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc65_26.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallBadReturnType(%a: i32, %b: i32) -> bool {
|
||||
@@ -458,10 +451,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, file.%BadReturnType.decl [template = constants.%BadReturnType]
|
||||
// CHECK:STDOUT: %a.ref: i32 = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: i32 = name_ref b, %b
|
||||
// CHECK:STDOUT: %BadReturnType.call: init bool = call %BadReturnType.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc76_29.1: bool = value_of_initializer %BadReturnType.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc76_29.2: bool = converted %BadReturnType.call, %.loc76_29.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc76_29.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- fail_overflow.carbon
|
||||
@@ -508,7 +498,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_14.1: type = value_of_initializer %int.make_type_32.loc4_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_14.2: type = converted %int.make_type_32.loc4_14, %.loc4_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc4_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_22.1: type = value_of_initializer %int.make_type_32.loc4_22 [template = i32]
|
||||
@@ -519,12 +509,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.2: type = converted %int.make_type_32.loc5_11, %.loc5_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc5_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.1: type = value_of_initializer %int.make_type_32.loc5_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.2: type = converted %int.make_type_32.loc5_19, %.loc5_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc5_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32]
|
||||
|
||||
+6
-6
@@ -77,12 +77,12 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -109,12 +109,12 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -190,12 +190,12 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+21
-22
@@ -131,12 +131,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Add.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Add.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -163,12 +163,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -264,7 +264,7 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc8_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_14.1: type = value_of_initializer %int.make_type_32.loc8_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_14.2: type = converted %int.make_type_32.loc8_14, %.loc8_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc8_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc8_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooFew.%a: i32 = bind_name a, %a.loc8_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc8_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc8_22.1: type = value_of_initializer %int.make_type_32.loc8_22 [template = i32]
|
||||
@@ -275,17 +275,17 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_15.1: type = value_of_initializer %int.make_type_32.loc13_15 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_15.2: type = converted %int.make_type_32.loc13_15, %.loc13_15.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc13_12.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: i32 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_23: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_23.1: type = value_of_initializer %int.make_type_32.loc13_23 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_23.2: type = converted %int.make_type_32.loc13_23, %.loc13_23.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc13_20.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: i32 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_31: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_31.1: type = value_of_initializer %int.make_type_32.loc13_31 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_31.2: type = converted %int.make_type_32.loc13_31, %.loc13_31.1 [template = i32]
|
||||
// CHECK:STDOUT: %c.loc13_28.1: i32 = param c
|
||||
// CHECK:STDOUT: %c.loc13_28.1: i32 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @TooMany.%c: i32 = bind_name c, %c.loc13_28.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_39: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_39.1: type = value_of_initializer %int.make_type_32.loc13_39 [template = i32]
|
||||
@@ -296,12 +296,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc18_21: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_21.1: type = value_of_initializer %int.make_type_32.loc18_21 [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_21.2: type = converted %int.make_type_32.loc18_21, %.loc18_21.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc18_18.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc18_18.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: i32 = bind_name a, %a.loc18_18.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc18_29: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_29.1: type = value_of_initializer %int.make_type_32.loc18_29 [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_29.2: type = converted %int.make_type_32.loc18_29, %.loc18_29.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc18_26.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc18_26.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @BadReturnType.%b: i32 = bind_name b, %b.loc18_26.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc18: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc18_37.1: type = value_of_initializer %bool.make_type.loc18 [template = bool]
|
||||
@@ -312,12 +312,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_17: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_17.1: type = value_of_initializer %int.make_type_32.loc19_17 [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_17.2: type = converted %int.make_type_32.loc19_17, %.loc19_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc19_14.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc19_14.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: i32 = bind_name a, %a.loc19_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_25.1: type = value_of_initializer %int.make_type_32.loc19_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_25.2: type = converted %int.make_type_32.loc19_25, %.loc19_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc19_22.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc19_22.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @JustRight.%b: i32 = bind_name b, %b.loc19_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_33.1: type = value_of_initializer %int.make_type_32.loc19_33 [template = i32]
|
||||
@@ -350,17 +350,16 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// 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: %int.uadd: init i32 = call %JustRight.ref(<invalid>) [template = <error>]
|
||||
// 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 %int.uadd, i32 [template = <error>]
|
||||
// CHECK:STDOUT: %.loc43_39: type = array_type <error>, i32 [template = <error>]
|
||||
// CHECK:STDOUT: %bad_call.var: ref <error> = var bad_call
|
||||
// CHECK:STDOUT: %bad_call: ref <error> = bind_name bad_call, %bad_call.var
|
||||
// CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc45_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc45_25.1: type = value_of_initializer %int.make_type_32.loc45_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc45_25.2: type = converted %int.make_type_32.loc45_25, %.loc45_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc45_22.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc45_22.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: i32 = bind_name a, %a.loc45_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc45_33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc45_33.1: type = value_of_initializer %int.make_type_32.loc45_33 [template = i32]
|
||||
@@ -371,17 +370,17 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc49_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc49_26.1: type = value_of_initializer %int.make_type_32.loc49_26 [template = i32]
|
||||
// CHECK:STDOUT: %.loc49_26.2: type = converted %int.make_type_32.loc49_26, %.loc49_26.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc49_23.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc49_23.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: i32 = bind_name a, %a.loc49_23.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc49_34: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc49_34.1: type = value_of_initializer %int.make_type_32.loc49_34 [template = i32]
|
||||
// CHECK:STDOUT: %.loc49_34.2: type = converted %int.make_type_32.loc49_34, %.loc49_34.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc49_31.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc49_31.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: i32 = bind_name b, %b.loc49_31.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc49_42: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc49_42.1: type = value_of_initializer %int.make_type_32.loc49_42 [template = i32]
|
||||
// CHECK:STDOUT: %.loc49_42.2: type = converted %int.make_type_32.loc49_42, %.loc49_42.1 [template = i32]
|
||||
// CHECK:STDOUT: %c.loc49_39.1: i32 = param c
|
||||
// CHECK:STDOUT: %c.loc49_39.1: i32 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: i32 = bind_name c, %c.loc49_39.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc49_50: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc49_50.1: type = value_of_initializer %int.make_type_32.loc49_50 [template = i32]
|
||||
@@ -392,12 +391,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc53_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc53_32.1: type = value_of_initializer %int.make_type_32.loc53_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc53_32.2: type = converted %int.make_type_32.loc53_32, %.loc53_32.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc53_29.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc53_29.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: i32 = bind_name a, %a.loc53_29.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc53_40: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc53_40.1: type = value_of_initializer %int.make_type_32.loc53_40 [template = i32]
|
||||
// CHECK:STDOUT: %.loc53_40.2: type = converted %int.make_type_32.loc53_40, %.loc53_40.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc53_37.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc53_37.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: i32 = bind_name b, %b.loc53_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc53: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc53_48.1: type = value_of_initializer %bool.make_type.loc53 [template = bool]
|
||||
@@ -492,12 +491,12 @@ let b: i32 = Add(0x7FFFFFFF, 1);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Add.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Add.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+11
-11
@@ -98,12 +98,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Div.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Div.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -130,12 +130,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -217,12 +217,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Div.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Div.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
@@ -233,12 +233,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.2: type = converted %int.make_type_32.loc5_11, %.loc5_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc5_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.1: type = value_of_initializer %int.make_type_32.loc5_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.2: type = converted %int.make_type_32.loc5_19, %.loc5_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc5_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32]
|
||||
@@ -249,7 +249,7 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.2: type = converted %int.make_type_32.loc6_14, %.loc6_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc6_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc6_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc6_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32]
|
||||
@@ -370,12 +370,12 @@ let b: i32 = Div(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Div.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Div.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+11
-11
@@ -100,12 +100,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mod.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mod.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -132,12 +132,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -219,12 +219,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mod.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mod.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
@@ -235,12 +235,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.2: type = converted %int.make_type_32.loc5_11, %.loc5_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc5_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.1: type = value_of_initializer %int.make_type_32.loc5_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.2: type = converted %int.make_type_32.loc5_19, %.loc5_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc5_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32]
|
||||
@@ -251,7 +251,7 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_14.2: type = converted %int.make_type_32.loc6_14, %.loc6_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc6_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc6_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc6_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32]
|
||||
@@ -372,12 +372,12 @@ let b: i32 = Mod(0, 0);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mod.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mod.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+6
-6
@@ -73,12 +73,12 @@ let b: i32 = Mul(0x8000, 0x10000);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mul.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mul.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -105,12 +105,12 @@ let b: i32 = Mul(0x8000, 0x10000);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -184,12 +184,12 @@ let b: i32 = Mul(0x8000, 0x10000);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Mul.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Mul.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+20
-30
@@ -159,7 +159,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_14.1: type = value_of_initializer %int.make_type_32.loc2_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_14.2: type = converted %int.make_type_32.loc2_14, %.loc2_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc2_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_22.1: type = value_of_initializer %int.make_type_32.loc2_22 [template = i32]
|
||||
@@ -192,12 +192,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc9_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_19.1: type = value_of_initializer %int.make_type_32.loc9_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_19.2: type = converted %int.make_type_32.loc9_19, %.loc9_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc9_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc9_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc9_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc9_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_27.1: type = value_of_initializer %int.make_type_32.loc9_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_27.2: type = converted %int.make_type_32.loc9_27, %.loc9_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc9_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc9_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc9_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc9_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc9_35.1: type = value_of_initializer %int.make_type_32.loc9_35 [template = i32]
|
||||
@@ -303,12 +303,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_15.1: type = value_of_initializer %int.make_type_32.loc13_15 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_15.2: type = converted %int.make_type_32.loc13_15, %.loc13_15.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc13_12.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc13_12.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TooMany.%a: i32 = bind_name a, %a.loc13_12.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_23: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_23.1: type = value_of_initializer %int.make_type_32.loc13_23 [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_23.2: type = converted %int.make_type_32.loc13_23, %.loc13_23.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc13_20.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc13_20.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @TooMany.%b: i32 = bind_name b, %b.loc13_20.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc13_31: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_31.1: type = value_of_initializer %int.make_type_32.loc13_31 [template = i32]
|
||||
@@ -319,7 +319,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc18: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_21.1: type = value_of_initializer %int.make_type_32.loc18 [template = i32]
|
||||
// CHECK:STDOUT: %.loc18_21.2: type = converted %int.make_type_32.loc18, %.loc18_21.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc18_18.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc18_18.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @BadReturnType.%a: i32 = bind_name a, %a.loc18_18.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc18: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc18_29.1: type = value_of_initializer %bool.make_type.loc18 [template = bool]
|
||||
@@ -330,7 +330,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_17: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_17.1: type = value_of_initializer %int.make_type_32.loc19_17 [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_17.2: type = converted %int.make_type_32.loc19_17, %.loc19_17.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc19_14.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc19_14.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @JustRight.%a: i32 = bind_name a, %a.loc19_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc19_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_25.1: type = value_of_initializer %int.make_type_32.loc19_25 [template = i32]
|
||||
@@ -359,17 +359,16 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// 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: %int.unegate: init i32 = call %JustRight.ref(<invalid>) [template = <error>]
|
||||
// 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 %int.unegate, i32 [template = <error>]
|
||||
// CHECK:STDOUT: %.loc44_36: type = array_type <error>, i32 [template = <error>]
|
||||
// CHECK:STDOUT: %bad_call.var: ref <error> = var bad_call
|
||||
// CHECK:STDOUT: %bad_call: ref <error> = bind_name bad_call, %bad_call.var
|
||||
// CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc46_25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_25.1: type = value_of_initializer %int.make_type_32.loc46_25 [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_25.2: type = converted %int.make_type_32.loc46_25, %.loc46_25.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc46_22.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc46_22.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooFew.%a: i32 = bind_name a, %a.loc46_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc46_33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc46_33.1: type = value_of_initializer %int.make_type_32.loc46_33 [template = i32]
|
||||
@@ -380,17 +379,17 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57_26: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_26.1: type = value_of_initializer %int.make_type_32.loc57_26 [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_26.2: type = converted %int.make_type_32.loc57_26, %.loc57_26.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc57_23.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc57_23.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%a: i32 = bind_name a, %a.loc57_23.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57_34: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_34.1: type = value_of_initializer %int.make_type_32.loc57_34 [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_34.2: type = converted %int.make_type_32.loc57_34, %.loc57_34.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc57_31.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc57_31.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%b: i32 = bind_name b, %b.loc57_31.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57_42: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_42.1: type = value_of_initializer %int.make_type_32.loc57_42 [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_42.2: type = converted %int.make_type_32.loc57_42, %.loc57_42.1 [template = i32]
|
||||
// CHECK:STDOUT: %c.loc57_39.1: i32 = param c
|
||||
// CHECK:STDOUT: %c.loc57_39.1: i32 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @RuntimeCallTooMany.%c: i32 = bind_name c, %c.loc57_39.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57_50: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_50.1: type = value_of_initializer %int.make_type_32.loc57_50 [template = i32]
|
||||
@@ -401,12 +400,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc68_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc68_32.1: type = value_of_initializer %int.make_type_32.loc68_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc68_32.2: type = converted %int.make_type_32.loc68_32, %.loc68_32.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc68_29.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc68_29.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%a: i32 = bind_name a, %a.loc68_29.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc68_40: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc68_40.1: type = value_of_initializer %int.make_type_32.loc68_40 [template = i32]
|
||||
// CHECK:STDOUT: %.loc68_40.2: type = converted %int.make_type_32.loc68_40, %.loc68_40.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc68_37.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc68_37.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCallBadReturnType.%b: i32 = bind_name b, %b.loc68_37.1
|
||||
// CHECK:STDOUT: %bool.make_type.loc68: init type = call constants.%Bool() [template = bool]
|
||||
// CHECK:STDOUT: %.loc68_48.1: type = value_of_initializer %bool.make_type.loc68 [template = bool]
|
||||
@@ -431,10 +430,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %TooFew.ref: %TooFew.type = name_ref TooFew, file.%TooFew.decl [template = constants.%TooFew]
|
||||
// CHECK:STDOUT: %a.ref: i32 = name_ref a, %a
|
||||
// CHECK:STDOUT: %TooFew.call: init i32 = call %TooFew.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc54_19.1: i32 = value_of_initializer %TooFew.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc54_19.2: i32 = converted %TooFew.call, %.loc54_19.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc54_19.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallTooMany(%a: i32, %b: i32, %c: i32) -> i32 {
|
||||
@@ -443,10 +439,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %a.ref: i32 = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: i32 = name_ref b, %b
|
||||
// CHECK:STDOUT: %c.ref: i32 = name_ref c, %c
|
||||
// CHECK:STDOUT: %TooMany.call: init i32 = call %TooMany.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc65_26.1: i32 = value_of_initializer %TooMany.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc65_26.2: i32 = converted %TooMany.call, %.loc65_26.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc65_26.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @RuntimeCallBadReturnType(%a: i32, %b: i32) -> bool {
|
||||
@@ -454,10 +447,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %BadReturnType.ref: %BadReturnType.type = name_ref BadReturnType, file.%BadReturnType.decl [template = constants.%BadReturnType]
|
||||
// CHECK:STDOUT: %a.ref: i32 = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: i32 = name_ref b, %b
|
||||
// CHECK:STDOUT: %BadReturnType.call: init bool = call %BadReturnType.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %.loc75_29.1: bool = value_of_initializer %BadReturnType.call [template = <error>]
|
||||
// CHECK:STDOUT: %.loc75_29.2: bool = converted %BadReturnType.call, %.loc75_29.1 [template = <error>]
|
||||
// CHECK:STDOUT: return %.loc75_29.2
|
||||
// CHECK:STDOUT: return <error>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- overflow.carbon
|
||||
@@ -504,7 +494,7 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_14.1: type = value_of_initializer %int.make_type_32.loc4_14 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_14.2: type = converted %int.make_type_32.loc4_14, %.loc4_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_11.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_11.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Negate.%a: i32 = bind_name a, %a.loc4_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_22: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_22.1: type = value_of_initializer %int.make_type_32.loc4_22 [template = i32]
|
||||
@@ -515,12 +505,12 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1));
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_11.2: type = converted %int.make_type_32.loc5_11, %.loc5_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc5_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc5_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.1: type = value_of_initializer %int.make_type_32.loc5_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_19.2: type = converted %int.make_type_32.loc5_19, %.loc5_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc5_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc5_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32]
|
||||
|
||||
+6
-6
@@ -74,12 +74,12 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -106,12 +106,12 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
@@ -187,12 +187,12 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2);
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4_11, %.loc4_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc4_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Sub.%a: i32 = bind_name a, %a.loc4_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %int.make_type_32.loc4_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_19.2: type = converted %int.make_type_32.loc4_19, %.loc4_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc4_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Sub.%b: i32 = bind_name b, %b.loc4_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32]
|
||||
|
||||
+4
-4
@@ -64,12 +64,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_11.2: type = converted %int.make_type_32.loc2_11, %.loc2_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc2_8.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Xor.%a: i32 = bind_name a, %a.loc2_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.1: type = value_of_initializer %int.make_type_32.loc2_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_19.2: type = converted %int.make_type_32.loc2_19, %.loc2_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc2_16.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Xor.%b: i32 = bind_name b, %b.loc2_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32]
|
||||
@@ -96,12 +96,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_19.2: type = converted %int.make_type_32.loc7_19, %.loc7_19.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc7_16.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @RuntimeCall.%a: i32 = bind_name a, %a.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.1: type = value_of_initializer %int.make_type_32.loc7_27 [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_27.2: type = converted %int.make_type_32.loc7_27, %.loc7_27.1 [template = i32]
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b
|
||||
// CHECK:STDOUT: %b.loc7_24.1: i32 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @RuntimeCall.%b: i32 = bind_name b, %b.loc7_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32]
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ fn Main() {
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_13.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_13.2: type = converted %int.make_type_32, %.loc11_13.1 [template = i32]
|
||||
// CHECK:STDOUT: %a.loc11_10.1: i32 = param a
|
||||
// CHECK:STDOUT: %a.loc11_10.1: i32 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Print.1.%a: i32 = bind_name a, %a.loc11_10.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {}
|
||||
|
||||
+2
-2
@@ -395,7 +395,7 @@ class A {
|
||||
// CHECK:STDOUT: %.loc5_21: %.2 = field_decl radius, element0 [template]
|
||||
// CHECK:STDOUT: %GetRadius.decl: %GetRadius.type = fn_decl @GetRadius [template = constants.%GetRadius] {
|
||||
// CHECK:STDOUT: %Self.ref.loc7: type = name_ref Self, constants.%Circle [template = constants.%Circle]
|
||||
// CHECK:STDOUT: %self.loc7_16.1: %Circle = param self
|
||||
// CHECK:STDOUT: %self.loc7_16.1: %Circle = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc7_16.2: %Circle = bind_name self, %self.loc7_16.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc7_33.1: type = value_of_initializer %int.make_type_32.loc7 [template = i32]
|
||||
@@ -410,7 +410,7 @@ class A {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Compute.decl: %Compute.type = fn_decl @Compute [template = constants.%Compute] {
|
||||
// CHECK:STDOUT: %Self.ref.loc15: type = name_ref Self, constants.%Circle [template = constants.%Circle]
|
||||
// CHECK:STDOUT: %self.loc15_14.1: %Circle = param self
|
||||
// CHECK:STDOUT: %self.loc15_14.1: %Circle = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc15_14.2: %Circle = bind_name self, %self.loc15_14.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc15_31.1: type = value_of_initializer %int.make_type_32.loc15 [template = i32]
|
||||
|
||||
+1
-1
@@ -166,7 +166,7 @@ fn F(a: AdaptNotExtend) {
|
||||
// CHECK:STDOUT: %AdaptNotExtend.decl: type = class_decl @AdaptNotExtend [template = constants.%AdaptNotExtend] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] {
|
||||
// CHECK:STDOUT: %AdaptNotExtend.ref: type = name_ref AdaptNotExtend, %AdaptNotExtend.decl [template = constants.%AdaptNotExtend]
|
||||
// CHECK:STDOUT: %a.loc12_6.1: %AdaptNotExtend = param a
|
||||
// CHECK:STDOUT: %a.loc12_6.1: %AdaptNotExtend = param a, runtime_param0
|
||||
// CHECK:STDOUT: @F.2.%a: %AdaptNotExtend = bind_name a, %a.loc12_6.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@ fn Access(d: Derived) -> (i32, i32) {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Access.decl: %Access.type = fn_decl @Access [template = constants.%Access] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc25: type = name_ref Derived, %Derived.decl [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %d.loc25_11.1: %Derived = param d
|
||||
// CHECK:STDOUT: %d.loc25_11.1: %Derived = param d, runtime_param0
|
||||
// CHECK:STDOUT: @Access.%d: %Derived = bind_name d, %d.loc25_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc25_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %int.make_type_32.loc25_32: init type = call constants.%Int32() [template = i32]
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@ fn Access(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: %Access.decl: %Access.type = fn_decl @Access [template = constants.%Access] {
|
||||
// CHECK:STDOUT: %Derived.ref: type = name_ref Derived, %Derived.decl [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %.loc24_21: type = ptr_type %Derived [template = constants.%.8]
|
||||
// CHECK:STDOUT: %p.loc24_11.1: %.8 = param p
|
||||
// CHECK:STDOUT: %p.loc24_11.1: %.8 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @Access.%p: %.8 = bind_name p, %p.loc24_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc24_30.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
|
||||
+3
-3
@@ -77,7 +77,7 @@ fn Call(p: Derived*) {
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [template = constants.%Base]
|
||||
// CHECK:STDOUT: %.loc17_26: type = ptr_type %Base [template = constants.%.3]
|
||||
// CHECK:STDOUT: %self.loc17_16.1: %.3 = param self
|
||||
// CHECK:STDOUT: %self.loc17_16.1: %.3 = param self, runtime_param0
|
||||
// CHECK:STDOUT: @F.%self: %.3 = bind_name self, %self.loc17_16.1
|
||||
// CHECK:STDOUT: @F.%.loc17: %.3 = addr_pattern @F.%self
|
||||
// CHECK:STDOUT: }
|
||||
@@ -85,7 +85,7 @@ fn Call(p: Derived*) {
|
||||
// CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] {
|
||||
// CHECK:STDOUT: %Derived.ref: type = name_ref Derived, %Derived.decl [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %.loc25: type = ptr_type %Derived [template = constants.%.9]
|
||||
// CHECK:STDOUT: %p.loc25_9.1: %.9 = param p
|
||||
// CHECK:STDOUT: %p.loc25_9.1: %.9 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @Call.%p: %.9 = bind_name p, %p.loc25_9.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -98,7 +98,7 @@ fn Call(p: Derived*) {
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [template = constants.%Base]
|
||||
// CHECK:STDOUT: %.loc14_23: type = ptr_type %Base [template = constants.%.3]
|
||||
// CHECK:STDOUT: %self.loc14_13.1: %.3 = param self
|
||||
// CHECK:STDOUT: %self.loc14_13.1: %.3 = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc14_13.3: %.3 = bind_name self, %self.loc14_13.1
|
||||
// CHECK:STDOUT: %.loc14_8: %.3 = addr_pattern %self.loc14_13.3
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -102,7 +102,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: %Derived.decl.loc18: type = class_decl @Derived [template = constants.%Derived] {}
|
||||
// CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc25: type = name_ref Derived, %Derived.decl.loc11 [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %a.loc25_9.1: %Derived = param a
|
||||
// CHECK:STDOUT: %a.loc25_9.1: %Derived = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Call.%a: %Derived = bind_name a, %a.loc25_9.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc25_24.1: type = value_of_initializer %int.make_type_32.loc25 [template = i32]
|
||||
@@ -112,7 +112,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: %CallIndirect.decl: %CallIndirect.type = fn_decl @CallIndirect [template = constants.%CallIndirect] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc29: type = name_ref Derived, %Derived.decl.loc11 [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %.loc29_27: type = ptr_type %Derived [template = constants.%.8]
|
||||
// CHECK:STDOUT: %p.loc29_17.1: %.8 = param p
|
||||
// CHECK:STDOUT: %p.loc29_17.1: %.8 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @CallIndirect.%p: %.8 = bind_name p, %p.loc29_17.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc29: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc29_33.1: type = value_of_initializer %int.make_type_32.loc29 [template = i32]
|
||||
@@ -121,7 +121,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %PassDerivedToBase.decl: %PassDerivedToBase.type = fn_decl @PassDerivedToBase [template = constants.%PassDerivedToBase] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc33: type = name_ref Derived, %Derived.decl.loc11 [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %a.loc33_22.1: %Derived = param a
|
||||
// CHECK:STDOUT: %a.loc33_22.1: %Derived = param a, runtime_param0
|
||||
// CHECK:STDOUT: @PassDerivedToBase.%a: %Derived = bind_name a, %a.loc33_22.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc33: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc33_37.1: type = value_of_initializer %int.make_type_32.loc33 [template = i32]
|
||||
@@ -131,7 +131,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: %PassDerivedToBaseIndirect.decl: %PassDerivedToBaseIndirect.type = fn_decl @PassDerivedToBaseIndirect [template = constants.%PassDerivedToBaseIndirect] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc37: type = name_ref Derived, %Derived.decl.loc11 [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %.loc37_40: type = ptr_type %Derived [template = constants.%.8]
|
||||
// CHECK:STDOUT: %p.loc37_30.1: %.8 = param p
|
||||
// CHECK:STDOUT: %p.loc37_30.1: %.8 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @PassDerivedToBaseIndirect.%p: %.8 = bind_name p, %p.loc37_30.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc37: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc37_46.1: type = value_of_initializer %int.make_type_32.loc37 [template = i32]
|
||||
@@ -145,12 +145,12 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: %.loc19: %.4 = base_decl %Base, element0 [template]
|
||||
// CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] {
|
||||
// CHECK:STDOUT: %Self.ref.loc21: type = name_ref Self, constants.%Derived [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %self.loc21_8.1: %Derived = param self
|
||||
// CHECK:STDOUT: %self.loc21_8.1: %Derived = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc21_8.2: %Derived = bind_name self, %self.loc21_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %G.decl: %G.type.2 = fn_decl @G.2 [template = constants.%G.2] {
|
||||
// CHECK:STDOUT: %Self.ref.loc22: type = name_ref Self, constants.%Derived [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %self.loc22_8.1: %Derived = param self
|
||||
// CHECK:STDOUT: %self.loc22_8.1: %Derived = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc22_8.2: %Derived = bind_name self, %self.loc22_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -165,7 +165,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: class @Base {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] {
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [template = constants.%Base]
|
||||
// CHECK:STDOUT: %self.loc14_8.1: %Base = param self
|
||||
// CHECK:STDOUT: %self.loc14_8.1: %Base = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc14_8.2: %Base = bind_name self, %self.loc14_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc14: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc14_25.1: type = value_of_initializer %int.make_type_32.loc14 [template = i32]
|
||||
@@ -174,7 +174,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %G.decl: %G.type.1 = fn_decl @G.1 [template = constants.%G.1] {
|
||||
// CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc11 [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %self.loc15_8.1: %Derived = param self
|
||||
// CHECK:STDOUT: %self.loc15_8.1: %Derived = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc15_8.2: %Derived = bind_name self, %self.loc15_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc15_28.1: type = value_of_initializer %int.make_type_32.loc15 [template = i32]
|
||||
|
||||
@@ -96,19 +96,19 @@ fn Call(a: A*, b: B*, c: C*, d: D*) {
|
||||
// CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] {
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, %A.decl [template = constants.%A]
|
||||
// CHECK:STDOUT: %.loc29_13: type = ptr_type %A [template = constants.%.1]
|
||||
// CHECK:STDOUT: %a.loc29_9.1: %.1 = param a
|
||||
// CHECK:STDOUT: %a.loc29_9.1: %.1 = param a, runtime_param0
|
||||
// CHECK:STDOUT: @Call.%a: %.1 = bind_name a, %a.loc29_9.1
|
||||
// CHECK:STDOUT: %B.ref: type = name_ref B, %B.decl [template = constants.%B]
|
||||
// CHECK:STDOUT: %.loc29_20: type = ptr_type %B [template = constants.%.6]
|
||||
// CHECK:STDOUT: %b.loc29_16.1: %.6 = param b
|
||||
// CHECK:STDOUT: %b.loc29_16.1: %.6 = param b, runtime_param1
|
||||
// CHECK:STDOUT: @Call.%b: %.6 = bind_name b, %b.loc29_16.1
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %.loc29_27: type = ptr_type %C [template = constants.%.11]
|
||||
// CHECK:STDOUT: %c.loc29_23.1: %.11 = param c
|
||||
// CHECK:STDOUT: %c.loc29_23.1: %.11 = param c, runtime_param2
|
||||
// CHECK:STDOUT: @Call.%c: %.11 = bind_name c, %c.loc29_23.1
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, %D.decl [template = constants.%D]
|
||||
// CHECK:STDOUT: %.loc29_34: type = ptr_type %D [template = constants.%.14]
|
||||
// CHECK:STDOUT: %d.loc29_30.1: %.14 = param d
|
||||
// CHECK:STDOUT: %d.loc29_30.1: %.14 = param d, runtime_param3
|
||||
// CHECK:STDOUT: @Call.%d: %.14 = bind_name d, %d.loc29_30.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -117,7 +117,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] {
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%A [template = constants.%A]
|
||||
// CHECK:STDOUT: %.loc12_23: type = ptr_type %A [template = constants.%.1]
|
||||
// CHECK:STDOUT: %self.loc12_13.1: %.1 = param self
|
||||
// CHECK:STDOUT: %self.loc12_13.1: %.1 = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc12_13.3: %.1 = bind_name self, %self.loc12_13.1
|
||||
// CHECK:STDOUT: %.loc12_8: %.1 = addr_pattern %self.loc12_13.3
|
||||
// CHECK:STDOUT: }
|
||||
@@ -133,7 +133,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] {
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%B [template = constants.%B]
|
||||
// CHECK:STDOUT: %.loc17_23: type = ptr_type %B [template = constants.%.6]
|
||||
// CHECK:STDOUT: %self.loc17_13.1: %.6 = param self
|
||||
// CHECK:STDOUT: %self.loc17_13.1: %.6 = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc17_13.3: %.6 = bind_name self, %self.loc17_13.1
|
||||
// CHECK:STDOUT: %.loc17_8: %.6 = addr_pattern %self.loc17_13.3
|
||||
// CHECK:STDOUT: }
|
||||
@@ -151,7 +151,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.3 = fn_decl @F.3 [template = constants.%F.3] {
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [template = constants.%C]
|
||||
// CHECK:STDOUT: %.loc22_23: type = ptr_type %C [template = constants.%.11]
|
||||
// CHECK:STDOUT: %self.loc22_13.1: %.11 = param self
|
||||
// CHECK:STDOUT: %self.loc22_13.1: %.11 = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc22_13.3: %.11 = bind_name self, %self.loc22_13.1
|
||||
// CHECK:STDOUT: %.loc22_8: %.11 = addr_pattern %self.loc22_13.3
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+3
-3
@@ -72,7 +72,7 @@ fn Run() -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc21_15: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc21_15.1: type = value_of_initializer %int.make_type_32.loc21_15 [template = i32]
|
||||
// CHECK:STDOUT: %.loc21_15.2: type = converted %int.make_type_32.loc21_15, %.loc21_15.1 [template = i32]
|
||||
// CHECK:STDOUT: %n.loc21_12.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc21_12.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: @G.%n: i32 = bind_name n, %n.loc21_12.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc21_23: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc21_23.1: type = value_of_initializer %int.make_type_32.loc21_23 [template = i32]
|
||||
@@ -92,7 +92,7 @@ fn Run() -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc12_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_11.1: type = value_of_initializer %int.make_type_32.loc12_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_11.2: type = converted %int.make_type_32.loc12_11, %.loc12_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %n.loc12_8.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc12_8.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: %n.loc12_8.2: i32 = bind_name n, %n.loc12_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc12_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_19.1: type = value_of_initializer %int.make_type_32.loc12_19 [template = i32]
|
||||
@@ -103,7 +103,7 @@ fn Run() -> i32 {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_11.1: type = value_of_initializer %int.make_type_32.loc16_11 [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_11.2: type = converted %int.make_type_32.loc16_11, %.loc16_11.1 [template = i32]
|
||||
// CHECK:STDOUT: %n.loc16_8.1: i32 = param n
|
||||
// CHECK:STDOUT: %n.loc16_8.1: i32 = param n, runtime_param0
|
||||
// CHECK:STDOUT: %n.loc16_8.2: i32 = bind_name n, %n.loc16_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32]
|
||||
|
||||
@@ -55,7 +55,7 @@ class C {
|
||||
// CHECK:STDOUT: class @C {
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %c.loc12_8.1: %C = param c
|
||||
// CHECK:STDOUT: %c.loc12_8.1: %C = param c, runtime_param0
|
||||
// CHECK:STDOUT: %c.loc12_8.2: %C = bind_name c, %c.loc12_8.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc12_17.1: type = value_of_initializer %int.make_type_32.loc12 [template = i32]
|
||||
|
||||
+4
-4
@@ -96,7 +96,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {}
|
||||
// CHECK:STDOUT: %AccessDerived.decl: %AccessDerived.type = fn_decl @AccessDerived [template = constants.%AccessDerived] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc24: type = name_ref Derived, %Derived.decl [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %d.loc24_18.1: %Derived = param d
|
||||
// CHECK:STDOUT: %d.loc24_18.1: %Derived = param d, runtime_param0
|
||||
// CHECK:STDOUT: @AccessDerived.%d: %Derived = bind_name d, %d.loc24_18.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc24: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc24_33.1: type = value_of_initializer %int.make_type_32.loc24 [template = i32]
|
||||
@@ -105,7 +105,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %AccessBase.decl: %AccessBase.type = fn_decl @AccessBase [template = constants.%AccessBase] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc28: type = name_ref Derived, %Derived.decl [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %d.loc28_15.1: %Derived = param d
|
||||
// CHECK:STDOUT: %d.loc28_15.1: %Derived = param d, runtime_param0
|
||||
// CHECK:STDOUT: @AccessBase.%d: %Derived = bind_name d, %d.loc28_15.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc28: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc28_30.1: type = value_of_initializer %int.make_type_32.loc28 [template = i32]
|
||||
@@ -115,7 +115,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: %AccessDerivedIndirect.decl: %AccessDerivedIndirect.type = fn_decl @AccessDerivedIndirect [template = constants.%AccessDerivedIndirect] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc32: type = name_ref Derived, %Derived.decl [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %.loc32_36: type = ptr_type %Derived [template = constants.%.11]
|
||||
// CHECK:STDOUT: %p.loc32_26.1: %.11 = param p
|
||||
// CHECK:STDOUT: %p.loc32_26.1: %.11 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessDerivedIndirect.%p: %.11 = bind_name p, %p.loc32_26.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc32_45.1: type = value_of_initializer %int.make_type_32.loc32 [template = i32]
|
||||
@@ -126,7 +126,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* {
|
||||
// CHECK:STDOUT: %AccessBaseIndirect.decl: %AccessBaseIndirect.type = fn_decl @AccessBaseIndirect [template = constants.%AccessBaseIndirect] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc36: type = name_ref Derived, %Derived.decl [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %.loc36_33: type = ptr_type %Derived [template = constants.%.11]
|
||||
// CHECK:STDOUT: %p.loc36_23.1: %.11 = param p
|
||||
// CHECK:STDOUT: %p.loc36_23.1: %.11 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessBaseIndirect.%p: %.11 = bind_name p, %p.loc36_23.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc36: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc36_42.1: type = value_of_initializer %int.make_type_32.loc36 [template = i32]
|
||||
|
||||
+5
-5
@@ -122,7 +122,7 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: %ConvertCToB.decl: %ConvertCToB.type = fn_decl @ConvertCToB [template = constants.%ConvertCToB] {
|
||||
// CHECK:STDOUT: %C.ref.loc25: type = name_ref C, %C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %.loc25_20: type = ptr_type %C [template = constants.%.14]
|
||||
// CHECK:STDOUT: %p.loc25_16.1: %.14 = param p
|
||||
// CHECK:STDOUT: %p.loc25_16.1: %.14 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertCToB.%p: %.14 = bind_name p, %p.loc25_16.1
|
||||
// CHECK:STDOUT: %B.ref.loc25: type = name_ref B, %B.decl [template = constants.%B]
|
||||
// CHECK:STDOUT: %.loc25_27: type = ptr_type %B [template = constants.%.15]
|
||||
@@ -131,7 +131,7 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: %ConvertBToA.decl: %ConvertBToA.type = fn_decl @ConvertBToA [template = constants.%ConvertBToA] {
|
||||
// CHECK:STDOUT: %B.ref.loc26: type = name_ref B, %B.decl [template = constants.%B]
|
||||
// CHECK:STDOUT: %.loc26_20: type = ptr_type %B [template = constants.%.15]
|
||||
// CHECK:STDOUT: %p.loc26_16.1: %.15 = param p
|
||||
// CHECK:STDOUT: %p.loc26_16.1: %.15 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertBToA.%p: %.15 = bind_name p, %p.loc26_16.1
|
||||
// CHECK:STDOUT: %A.ref.loc26: type = name_ref A, %A.decl [template = constants.%A]
|
||||
// CHECK:STDOUT: %.loc26_27: type = ptr_type %A [template = constants.%.19]
|
||||
@@ -140,7 +140,7 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: %ConvertCToA.decl: %ConvertCToA.type = fn_decl @ConvertCToA [template = constants.%ConvertCToA] {
|
||||
// CHECK:STDOUT: %C.ref.loc27: type = name_ref C, %C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %.loc27_20: type = ptr_type %C [template = constants.%.14]
|
||||
// CHECK:STDOUT: %p.loc27_16.1: %.14 = param p
|
||||
// CHECK:STDOUT: %p.loc27_16.1: %.14 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertCToA.%p: %.14 = bind_name p, %p.loc27_16.1
|
||||
// CHECK:STDOUT: %A.ref.loc27: type = name_ref A, %A.decl [template = constants.%A]
|
||||
// CHECK:STDOUT: %.loc27_27: type = ptr_type %A [template = constants.%.19]
|
||||
@@ -148,13 +148,13 @@ fn ConvertInit() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %ConvertValue.decl: %ConvertValue.type = fn_decl @ConvertValue [template = constants.%ConvertValue] {
|
||||
// CHECK:STDOUT: %C.ref.loc29: type = name_ref C, %C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %c.loc29_17.1: %C = param c
|
||||
// CHECK:STDOUT: %c.loc29_17.1: %C = param c, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertValue.%c: %C = bind_name c, %c.loc29_17.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %ConvertRef.decl: %ConvertRef.type = fn_decl @ConvertRef [template = constants.%ConvertRef] {
|
||||
// CHECK:STDOUT: %C.ref.loc33: type = name_ref C, %C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %.loc33_19: type = ptr_type %C [template = constants.%.14]
|
||||
// CHECK:STDOUT: %c.loc33_15.1: %.14 = param c
|
||||
// CHECK:STDOUT: %c.loc33_15.1: %.14 = param c, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertRef.%c: %.14 = bind_name c, %c.loc33_15.1
|
||||
// CHECK:STDOUT: %A.ref.loc33: type = name_ref A, %A.decl [template = constants.%A]
|
||||
// CHECK:STDOUT: %.loc33_26: type = ptr_type %A [template = constants.%.19]
|
||||
|
||||
+8
-8
@@ -146,12 +146,12 @@ class StructAdapter {
|
||||
// CHECK:STDOUT: %SomeClassAdapter.decl.loc15: type = class_decl @SomeClassAdapter [template = constants.%SomeClassAdapter] {}
|
||||
// CHECK:STDOUT: %TestStaticMemberFunction.decl: %TestStaticMemberFunction.type = fn_decl @TestStaticMemberFunction [template = constants.%TestStaticMemberFunction] {
|
||||
// CHECK:STDOUT: %SomeClassAdapter.ref.loc19: type = name_ref SomeClassAdapter, %SomeClassAdapter.decl.loc4 [template = constants.%SomeClassAdapter]
|
||||
// CHECK:STDOUT: %a.loc19_29.1: %SomeClassAdapter = param a
|
||||
// CHECK:STDOUT: %a.loc19_29.1: %SomeClassAdapter = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TestStaticMemberFunction.%a: %SomeClassAdapter = bind_name a, %a.loc19_29.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %TestAdapterMethod.decl: %TestAdapterMethod.type = fn_decl @TestAdapterMethod [template = constants.%TestAdapterMethod] {
|
||||
// CHECK:STDOUT: %SomeClassAdapter.ref.loc23: type = name_ref SomeClassAdapter, %SomeClassAdapter.decl.loc4 [template = constants.%SomeClassAdapter]
|
||||
// CHECK:STDOUT: %a.loc23_22.1: %SomeClassAdapter = param a
|
||||
// CHECK:STDOUT: %a.loc23_22.1: %SomeClassAdapter = param a, runtime_param0
|
||||
// CHECK:STDOUT: @TestAdapterMethod.%a: %SomeClassAdapter = bind_name a, %a.loc23_22.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -177,7 +177,7 @@ class StructAdapter {
|
||||
// CHECK:STDOUT: %StaticMemberFunction.decl: %StaticMemberFunction.type = fn_decl @StaticMemberFunction [template = constants.%StaticMemberFunction] {}
|
||||
// CHECK:STDOUT: %AdapterMethod.decl: %AdapterMethod.type = fn_decl @AdapterMethod [template = constants.%AdapterMethod] {
|
||||
// CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, file.%SomeClassAdapter.decl.loc4 [template = constants.%SomeClassAdapter]
|
||||
// CHECK:STDOUT: %self.loc12_20.1: %SomeClassAdapter = param self
|
||||
// CHECK:STDOUT: %self.loc12_20.1: %SomeClassAdapter = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc12_20.2: %SomeClassAdapter = bind_name self, %self.loc12_20.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -274,7 +274,7 @@ class StructAdapter {
|
||||
// CHECK:STDOUT: %SomeClassAdapter.decl: type = class_decl @SomeClassAdapter [template = constants.%SomeClassAdapter] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] {
|
||||
// CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, %SomeClassAdapter.decl [template = constants.%SomeClassAdapter]
|
||||
// CHECK:STDOUT: %a.loc12_6.1: %SomeClassAdapter = param a
|
||||
// CHECK:STDOUT: %a.loc12_6.1: %SomeClassAdapter = param a, runtime_param0
|
||||
// CHECK:STDOUT: @F.2.%a: %SomeClassAdapter = bind_name a, %a.loc12_6.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -301,7 +301,7 @@ class StructAdapter {
|
||||
// CHECK:STDOUT: class @SomeClass {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] {
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%SomeClass [template = constants.%SomeClass]
|
||||
// CHECK:STDOUT: %self.loc5_8.1: %SomeClass = param self
|
||||
// CHECK:STDOUT: %self.loc5_8.1: %SomeClass = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc5_8.2: %SomeClass = bind_name self, %self.loc5_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -326,7 +326,7 @@ class StructAdapter {
|
||||
// CHECK:STDOUT: %a.ref: %SomeClassAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %F.ref: %F.type.1 = name_ref F, @SomeClass.%F.decl [template = constants.%F.1]
|
||||
// CHECK:STDOUT: %.loc23_4: <bound method> = bound_method %a.ref, %F.ref
|
||||
// CHECK:STDOUT: %.loc23_6.1: init type = call constants.%ImplicitAs(constants.%SomeClass) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc23_6.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%SomeClass) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc23_6.2: %.8 = specific_constant imports.%import_ref.3, @ImplicitAs(constants.%SomeClass) [template = constants.%.9]
|
||||
// CHECK:STDOUT: %Convert.ref: %.8 = name_ref Convert, %.loc23_6.2 [template = constants.%.9]
|
||||
// CHECK:STDOUT: %.loc23_6.3: %SomeClass = converted %a.ref, <error> [template = <error>]
|
||||
@@ -437,7 +437,7 @@ class StructAdapter {
|
||||
// CHECK:STDOUT: %SomeClassAdapter.decl: type = class_decl @SomeClassAdapter [template = constants.%SomeClassAdapter] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, %SomeClassAdapter.decl [template = constants.%SomeClassAdapter]
|
||||
// CHECK:STDOUT: %a.loc13_6.1: %SomeClassAdapter = param a
|
||||
// CHECK:STDOUT: %a.loc13_6.1: %SomeClassAdapter = param a, runtime_param0
|
||||
// CHECK:STDOUT: @F.%a: %SomeClassAdapter = bind_name a, %a.loc13_6.1
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc13_30.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
@@ -496,7 +496,7 @@ class StructAdapter {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %SomeClassAdapter = name_ref a, %a
|
||||
// CHECK:STDOUT: %b.ref: %.2 = name_ref b, @SomeClass.%.loc6_8 [template = @SomeClass.%.loc6_8]
|
||||
// CHECK:STDOUT: %.loc21_11.1: init type = call constants.%ImplicitAs(constants.%SomeClass) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc21_11.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%SomeClass) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc21_11.2: %.9 = specific_constant imports.%import_ref.4, @ImplicitAs(constants.%SomeClass) [template = constants.%.10]
|
||||
// CHECK:STDOUT: %Convert.ref: %.9 = name_ref Convert, %.loc21_11.2 [template = constants.%.10]
|
||||
// CHECK:STDOUT: %.loc21_11.3: %SomeClass = converted %a.ref, <error> [template = <error>]
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ fn Access(d: Derived) -> (i32, i32) {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Access.decl: %Access.type = fn_decl @Access [template = constants.%Access] {
|
||||
// CHECK:STDOUT: %Derived.ref.loc29: type = name_ref Derived, %Derived.decl [template = constants.%Derived]
|
||||
// CHECK:STDOUT: %d.loc29_11.1: %Derived = param d
|
||||
// CHECK:STDOUT: %d.loc29_11.1: %Derived = param d, runtime_param0
|
||||
// CHECK:STDOUT: @Access.%d: %Derived = bind_name d, %d.loc29_11.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc29_27: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %int.make_type_32.loc29_32: init type = call constants.%Int32() [template = i32]
|
||||
|
||||
@@ -158,7 +158,7 @@ class C {
|
||||
// CHECK:STDOUT: %Bad.decl: type = class_decl @Bad [template = constants.%Bad] {}
|
||||
// CHECK:STDOUT: %Use.decl: %Use.type = fn_decl @Use [template = constants.%Use] {
|
||||
// CHECK:STDOUT: %Bad.ref: type = name_ref Bad, %Bad.decl [template = constants.%Bad]
|
||||
// CHECK:STDOUT: %b.loc19_8.1: %Bad = param b
|
||||
// CHECK:STDOUT: %b.loc19_8.1: %Bad = param b, runtime_param0
|
||||
// CHECK:STDOUT: @Use.%b: %Bad = bind_name b, %b.loc19_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -184,7 +184,7 @@ class C {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @Bad {
|
||||
// CHECK:STDOUT: %.loc12_9: i32 = int_literal 100 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %.loc12_12.1: init type = call constants.%ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc12_12.1: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc12_12.2: %.7 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %Convert.ref: %.7 = name_ref Convert, %.loc12_12.2 [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc12_12.3: type = converted %.loc12_9, <error> [template = <error>]
|
||||
@@ -295,7 +295,7 @@ class C {
|
||||
// CHECK:STDOUT: %Bad.decl: type = class_decl @Bad [template = constants.%Bad] {}
|
||||
// CHECK:STDOUT: %Use.decl: %Use.type = fn_decl @Use [template = constants.%Use] {
|
||||
// CHECK:STDOUT: %Bad.ref: type = name_ref Bad, %Bad.decl [template = constants.%Bad]
|
||||
// CHECK:STDOUT: %b.loc16_8.1: %Bad = param b
|
||||
// CHECK:STDOUT: %b.loc16_8.1: %Bad = param b, runtime_param0
|
||||
// CHECK:STDOUT: @Use.%b: %Bad = bind_name b, %b.loc16_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -321,7 +321,7 @@ class C {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @Bad {
|
||||
// CHECK:STDOUT: %.loc12_16: i32 = int_literal 100 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %.loc12_19.1: init type = call constants.%ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc12_19.1: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc12_19.2: %.7 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %Convert.ref: %.7 = name_ref Convert, %.loc12_19.2 [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc12_19.3: type = converted %.loc12_16, <error> [template = <error>]
|
||||
|
||||
@@ -60,13 +60,13 @@ class Class {
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %Class.ref.loc16: type = name_ref Class, file.%Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc16: type = ptr_type %Class [template = constants.%.1]
|
||||
// CHECK:STDOUT: %a.loc16_13.1: %.1 = param a
|
||||
// CHECK:STDOUT: %a.loc16_13.1: %.1 = param a, runtime_param0
|
||||
// CHECK:STDOUT: %a.loc16_13.2: %.1 = bind_name a, %a.loc16_13.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {
|
||||
// CHECK:STDOUT: %Class.ref.loc21: type = name_ref Class, file.%Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc21: type = ptr_type %Class [template = constants.%.1]
|
||||
// CHECK:STDOUT: %b.loc21_13.1: %.1 = param b
|
||||
// CHECK:STDOUT: %b.loc21_13.1: %.1 = param b, runtime_param0
|
||||
// CHECK:STDOUT: %b.loc21_13.2: %.1 = bind_name b, %b.loc21_13.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+5
-5
@@ -109,11 +109,11 @@ fn F(c: Class, p: Class*) {
|
||||
// CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] {
|
||||
// CHECK:STDOUT: %Class.ref.loc16_9: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %c.loc16_6.1: %Class = param c
|
||||
// CHECK:STDOUT: %c.loc16_6.1: %Class = param c, runtime_param0
|
||||
// CHECK:STDOUT: @F.2.%c: %Class = bind_name c, %c.loc16_6.1
|
||||
// CHECK:STDOUT: %Class.ref.loc16_19: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc16: type = ptr_type %Class [template = constants.%.1]
|
||||
// CHECK:STDOUT: %p.loc16_16.1: %.1 = param p
|
||||
// CHECK:STDOUT: %p.loc16_16.1: %.1 = param p, runtime_param1
|
||||
// CHECK:STDOUT: @F.2.%p: %.1 = bind_name p, %p.loc16_16.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -141,13 +141,13 @@ fn F(c: Class, p: Class*) {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] {
|
||||
// CHECK:STDOUT: %Class.ref.loc12: type = name_ref Class, file.%Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc12_24: type = ptr_type %Class [template = constants.%.1]
|
||||
// CHECK:STDOUT: %self.loc12_13.1: %.1 = param self
|
||||
// CHECK:STDOUT: %self.loc12_13.1: %.1 = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc12_13.3: %.1 = bind_name self, %self.loc12_13.1
|
||||
// CHECK:STDOUT: %.loc12_8: %.1 = addr_pattern %self.loc12_13.3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {
|
||||
// CHECK:STDOUT: %Class.ref.loc13: type = name_ref Class, file.%Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %self.loc13_13.1: %Class = param self
|
||||
// CHECK:STDOUT: %self.loc13_13.1: %Class = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc13_13.3: %Class = bind_name self, %self.loc13_13.1
|
||||
// CHECK:STDOUT: %.loc13: %Class = addr_pattern %self.loc13_13.3
|
||||
// CHECK:STDOUT: }
|
||||
@@ -183,7 +183,7 @@ fn F(c: Class, p: Class*) {
|
||||
// CHECK:STDOUT: %G.ref.loc47: %G.type = name_ref G, @Class.%G.decl [template = constants.%G]
|
||||
// CHECK:STDOUT: %.loc47_7: <bound method> = bound_method %.loc47_4.1, %G.ref.loc47
|
||||
// CHECK:STDOUT: %.loc47_4.2: %.1 = addr_of %.loc47_4.1
|
||||
// CHECK:STDOUT: %.loc47_9.1: init type = call constants.%ImplicitAs(constants.%Class) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc47_9.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%Class) [template = constants.%.8]
|
||||
// CHECK:STDOUT: %.loc47_9.2: %.9 = specific_constant imports.%import_ref.3, @ImplicitAs(constants.%Class) [template = constants.%.10]
|
||||
// CHECK:STDOUT: %Convert.ref: %.9 = name_ref Convert, %.loc47_9.2 [template = constants.%.10]
|
||||
// CHECK:STDOUT: %.loc47_9.3: %Class = converted %.loc47_4.2, <error> [template = <error>]
|
||||
|
||||
+18
-18
@@ -309,7 +309,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %AccessMemberWithInvalidBaseError.decl: %AccessMemberWithInvalidBaseError.type = fn_decl @AccessMemberWithInvalidBaseError [template = constants.%AccessMemberWithInvalidBaseError] {
|
||||
// CHECK:STDOUT: %DeriveFromError.ref: type = name_ref DeriveFromError, %DeriveFromError.decl [template = constants.%DeriveFromError]
|
||||
// CHECK:STDOUT: %.loc25_55: type = ptr_type %DeriveFromError [template = constants.%.5]
|
||||
// CHECK:STDOUT: %p.loc25_37.1: %.5 = param p
|
||||
// CHECK:STDOUT: %p.loc25_37.1: %.5 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessMemberWithInvalidBaseError.%p: %.5 = bind_name p, %p.loc25_37.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc25: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc25_61.1: type = value_of_initializer %int.make_type_32.loc25 [template = i32]
|
||||
@@ -320,7 +320,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %AccessMemberWithInvalidBasNonType.decl: %AccessMemberWithInvalidBasNonType.type = fn_decl @AccessMemberWithInvalidBasNonType [template = constants.%AccessMemberWithInvalidBasNonType] {
|
||||
// CHECK:STDOUT: %DeriveFromNonType.ref: type = name_ref DeriveFromNonType, %DeriveFromNonType.decl [template = constants.%DeriveFromNonType]
|
||||
// CHECK:STDOUT: %.loc38_58: type = ptr_type %DeriveFromNonType [template = constants.%.14]
|
||||
// CHECK:STDOUT: %p.loc38_38.1: %.14 = param p
|
||||
// CHECK:STDOUT: %p.loc38_38.1: %.14 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessMemberWithInvalidBasNonType.%p: %.14 = bind_name p, %p.loc38_38.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc38: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc38_64.1: type = value_of_initializer %int.make_type_32.loc38 [template = i32]
|
||||
@@ -331,7 +331,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %ConvertToBadBasei32.decl: %ConvertToBadBasei32.type = fn_decl @ConvertToBadBasei32 [template = constants.%ConvertToBadBasei32] {
|
||||
// CHECK:STDOUT: %DeriveFromi32.ref.loc57: type = name_ref DeriveFromi32, %DeriveFromi32.decl [template = constants.%DeriveFromi32]
|
||||
// CHECK:STDOUT: %.loc57_40: type = ptr_type %DeriveFromi32 [template = constants.%.15]
|
||||
// CHECK:STDOUT: %p.loc57_24.1: %.15 = param p
|
||||
// CHECK:STDOUT: %p.loc57_24.1: %.15 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertToBadBasei32.%p: %.15 = bind_name p, %p.loc57_24.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc57: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc57_49.1: type = value_of_initializer %int.make_type_32.loc57 [template = i32]
|
||||
@@ -342,7 +342,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %AccessMemberWithInvalidBasei32.decl: %AccessMemberWithInvalidBasei32.type = fn_decl @AccessMemberWithInvalidBasei32 [template = constants.%AccessMemberWithInvalidBasei32] {
|
||||
// CHECK:STDOUT: %DeriveFromi32.ref.loc59: type = name_ref DeriveFromi32, %DeriveFromi32.decl [template = constants.%DeriveFromi32]
|
||||
// CHECK:STDOUT: %.loc59_51: type = ptr_type %DeriveFromi32 [template = constants.%.15]
|
||||
// CHECK:STDOUT: %p.loc59_35.1: %.15 = param p
|
||||
// CHECK:STDOUT: %p.loc59_35.1: %.15 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessMemberWithInvalidBasei32.%p: %.15 = bind_name p, %p.loc59_35.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc59: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc59_57.1: type = value_of_initializer %int.make_type_32.loc59 [template = i32]
|
||||
@@ -353,7 +353,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %ConvertToBadBaseTuple.decl: %ConvertToBadBaseTuple.type = fn_decl @ConvertToBadBaseTuple [template = constants.%ConvertToBadBaseTuple] {
|
||||
// CHECK:STDOUT: %DeriveFromTuple.ref.loc76: type = name_ref DeriveFromTuple, %DeriveFromTuple.decl [template = constants.%DeriveFromTuple]
|
||||
// CHECK:STDOUT: %.loc76_44: type = ptr_type %DeriveFromTuple [template = constants.%.24]
|
||||
// CHECK:STDOUT: %p.loc76_26.1: %.24 = param p
|
||||
// CHECK:STDOUT: %p.loc76_26.1: %.24 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertToBadBaseTuple.%p: %.24 = bind_name p, %p.loc76_26.1
|
||||
// CHECK:STDOUT: %Base.ref: type = name_ref Base, %Base.decl [template = constants.%Base]
|
||||
// CHECK:STDOUT: %.loc76_56: %.20 = tuple_literal (%Base.ref)
|
||||
@@ -364,7 +364,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %AccessMemberWithInvalidBaseTuple.decl: %AccessMemberWithInvalidBaseTuple.type = fn_decl @AccessMemberWithInvalidBaseTuple [template = constants.%AccessMemberWithInvalidBaseTuple] {
|
||||
// CHECK:STDOUT: %DeriveFromTuple.ref.loc78: type = name_ref DeriveFromTuple, %DeriveFromTuple.decl [template = constants.%DeriveFromTuple]
|
||||
// CHECK:STDOUT: %.loc78_55: type = ptr_type %DeriveFromTuple [template = constants.%.24]
|
||||
// CHECK:STDOUT: %p.loc78_37.1: %.24 = param p
|
||||
// CHECK:STDOUT: %p.loc78_37.1: %.24 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessMemberWithInvalidBaseTuple.%p: %.24 = bind_name p, %p.loc78_37.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc78: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc78_61.1: type = value_of_initializer %int.make_type_32.loc78 [template = i32]
|
||||
@@ -375,7 +375,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %ConvertToBadBaseStruct.decl: %ConvertToBadBaseStruct.type = fn_decl @ConvertToBadBaseStruct [template = constants.%ConvertToBadBaseStruct] {
|
||||
// CHECK:STDOUT: %DeriveFromStruct.ref.loc97: type = name_ref DeriveFromStruct, %DeriveFromStruct.decl [template = constants.%DeriveFromStruct]
|
||||
// CHECK:STDOUT: %.loc97_46: type = ptr_type %DeriveFromStruct [template = constants.%.31]
|
||||
// CHECK:STDOUT: %p.loc97_27.1: %.31 = param p
|
||||
// CHECK:STDOUT: %p.loc97_27.1: %.31 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertToBadBaseStruct.%p: %.31 = bind_name p, %p.loc97_27.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc97_57: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc97_57.1: type = value_of_initializer %int.make_type_32.loc97_57 [template = i32]
|
||||
@@ -390,7 +390,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %AccessMemberWithInvalidBaseStruct.decl: %AccessMemberWithInvalidBaseStruct.type = fn_decl @AccessMemberWithInvalidBaseStruct [template = constants.%AccessMemberWithInvalidBaseStruct] {
|
||||
// CHECK:STDOUT: %DeriveFromStruct.ref.loc100: type = name_ref DeriveFromStruct, %DeriveFromStruct.decl [template = constants.%DeriveFromStruct]
|
||||
// CHECK:STDOUT: %.loc100_57: type = ptr_type %DeriveFromStruct [template = constants.%.31]
|
||||
// CHECK:STDOUT: %p.loc100_38.1: %.31 = param p
|
||||
// CHECK:STDOUT: %p.loc100_38.1: %.31 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessMemberWithInvalidBaseStruct.%p: %.31 = bind_name p, %p.loc100_38.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc100: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc100_63.1: type = value_of_initializer %int.make_type_32.loc100 [template = i32]
|
||||
@@ -402,7 +402,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %ConvertToBadBaseIncomplete.decl: %ConvertToBadBaseIncomplete.type = fn_decl @ConvertToBadBaseIncomplete [template = constants.%ConvertToBadBaseIncomplete] {
|
||||
// CHECK:STDOUT: %DeriveFromIncomplete.ref.loc122: type = name_ref DeriveFromIncomplete, %DeriveFromIncomplete.decl [template = constants.%DeriveFromIncomplete]
|
||||
// CHECK:STDOUT: %.loc122_54: type = ptr_type %DeriveFromIncomplete [template = constants.%.35]
|
||||
// CHECK:STDOUT: %p.loc122_31.1: %.35 = param p
|
||||
// CHECK:STDOUT: %p.loc122_31.1: %.35 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertToBadBaseIncomplete.%p: %.35 = bind_name p, %p.loc122_31.1
|
||||
// CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, %Incomplete.decl [template = constants.%Incomplete]
|
||||
// CHECK:STDOUT: %.loc122_70: type = ptr_type %Incomplete [template = constants.%.36]
|
||||
@@ -411,7 +411,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %AccessMemberWithInvalidBaseIncomplete.decl: %AccessMemberWithInvalidBaseIncomplete.type = fn_decl @AccessMemberWithInvalidBaseIncomplete [template = constants.%AccessMemberWithInvalidBaseIncomplete] {
|
||||
// CHECK:STDOUT: %DeriveFromIncomplete.ref.loc124: type = name_ref DeriveFromIncomplete, %DeriveFromIncomplete.decl [template = constants.%DeriveFromIncomplete]
|
||||
// CHECK:STDOUT: %.loc124_65: type = ptr_type %DeriveFromIncomplete [template = constants.%.35]
|
||||
// CHECK:STDOUT: %p.loc124_42.1: %.35 = param p
|
||||
// CHECK:STDOUT: %p.loc124_42.1: %.35 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessMemberWithInvalidBaseIncomplete.%p: %.35 = bind_name p, %p.loc124_42.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc124: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc124_71.1: type = value_of_initializer %int.make_type_32.loc124 [template = i32]
|
||||
@@ -422,7 +422,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %ConvertToBadBaseFinal.decl: %ConvertToBadBaseFinal.type = fn_decl @ConvertToBadBaseFinal [template = constants.%ConvertToBadBaseFinal] {
|
||||
// CHECK:STDOUT: %DeriveFromFinal.ref.loc135: type = name_ref DeriveFromFinal, %DeriveFromFinal.decl [template = constants.%DeriveFromFinal]
|
||||
// CHECK:STDOUT: %.loc135_44: type = ptr_type %DeriveFromFinal [template = constants.%.43]
|
||||
// CHECK:STDOUT: %p.loc135_26.1: %.43 = param p
|
||||
// CHECK:STDOUT: %p.loc135_26.1: %.43 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertToBadBaseFinal.%p: %.43 = bind_name p, %p.loc135_26.1
|
||||
// CHECK:STDOUT: %Final.ref: type = name_ref Final, %Final.decl [template = constants.%Final]
|
||||
// CHECK:STDOUT: %.loc135_55: type = ptr_type %Final [template = constants.%.44]
|
||||
@@ -431,7 +431,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %AccessMemberWithInvalidBaseFinal_WithMember.decl: %AccessMemberWithInvalidBaseFinal_WithMember.type = fn_decl @AccessMemberWithInvalidBaseFinal_WithMember [template = constants.%AccessMemberWithInvalidBaseFinal_WithMember] {
|
||||
// CHECK:STDOUT: %DeriveFromFinal.ref.loc139: type = name_ref DeriveFromFinal, %DeriveFromFinal.decl [template = constants.%DeriveFromFinal]
|
||||
// CHECK:STDOUT: %.loc139_66: type = ptr_type %DeriveFromFinal [template = constants.%.43]
|
||||
// CHECK:STDOUT: %p.loc139_48.1: %.43 = param p
|
||||
// CHECK:STDOUT: %p.loc139_48.1: %.43 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessMemberWithInvalidBaseFinal_WithMember.%p: %.43 = bind_name p, %p.loc139_48.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc139: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc139_72.1: type = value_of_initializer %int.make_type_32.loc139 [template = i32]
|
||||
@@ -441,7 +441,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: %AccessMemberWithInvalidBaseFinal_NoMember.decl: %AccessMemberWithInvalidBaseFinal_NoMember.type = fn_decl @AccessMemberWithInvalidBaseFinal_NoMember [template = constants.%AccessMemberWithInvalidBaseFinal_NoMember] {
|
||||
// CHECK:STDOUT: %DeriveFromFinal.ref.loc143: type = name_ref DeriveFromFinal, %DeriveFromFinal.decl [template = constants.%DeriveFromFinal]
|
||||
// CHECK:STDOUT: %.loc143_64: type = ptr_type %DeriveFromFinal [template = constants.%.43]
|
||||
// CHECK:STDOUT: %p.loc143_46.1: %.43 = param p
|
||||
// CHECK:STDOUT: %p.loc143_46.1: %.43 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @AccessMemberWithInvalidBaseFinal_NoMember.%p: %.43 = bind_name p, %p.loc143_46.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc143: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc143_70.1: type = value_of_initializer %int.make_type_32.loc143 [template = i32]
|
||||
@@ -497,7 +497,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @DeriveFromNonType {
|
||||
// CHECK:STDOUT: %.loc35_16.1: i32 = int_literal 32 [template = constants.%.6]
|
||||
// CHECK:STDOUT: %.loc35_16.2: init type = call constants.%ImplicitAs(type) [template = constants.%.10]
|
||||
// CHECK:STDOUT: %.loc35_16.2: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%.10]
|
||||
// CHECK:STDOUT: %.loc35_16.3: %.11 = specific_constant imports.%import_ref.4, @ImplicitAs(type) [template = constants.%.12]
|
||||
// CHECK:STDOUT: %Convert.ref: %.11 = name_ref Convert, %.loc35_16.3 [template = constants.%.12]
|
||||
// CHECK:STDOUT: %.loc35_16.4: type = converted %.loc35_16.1, <error> [template = <error>]
|
||||
@@ -600,7 +600,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBasei32(%p: %.15) -> %.16 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %.15 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc57_61.1: init type = call constants.%ImplicitAs(constants.%.16) [template = constants.%.17]
|
||||
// CHECK:STDOUT: %.loc57_61.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%.16) [template = constants.%.17]
|
||||
// CHECK:STDOUT: %.loc57_61.2: %.18 = specific_constant imports.%import_ref.4, @ImplicitAs(constants.%.16) [template = constants.%.19]
|
||||
// CHECK:STDOUT: %Convert.ref: %.18 = name_ref Convert, %.loc57_61.2 [template = constants.%.19]
|
||||
// CHECK:STDOUT: %.loc57_61.3: %.16 = converted %p.ref, <error> [template = <error>]
|
||||
@@ -618,7 +618,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseTuple(%p: %.24) -> %.25 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %.24 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc76_69.1: init type = call constants.%ImplicitAs(constants.%.25) [template = constants.%.26]
|
||||
// CHECK:STDOUT: %.loc76_69.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%.25) [template = constants.%.26]
|
||||
// CHECK:STDOUT: %.loc76_69.2: %.27 = specific_constant imports.%import_ref.4, @ImplicitAs(constants.%.25) [template = constants.%.28]
|
||||
// CHECK:STDOUT: %Convert.ref: %.27 = name_ref Convert, %.loc76_69.2 [template = constants.%.28]
|
||||
// CHECK:STDOUT: %.loc76_69.3: %.25 = converted %p.ref, <error> [template = <error>]
|
||||
@@ -636,7 +636,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseStruct(%p: %.31) -> %.30 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %.31 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc97_82.1: init type = call constants.%ImplicitAs(constants.%.30) [template = constants.%.32]
|
||||
// CHECK:STDOUT: %.loc97_82.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%.30) [template = constants.%.32]
|
||||
// CHECK:STDOUT: %.loc97_82.2: %.33 = specific_constant imports.%import_ref.4, @ImplicitAs(constants.%.30) [template = constants.%.34]
|
||||
// CHECK:STDOUT: %Convert.ref: %.33 = name_ref Convert, %.loc97_82.2 [template = constants.%.34]
|
||||
// CHECK:STDOUT: %.loc97_82.3: %.30 = converted %p.ref, <error> [template = <error>]
|
||||
@@ -654,7 +654,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
|
||||
// CHECK:STDOUT: fn @ConvertToBadBaseIncomplete(%p: %.35) -> %.36 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %.35 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc122_82.1: init type = call constants.%ImplicitAs(constants.%.36) [template = constants.%.37]
|
||||
// CHECK:STDOUT: %.loc122_82.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%.36) [template = constants.%.37]
|
||||
// CHECK:STDOUT: %.loc122_82.2: %.38 = specific_constant imports.%import_ref.4, @ImplicitAs(constants.%.36) [template = constants.%.39]
|
||||
// CHECK:STDOUT: %Convert.ref: %.38 = name_ref Convert, %.loc122_82.2 [template = constants.%.39]
|
||||
// CHECK:STDOUT: %.loc122_82.3: %.36 = converted %p.ref, <error> [template = <error>]
|
||||
|
||||
@@ -94,7 +94,7 @@ fn AccessBInA(a: A) -> i32 {
|
||||
// CHECK:STDOUT: %B.decl: type = class_decl @B [template = constants.%B] {}
|
||||
// CHECK:STDOUT: %AccessBInA.decl: %AccessBInA.type = fn_decl @AccessBInA [template = constants.%AccessBInA] {
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, %A.decl [template = constants.%A]
|
||||
// CHECK:STDOUT: %a.loc19_15.1: %A = param a
|
||||
// CHECK:STDOUT: %a.loc19_15.1: %A = param a, runtime_param0
|
||||
// CHECK:STDOUT: @AccessBInA.%a: %A = bind_name a, %a.loc19_15.1
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc19_24.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
@@ -151,7 +151,7 @@ fn AccessBInA(a: A) -> i32 {
|
||||
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
||||
// CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B]
|
||||
// CHECK:STDOUT: %b.ref: %.4 = name_ref b, @B.%.loc16_8 [template = @B.%.loc16_8]
|
||||
// CHECK:STDOUT: %.loc26_11.1: init type = call constants.%ImplicitAs(constants.%B) [template = constants.%.11]
|
||||
// CHECK:STDOUT: %.loc26_11.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%B) [template = constants.%.11]
|
||||
// CHECK:STDOUT: %.loc26_11.2: %.12 = specific_constant imports.%import_ref.4, @ImplicitAs(constants.%B) [template = constants.%.13]
|
||||
// CHECK:STDOUT: %Convert.ref: %.12 = name_ref Convert, %.loc26_11.2 [template = constants.%.13]
|
||||
// CHECK:STDOUT: %.loc26_11.3: %B = converted %a.ref, <error> [template = <error>]
|
||||
|
||||
@@ -130,7 +130,7 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; }
|
||||
// CHECK:STDOUT: %ConvertUnrelated.decl: %ConvertUnrelated.type = fn_decl @ConvertUnrelated [template = constants.%ConvertUnrelated] {
|
||||
// CHECK:STDOUT: %B2.ref: type = name_ref B2, %B2.decl [template = constants.%B2]
|
||||
// CHECK:STDOUT: %.loc31_26: type = ptr_type %B2 [template = constants.%.9]
|
||||
// CHECK:STDOUT: %p.loc31_21.1: %.9 = param p
|
||||
// CHECK:STDOUT: %p.loc31_21.1: %.9 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertUnrelated.%p: %.9 = bind_name p, %p.loc31_21.1
|
||||
// CHECK:STDOUT: %A1.ref: type = name_ref A1, %A1.decl [template = constants.%A1]
|
||||
// CHECK:STDOUT: %.loc31_34: type = ptr_type %A1 [template = constants.%.10]
|
||||
@@ -140,7 +140,7 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; }
|
||||
// CHECK:STDOUT: %ConvertIncomplete.decl: %ConvertIncomplete.type = fn_decl @ConvertIncomplete [template = constants.%ConvertIncomplete] {
|
||||
// CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, %Incomplete.decl [template = constants.%Incomplete]
|
||||
// CHECK:STDOUT: %.loc41_35: type = ptr_type %Incomplete [template = constants.%.21]
|
||||
// CHECK:STDOUT: %p.loc41_22.1: %.21 = param p
|
||||
// CHECK:STDOUT: %p.loc41_22.1: %.21 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @ConvertIncomplete.%p: %.21 = bind_name p, %p.loc41_22.1
|
||||
// CHECK:STDOUT: %A2.ref: type = name_ref A2, %A2.decl [template = constants.%A2]
|
||||
// CHECK:STDOUT: %.loc41_43: type = ptr_type %A2 [template = constants.%.22]
|
||||
@@ -211,7 +211,7 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; }
|
||||
// CHECK:STDOUT: fn @ConvertUnrelated(%p: %.9) -> %.10 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %.9 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc31_46.1: init type = call constants.%ImplicitAs(constants.%.10) [template = constants.%.17]
|
||||
// CHECK:STDOUT: %.loc31_46.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%.10) [template = constants.%.17]
|
||||
// CHECK:STDOUT: %.loc31_46.2: %.18 = specific_constant imports.%import_ref.4, @ImplicitAs(constants.%.10) [template = constants.%.19]
|
||||
// CHECK:STDOUT: %Convert.ref: %.18 = name_ref Convert, %.loc31_46.2 [template = constants.%.19]
|
||||
// CHECK:STDOUT: %.loc31_46.3: %.10 = converted %p.ref, <error> [template = <error>]
|
||||
@@ -229,7 +229,7 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; }
|
||||
// CHECK:STDOUT: fn @ConvertIncomplete(%p: %.21) -> %.22 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %p.ref: %.21 = name_ref p, %p
|
||||
// CHECK:STDOUT: %.loc41_55.1: init type = call constants.%ImplicitAs(constants.%.22) [template = constants.%.23]
|
||||
// CHECK:STDOUT: %.loc41_55.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%.22) [template = constants.%.23]
|
||||
// CHECK:STDOUT: %.loc41_55.2: %.24 = specific_constant imports.%import_ref.4, @ImplicitAs(constants.%.22) [template = constants.%.25]
|
||||
// CHECK:STDOUT: %Convert.ref: %.24 = name_ref Convert, %.loc41_55.2 [template = constants.%.25]
|
||||
// CHECK:STDOUT: %.loc41_55.3: %.22 = converted %p.ref, <error> [template = <error>]
|
||||
|
||||
@@ -72,20 +72,20 @@ fn Class(N:! i32).F[self: Self](n: T) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] {
|
||||
// CHECK:STDOUT: %T.loc11_13.1: type = param T
|
||||
// CHECK:STDOUT: %T.loc11_13.1: type = param T, runtime_param<invalid>
|
||||
// CHECK:STDOUT: %T.loc11_13.2: type = bind_symbolic_name T 0, %T.loc11_13.1 [symbolic = @Class.%T (constants.%T)]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] {
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc32_14.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
// CHECK:STDOUT: %.loc32_14.2: type = converted %int.make_type_32, %.loc32_14.1 [template = i32]
|
||||
// CHECK:STDOUT: %N.loc32_10.1: i32 = param N
|
||||
// CHECK:STDOUT: %N.loc32_10.1: i32 = param N, runtime_param<invalid>
|
||||
// CHECK:STDOUT: %N.loc32_10.2: i32 = bind_symbolic_name N 0, %N.loc32_10.1 [symbolic = @.1.%N (constants.%N)]
|
||||
// CHECK:STDOUT: %Self.ref: <error> = name_ref Self, <error> [template = <error>]
|
||||
// CHECK:STDOUT: %self.loc32_21.1: <error> = param self
|
||||
// CHECK:STDOUT: %self.loc32_21.1: <error> = param self, runtime_param0
|
||||
// CHECK:STDOUT: @.1.%self: <error> = bind_name self, %self.loc32_21.1
|
||||
// CHECK:STDOUT: %T.ref: <error> = name_ref T, <error> [template = <error>]
|
||||
// CHECK:STDOUT: %n.loc32_33.1: <error> = param n
|
||||
// CHECK:STDOUT: %n.loc32_33.1: <error> = param n, runtime_param1
|
||||
// CHECK:STDOUT: @.1.%n: <error> = bind_name n, %n.loc32_33.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -105,10 +105,10 @@ fn Class(N:! i32).F[self: Self](n: T) {}
|
||||
// CHECK:STDOUT: %F.decl: @Class.%F.type (%F.type) = fn_decl @F [symbolic = %F (constants.%F)] {
|
||||
// CHECK:STDOUT: %.loc13: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = @F.%Class (constants.%Class.2)]
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc13 [symbolic = @F.%Class (constants.%Class.2)]
|
||||
// CHECK:STDOUT: %self.loc13_8.1: @F.%Class (%Class.2) = param self
|
||||
// CHECK:STDOUT: %self.loc13_8.1: @F.%Class (%Class.2) = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc13_8.2: @F.%Class (%Class.2) = bind_name self, %self.loc13_8.1
|
||||
// CHECK:STDOUT: %T.ref.loc13: type = name_ref T, file.%T.loc11_13.2 [symbolic = @F.%T (constants.%T)]
|
||||
// CHECK:STDOUT: %n.loc13_20.1: @F.%T (%T) = param n
|
||||
// CHECK:STDOUT: %n.loc13_20.1: @F.%T (%T) = param n, runtime_param1
|
||||
// CHECK:STDOUT: %n.loc13_20.2: @F.%T (%T) = bind_name n, %n.loc13_20.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+6
-6
@@ -213,7 +213,7 @@ fn CallReturnIncomplete() {
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {
|
||||
// CHECK:STDOUT: %Class.ref.loc51: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc51_14: type = ptr_type %Class [template = constants.%.4]
|
||||
// CHECK:STDOUT: %p.loc51_6.1: %.4 = param p
|
||||
// CHECK:STDOUT: %p.loc51_6.1: %.4 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @G.%p: %.4 = bind_name p, %p.loc51_6.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc51: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc51_20.1: type = value_of_initializer %int.make_type_32.loc51 [template = i32]
|
||||
@@ -223,7 +223,7 @@ fn CallReturnIncomplete() {
|
||||
// CHECK:STDOUT: %MemberAccess.decl: %MemberAccess.type = fn_decl @MemberAccess [template = constants.%MemberAccess] {
|
||||
// CHECK:STDOUT: %Class.ref.loc62: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc62_25: type = ptr_type %Class [template = constants.%.4]
|
||||
// CHECK:STDOUT: %p.loc62_17.1: %.4 = param p
|
||||
// CHECK:STDOUT: %p.loc62_17.1: %.4 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @MemberAccess.%p: %.4 = bind_name p, %p.loc62_17.1
|
||||
// CHECK:STDOUT: %int.make_type_32.loc62: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc62_31.1: type = value_of_initializer %int.make_type_32.loc62 [template = i32]
|
||||
@@ -233,7 +233,7 @@ fn CallReturnIncomplete() {
|
||||
// CHECK:STDOUT: %Copy.decl: %Copy.type = fn_decl @Copy [template = constants.%Copy] {
|
||||
// CHECK:STDOUT: %Class.ref.loc80_12: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc80: type = ptr_type %Class [template = constants.%.4]
|
||||
// CHECK:STDOUT: %p.loc80_9.1: %.4 = param p
|
||||
// CHECK:STDOUT: %p.loc80_9.1: %.4 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @Copy.%p: %.4 = bind_name p, %p.loc80_9.1
|
||||
// CHECK:STDOUT: %Class.ref.loc80_23: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: @Copy.%return: ref %Class = var <return slot>
|
||||
@@ -241,12 +241,12 @@ fn CallReturnIncomplete() {
|
||||
// CHECK:STDOUT: %Let.decl: %Let.type = fn_decl @Let [template = constants.%Let] {
|
||||
// CHECK:STDOUT: %Class.ref.loc84: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc84: type = ptr_type %Class [template = constants.%.4]
|
||||
// CHECK:STDOUT: %p.loc84_8.1: %.4 = param p
|
||||
// CHECK:STDOUT: %p.loc84_8.1: %.4 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @Let.%p: %.4 = bind_name p, %p.loc84_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %TakeIncomplete.decl: %TakeIncomplete.type = fn_decl @TakeIncomplete [template = constants.%TakeIncomplete] {
|
||||
// CHECK:STDOUT: %Class.ref.loc95: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %c.loc95_19.1: %Class = param c
|
||||
// CHECK:STDOUT: %c.loc95_19.1: %Class = param c, runtime_param0
|
||||
// CHECK:STDOUT: @TakeIncomplete.%c: %Class = bind_name c, %c.loc95_19.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %ReturnIncomplete.decl: %ReturnIncomplete.type = fn_decl @ReturnIncomplete [template = constants.%ReturnIncomplete] {
|
||||
@@ -256,7 +256,7 @@ fn CallReturnIncomplete() {
|
||||
// CHECK:STDOUT: %CallTakeIncomplete.decl: %CallTakeIncomplete.type = fn_decl @CallTakeIncomplete [template = constants.%CallTakeIncomplete] {
|
||||
// CHECK:STDOUT: %Class.ref.loc99: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc99: type = ptr_type %Class [template = constants.%.4]
|
||||
// CHECK:STDOUT: %p.loc99_23.1: %.4 = param p
|
||||
// CHECK:STDOUT: %p.loc99_23.1: %.4 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @CallTakeIncomplete.%p: %.4 = bind_name p, %p.loc99_23.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %CallReturnIncomplete.decl: %CallReturnIncomplete.type = fn_decl @CallReturnIncomplete [template = constants.%CallReturnIncomplete] {}
|
||||
|
||||
@@ -73,7 +73,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {
|
||||
// CHECK:STDOUT: %Class.ref: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %.loc16: type = ptr_type %Class [template = constants.%.4]
|
||||
// CHECK:STDOUT: %p.loc16_6.1: %.4 = param p
|
||||
// CHECK:STDOUT: %p.loc16_6.1: %.4 = param p, runtime_param0
|
||||
// CHECK:STDOUT: @G.%p: %.4 = bind_name p, %p.loc16_6.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {}
|
||||
|
||||
@@ -83,10 +83,10 @@ fn F(s: {.a: A}, b: B) {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] {
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, %A.decl [template = constants.%A]
|
||||
// CHECK:STDOUT: %.loc19: type = struct_type {.a: %A} [template = constants.%.6]
|
||||
// CHECK:STDOUT: %s.loc19_6.1: %.6 = param s
|
||||
// CHECK:STDOUT: %s.loc19_6.1: %.6 = param s, runtime_param0
|
||||
// CHECK:STDOUT: @F.2.%s: %.6 = bind_name s, %s.loc19_6.1
|
||||
// CHECK:STDOUT: %B.ref: type = name_ref B, %B.decl [template = constants.%B]
|
||||
// CHECK:STDOUT: %b.loc19_18.1: %B = param b
|
||||
// CHECK:STDOUT: %b.loc19_18.1: %B = param b, runtime_param1
|
||||
// CHECK:STDOUT: @F.2.%b: %B = bind_name b, %b.loc19_18.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -95,7 +95,7 @@ fn F(s: {.a: A}, b: B) {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] {
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A]
|
||||
// CHECK:STDOUT: %.loc12_20: type = ptr_type %A [template = constants.%.1]
|
||||
// CHECK:STDOUT: %self.loc12_13.1: %.1 = param self
|
||||
// CHECK:STDOUT: %self.loc12_13.1: %.1 = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc12_13.3: %.1 = bind_name self, %self.loc12_13.1
|
||||
// CHECK:STDOUT: %.loc12_8: %.1 = addr_pattern %self.loc12_13.3
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+2
-3
@@ -88,7 +88,7 @@ fn F(c: Class) {
|
||||
// CHECK:STDOUT: %A: %WithSelf.type = bind_alias A, @Class.%WithSelf.decl [template = constants.%WithSelf]
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %Class.ref.loc18: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %c.loc18_6.1: %Class = param c
|
||||
// CHECK:STDOUT: %c.loc18_6.1: %Class = param c, runtime_param0
|
||||
// CHECK:STDOUT: @F.%c: %Class = bind_name c, %c.loc18_6.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -97,7 +97,7 @@ fn F(c: Class) {
|
||||
// CHECK:STDOUT: %NoSelf.decl: %NoSelf.type = fn_decl @NoSelf [template = constants.%NoSelf] {}
|
||||
// CHECK:STDOUT: %WithSelf.decl: %WithSelf.type = fn_decl @WithSelf [template = constants.%WithSelf] {
|
||||
// CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %self.loc13_15.1: %Class = param self
|
||||
// CHECK:STDOUT: %self.loc13_15.1: %Class = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc13_15.2: %Class = bind_name self, %self.loc13_15.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -129,7 +129,6 @@ fn F(c: Class) {
|
||||
// CHECK:STDOUT: %Class.ref.loc38: type = name_ref Class, file.%Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %WithSelf.ref.loc38: %WithSelf.type = name_ref WithSelf, @Class.%WithSelf.decl [template = constants.%WithSelf]
|
||||
// CHECK:STDOUT: %c.ref.loc38: %Class = name_ref c, %c
|
||||
// CHECK:STDOUT: %WithSelf.call.loc38: init %.1 = call %WithSelf.ref.loc38(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: %A.ref: %WithSelf.type = name_ref A, file.%A [template = constants.%WithSelf]
|
||||
// CHECK:STDOUT: %WithSelf.call.loc46: init %.1 = call %A.ref(<invalid>) [template = <error>]
|
||||
// CHECK:STDOUT: return
|
||||
|
||||
@@ -104,12 +104,12 @@ base class BaseClass {
|
||||
// CHECK:STDOUT: class @FinalClass {
|
||||
// CHECK:STDOUT: %Abstract.decl: %Abstract.type.1 = fn_decl @Abstract.1 [template = constants.%Abstract.1] {
|
||||
// CHECK:STDOUT: %Self.ref.loc20: type = name_ref Self, constants.%FinalClass [template = constants.%FinalClass]
|
||||
// CHECK:STDOUT: %self.loc20_24.1: %FinalClass = param self
|
||||
// CHECK:STDOUT: %self.loc20_24.1: %FinalClass = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc20_24.2: %FinalClass = bind_name self, %self.loc20_24.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Virtual.decl: %Virtual.type = fn_decl @Virtual [template = constants.%Virtual] {
|
||||
// CHECK:STDOUT: %Self.ref.loc29: type = name_ref Self, constants.%FinalClass [template = constants.%FinalClass]
|
||||
// CHECK:STDOUT: %self.loc29_22.1: %FinalClass = param self
|
||||
// CHECK:STDOUT: %self.loc29_22.1: %FinalClass = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc29_22.2: %FinalClass = bind_name self, %self.loc29_22.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -122,12 +122,12 @@ base class BaseClass {
|
||||
// CHECK:STDOUT: class @AbstractClass {
|
||||
// CHECK:STDOUT: %Default.decl: %Default.type = fn_decl @Default [template = constants.%Default] {
|
||||
// CHECK:STDOUT: %Self.ref.loc38: type = name_ref Self, constants.%AbstractClass [template = constants.%AbstractClass]
|
||||
// CHECK:STDOUT: %self.loc38_22.1: %AbstractClass = param self
|
||||
// CHECK:STDOUT: %self.loc38_22.1: %AbstractClass = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc38_22.2: %AbstractClass = bind_name self, %self.loc38_22.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Final.decl: %Final.type = fn_decl @Final [template = constants.%Final] {
|
||||
// CHECK:STDOUT: %Self.ref.loc44: type = name_ref Self, constants.%AbstractClass [template = constants.%AbstractClass]
|
||||
// CHECK:STDOUT: %self.loc44_18.1: %AbstractClass = param self
|
||||
// CHECK:STDOUT: %self.loc44_18.1: %AbstractClass = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc44_18.2: %AbstractClass = bind_name self, %self.loc44_18.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -140,7 +140,7 @@ base class BaseClass {
|
||||
// CHECK:STDOUT: class @BaseClass {
|
||||
// CHECK:STDOUT: %Abstract.decl: %Abstract.type.2 = fn_decl @Abstract.2 [template = constants.%Abstract.2] {
|
||||
// CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%BaseClass [template = constants.%BaseClass]
|
||||
// CHECK:STDOUT: %self.loc55_24.1: %BaseClass = param self
|
||||
// CHECK:STDOUT: %self.loc55_24.1: %BaseClass = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc55_24.2: %BaseClass = bind_name self, %self.loc55_24.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+5
-5
@@ -120,7 +120,7 @@ fn CallWrongSelf(ws: WrongSelf) {
|
||||
// CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {}
|
||||
// CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] {
|
||||
// CHECK:STDOUT: %Self.ref.loc25: type = name_ref Self, constants.%Class [template = constants.%Class]
|
||||
// CHECK:STDOUT: %self.loc25_12.1: %Class = param self
|
||||
// CHECK:STDOUT: %self.loc25_12.1: %Class = param self, runtime_param0
|
||||
// CHECK:STDOUT: @F.1.%self: %Class = bind_name self, %self.loc25_12.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {
|
||||
@@ -130,7 +130,7 @@ fn CallWrongSelf(ws: WrongSelf) {
|
||||
// CHECK:STDOUT: %WrongSelf.decl: type = class_decl @WrongSelf [template = constants.%WrongSelf] {}
|
||||
// CHECK:STDOUT: %CallWrongSelf.decl: %CallWrongSelf.type = fn_decl @CallWrongSelf [template = constants.%CallWrongSelf] {
|
||||
// CHECK:STDOUT: %WrongSelf.ref: type = name_ref WrongSelf, %WrongSelf.decl [template = constants.%WrongSelf]
|
||||
// CHECK:STDOUT: %ws.loc45_18.1: %WrongSelf = param ws
|
||||
// CHECK:STDOUT: %ws.loc45_18.1: %WrongSelf = param ws, runtime_param0
|
||||
// CHECK:STDOUT: @CallWrongSelf.%ws: %WrongSelf = bind_name ws, %ws.loc45_18.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -157,7 +157,7 @@ fn CallWrongSelf(ws: WrongSelf) {
|
||||
// CHECK:STDOUT: class @Class {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] {
|
||||
// CHECK:STDOUT: %Self.ref.loc16: type = name_ref Self, constants.%Class [template = constants.%Class]
|
||||
// CHECK:STDOUT: %self.loc16_8.1: %Class = param self
|
||||
// CHECK:STDOUT: %self.loc16_8.1: %Class = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc16_8.2: %Class = bind_name self, %self.loc16_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {
|
||||
@@ -174,7 +174,7 @@ fn CallWrongSelf(ws: WrongSelf) {
|
||||
// CHECK:STDOUT: class @WrongSelf {
|
||||
// CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] {
|
||||
// CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %self.loc42_8.1: %Class = param self
|
||||
// CHECK:STDOUT: %self.loc42_8.1: %Class = param self, runtime_param0
|
||||
// CHECK:STDOUT: %self.loc42_8.2: %Class = bind_name self, %self.loc42_8.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -205,7 +205,7 @@ fn CallWrongSelf(ws: WrongSelf) {
|
||||
// CHECK:STDOUT: %ws.ref: %WrongSelf = name_ref ws, %ws
|
||||
// CHECK:STDOUT: %F.ref: %F.type.2 = name_ref F, @WrongSelf.%F.decl [template = constants.%F.2]
|
||||
// CHECK:STDOUT: %.loc55_5: <bound method> = bound_method %ws.ref, %F.ref
|
||||
// CHECK:STDOUT: %.loc55_7.1: init type = call constants.%ImplicitAs(constants.%Class) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc55_7.1: type = interface_type @ImplicitAs, @ImplicitAs(constants.%Class) [template = constants.%.7]
|
||||
// CHECK:STDOUT: %.loc55_7.2: %.8 = specific_constant imports.%import_ref.3, @ImplicitAs(constants.%Class) [template = constants.%.9]
|
||||
// CHECK:STDOUT: %Convert.ref: %.8 = name_ref Convert, %.loc55_7.2 [template = constants.%.9]
|
||||
// CHECK:STDOUT: %.loc55_7.3: %Class = converted %ws.ref, <error> [template = <error>]
|
||||
|
||||
@@ -59,7 +59,7 @@ fn G(c: Class) -> i32 {
|
||||
// CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {}
|
||||
// CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {
|
||||
// CHECK:STDOUT: %Class.ref: type = name_ref Class, %Class.decl [template = constants.%Class]
|
||||
// CHECK:STDOUT: %c.loc15_6.1: %Class = param c
|
||||
// CHECK:STDOUT: %c.loc15_6.1: %Class = param c, runtime_param0
|
||||
// CHECK:STDOUT: @G.%c: %Class = bind_name c, %c.loc15_6.1
|
||||
// CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc15_19.1: type = value_of_initializer %int.make_type_32 [template = i32]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user