Use type information to improve destructive update pass #8621
+261
−31
GitHub Actions / CT Test Results
succeeded
Jun 27, 2024 in 0s
All 815 tests pass, 2 skipped in 10m 38s
2 files 324 suites 10m 38s ⏱️
817 tests 815 ✅ 2 💤 0 ❌
5 420 runs 5 418 ✅ 2 💤 0 ❌
Results for commit 5607e82.
Annotations
Check notice on line 0 in .github
github-actions / CT Test Results
2 skipped tests found
There are 2 skipped tests, see "Raw output" for the full list of skipped tests.
Raw output
nt
test_runtime_dependencies_versions
Check notice on line 0 in .github
github-actions / CT Test Results
817 tests found
There are 817 tests, see "Raw output" for the full list of tests.
Raw output
abs_bounds
absorption
accessing_tags
addition_bounds
after_expression
after_oops
alias_checks
aliased_types
aliases
all_string_formats
alloc
ambiguous_catch_try_state
ancient_major
and_guard
andalso_orelse
andalso_semi
annotation_checks
annotations_pp
app_test
append
appendable_checks
apply_fun
apply_mf
appup_test
arg_overflow
args_file
args_file_env
argument_separation
argument_with_option
arity_checks
asm
asm_labels
associativity
asymmetric_tests
atomic
attribute
bad_apply
bad_arith
bad_bin_match
bad_bin_unit
bad_binary_unit
bad_boolean_guard
bad_catch_try
bad_constants
bad_decls
bad_dsetel
bad_generators
bad_guards
bad_literals
bad_phi_paths
bad_size
bad_try_catch_nesting
bad_tuples
bad_utf8
badarity
badfun
band_bounds
barnes2
basic
basic_andalso_orelse
basic_not
bc_options
beam_bool_SUITE
beam_bsm
beam_compiler_10
beam_compiler_11
beam_compiler_4
beam_compiler_6
beam_compiler_7
beam_compiler_8
beam_compiler_9
beam_ssa_dead_crash
beam_ssa_pp_smoke_test
beam_validator
before_and_inside_if
bif_calls
bif_clashes
bif_fun
bif_inference
bifs
bigE_roundtrip
big_asymmetric_tests
big_binary_to_and_from_list
big_positions
bin white space
bin_and_float
bin_construction
bin_default
bin_default_dirty
bin_dirname_fail
bin_no_srcfile
bin_no_use_dirname_fail
bin_not_abs
bin_ok_symlink
bin_opt_info
bin_outside_eprfx
bin_outside_eprfx_dirty
bin_same_dir
bin_tail
bin_unreachable_absolute
bin_unreachable_relative
bin_unreasonable_path
binary
binary_absorption
binary_aliases
binary_construction_allocation
binary_float
binary_in_map
binary_part
binary_to_and_from_list
binary_unit
bit_aligned
bit_syntax
bnot_bounds
bool
bool_cases
booleans
bor_bounds
branch_to_try_handler
broadcast
bs_get_tail
bs_init
bs_init_writable
bs_match
bs_save
bs_saved_position_units
bs_shadowed_size_var
bs_size_unit_checks
bs_start_match2_defs
bs_sum
bs_test_tail
bsdecode
bsdes
bsl_bounds
bsr_bounds
build_in_guard
build_tuple
bxor_bounds
byte_aligned
cafu
call_last
call_sharing
call_to_deprecated
call_to_now_0
call_to_size_1
call_without_stack
callback
calling_a_binary
calls
catastrophic_runtime
catch_in_catch
catch_oops
character
check_qlc_hrl
combine_empty_segments
combine_sw
combined
comma
comma_splitter
commutativity
compile
compile_attribute
compile_erl
compile_mib
compile_script
compile_yecc
compiler_1
compiler_bug
complex
complex_guard
complex_not
complex_or_guards
complex_semicolon
comprehensions
cond_and_ifdef
cond_wait
configuration
confused_beam_validator
confused_literals
connected_tuple_elements
cons
cons_guard
const_cond
const_list_256
constant_propagation
container_performance
container_subtraction
convopts
core_files
core_lint
core_pp
core_roundtrip
cover
cover_beam_bool
cover_beam_trim
cover_bin_opt
cover_convert_ext
cover_letrec_effect
cover_lists_functions
cover_maps_functions
cover_safe_and_pure_bifs
cover_ssa_dead
cover_trim
cover_v3_kernel_1
cover_v3_kernel_2
cover_v3_kernel_3
cover_v3_kernel_4
cover_v3_kernel_5
coverage
create_join_thread
custom_compile_info
custom_debug_info
dead_code
dec_subidentifiers
decode1
decode_integer
deep_cwd
deeply_nested
defunct
degenerated_match
dehydrated_itracer
deprecated
deprecated_not_in_obsolete
deselectify
detached_thread
deterministic_docs
deterministic_include
deterministic_paths
dialyzer
division_bounds
doc_with_file
doc_with_file_error
docformat
docmodule_with_doc_attributes
docs_from_ast
double_recv
duplicate_keys
duplicated_fun
dw_atomic_massage
eclectic
eep37
eep49
effect
elixir_binaries
elusive_common_exit
empty_generator
empty_matches
empty_string
empty_values
encrypted_abstr
end_per_group
end_per_suite
env
env_compiler_options
eq
eq_types
equal_tids
equiv
erl_202
erl_689
erl_compile_api
erl_file_encoding
erlang_display
errors
escape
eval_case
eval_is_boolean
eval_once
evil_args_file
exception_signals
exceptions_after_match_failure
expand_and_squeeze
export
export_all
export_from_case
expression_before_match
expression_export
extended_bit_aligned
extended_byte_aligned
external
extra_chunks
extreme_tripping
fail
failing_gc_guard_bif
failures
fconv_line_numbers
features
features_all
features_atom_warnings
features_directives
features_disable
features_erlc_describe
features_erlc_unknown
features_include
features_load
features_macros
features_runtime
file_1
files
filters
find_best
float
float_arith
float_bin
float_compare
float_confusion
float_followed_by_guard
float_overflow
float_zero
fname
follow_fail_branch
followed_by_catch
foobar
forms_2
freg_range
freg_uninit
fun_apply
fun_letrec_effect
function_clause
funs
gbif
ge_bounds
general_expressions
generated_combinations
get_in_try
get_map_element
get_map_elements
get_payload
gh_6410
gh_6599
gh_6923
good_citizen
good_literals
grab_bag
gt_bounds
guard
guard_in_catch
guard_opt
guard_try_catch
handle_info
hangs_forever
haystack
head_mismatch_line
head_mismatch_same_function_name
head_tail
heavier
heavy
heisen_variables
hide_moduledoc
hide_moduledoc2
hockey
horrid_match
idempotence
identity
illegal_instruction
in_after
in_case
in_catch
in_guard
inert_update_type
infer_dead_value
infer_lt_gt_bounds
infer_on_eq
infer_on_ne
infer_relops
infinite_loop
init_per_group
init_per_suite
inline_list_funcs
inlining
inside
int_float
integer
integer_absorption
integer_associativity
integer_encoding
integers
involved
is_ascii
is_function_2
is_list_opt
is_not_killed
is_not_used_at
is_used_fr
itracer
last_call_optimization
le_bounds
leaky_environment
lean_throw
letify_guard
list_append
listings
listings_big
lists
literal_binary
literal_type_tests
literals
live_var
liveopt
loaded
local_cse
lt_bounds
major
make_dep_options
make_effect_seq
makedep
many_clauses
map_aliases
map_and_binary
map_core_test
map_effect
map_field_lists
map_vars_used
mapfoldl
maps
maps_bin_opt_info
maps_inline_test
maps_warnings
match_after_return
match_boolean_list
match_built_terms
match_in_call
match_map
match_right_tuple
match_string
match_string_opt
matched_out_size
matches_on_parameter
matching_and_andalso
matching_meets_apply
matching_meets_construction
math_functions
max_bounds
max_threads
md5
merge_undefined
message_printing
mfa
min_bounds
min_max
min_max_mixed_types
minor
misc
missing_args_file
missing_return_type
missing_test_heap
mixed
mixed_float_and_int
mixed_matching_clauses
module_mismatch
more_or_guards
more_xor_guards
move_opt_across_gc_bif
multiple_aliases
multiple_allocs
multiple_segments
multiple_uses
multiplication_bounds
mutable_variables
mutex
name_capture
nasty_literals
nested
nested_access
nested_after
nested_call_in_case
nested_catch
nested_horrid
nested_lets
nested_nots
nested_of
nested_stacktrace
nested_tries
nif
no_core_prepare
no_doc_attributes
no_exception_in_catch
no_export
no_generator
no_load_nif
no_match
no_nif
no_no_file
no_partition
no_return_in_try_block
no_warnings
nomatch
nomatch_shadow
non_matching_aliases
non_opt_eq
non_variable_apply
none_argument
normalize
not_equal
not_equal_inference
not_used
nt
null_fields
num_slots_different
numbers
obsolete_but_not_deprecated
old_guard_tests
on_load
on_load_inline
opportunistic_warnings
opt
opt_crash
option_order
or_guard
other_options
other_output
otp_19019
otp_2330
otp_2380
otp_4790
otp_5151
otp_5235
otp_5269
otp_5404
otp_5436
otp_5481
otp_5553
otp_5632
otp_5714
otp_5872
otp_6121
otp_7188
otp_7202
otp_7223
otp_7233
otp_7240
otp_7345
otp_7461
otp_7498
otp_7556
otp_7980
otp_8054
otp_8949_a
otp_8949_b
outdir
overlap
overridden_bif
override_bif
overwrite_catchtag
overwrite_trytag
overwritten_fun
parallel_scopes
parent_container
parse_xml
partitioned_bs_match
pattern
pattern2
pattern3
pattern4
pending
pmatch
pre_load_check
premature_concretization
private_append
private_append_checks
private_types
pseudoknot
quote
raise
range_inference
read_size_file_version
really_inlined
receive_effect
receive_marker
receive_stacked
receive_tests
receive_var_zero
record_access_in_guards
record_float
record_test_2
record_test_3
record_updates
recv
recv_in_try
recv_opt_info
redundant_boolean_clauses
redundant_br
redundant_case
redundant_masking
redundant_stack_frame
ref_opt
rel_op_combinations
rel_ops
rem_bounds
repeated_type_tests
repro
restore_on_call
ret_annotation_checks
rethrow
return_before_receive
reversed_annos
runtime_dependencies_functions
runtime_dependencies_modules
rwmutex
rwspinlock
safe_instructions
sanity_checks
save_restore
scan_f
second_block_pass
select
select_on_integer
selectify
self_compile
self_compile_old_inliner
semicolon
send_and_receive
send_and_receive_alot
seq_in_guard
setelement
shadow
share_opt
shared_key_tuples
shared_sub_bins
shortcut_boolean
side_effect
silly_coverage
simon
singleton_doc
singleton_docformat
singleton_inference
singleton_meta
singleton_moduledoc
size_shadow
sizes
skip_doc
skip_optional_tag
sleepy_child
slogan
slow_compilation
smith
snprintf
spec
spec_switch_order
spinlock
split_cases
stack
stack_init
stacktrace
state_after_fault_in_catch
strict_record
string
string_table
strings
stripped
strong_components
stupid_but_valid
subtract_number_type
subtraction
subtraction_bounds
success_type_oscillation
supplies
switch_fail_inference
sys_pre_attributes
t_and_or
t_andalso
t_apply
t_bad_update
t_bif_map_find
t_build_and_match_aliasing
t_build_and_match_empty_val
t_build_and_match_literals
t_build_and_match_literals_large
t_build_and_match_nil
t_build_and_match_over_alloc
t_build_and_match_structure
t_build_and_match_val
t_build_and_match_variables
t_case
t_conflicting_destinations
t_cse_assoc
t_duplicate_keys
t_element
t_expand_map_update
t_export
t_fold_3
t_frequency_table
t_from_keys
t_guard_bifs
t_guard_fun
t_guard_receive
t_guard_receive_large
t_guard_sequence
t_guard_sequence_large
t_guard_sequence_mixed
t_guard_sequence_variables
t_guard_update
t_guard_update_large
t_guard_update_variables
t_is_boolean
t_is_map
t_key_expressions
t_length
t_list_comprehension
t_map_2
t_map_get
t_map_size
t_map_sort_literals
t_maps_take_2
t_match_and_update_literals
t_match_and_update_literals_large
t_mixed_clause
t_nested_pattern_expressions
t_orelse
t_register_corruption
t_reused_key_variable
t_tuple_size
t_update_assoc
t_update_assoc_large
t_update_assoc_variables
t_update_exact
t_update_exact_large
t_update_exact_variables
t_update_literals
t_update_literals_large
t_update_map_expressions
t_update_values
t_update_with_3
t_update_with_4
t_warn_pair_key_overloaded
t_warn_useless_build
t_with_2
test1
test_bit_size
test_bitstr
test_message_queue_data_switching
test_runtime_dependencies_versions
test_size
test_throughput_benchmark
thread_name
throw_opt_crash
throw_opt_funs
tobias
transforms
trapping
traverse_dcd
tricky
trim_bs_start_match_resume
trim_coverage
trunc_and_friends
try_after
try_lock_mutex
try_of
trycatch
tsd
tuple
tuple_absorption
tuple_calls
tuple_inplace_checks
tuple_matching
tuple_set_limit
tuple_size_in_try
tuples
two
type_conflict
type_optimized_markers
type_subtraction
types_and_opaques
types_pp
unary_op
undecided_allocation
undef_label
undefined_functions
undefined_label
underscore
unfold_literals
unicode_paths
uninit
unit
unnecessary_building
unsafe_branch_caching
unsafe_case
unsafe_catch
unsafe_get_list
unsafe_is_function
unsafe_move_elimination
untuplify
unused_fun
unused_multiple_values
unused_multiple_values_error
unused_utf_char
use_after_branch
use_nifs
user_defined_type
user_predef
utf16_roundtrip
utf32_roundtrip
utf8_atoms
utf8_functions
utf8_roundtrip
val_dsetel
verify_highest_opcode
vsn_1
vsn_2
vsn_3
wait
warn_missing_doc
warnings
warnings_as_errors
wfbm
wiger
will_succeed
xml_file_encoding
xor_guard
xrange
y_catch
y_registers
yrange
zdbbl_dist_buf_busy_limit
zero_label
zero_pattern
zero_width
Loading