https://github.com/JuliaLang/julia
Revision a7fd6a76f43262c02e83d809500b98e649490dbc authored by Keno Fischer on 11 April 2024, 12:05:43 UTC, committed by GitHub on 11 April 2024, 12:05:43 UTC
This extends the value-inability predicate to allow mutable structs that do not have any mutable fields. The motivating example for this is ScopedValue, which is mutable only for identity. By allowing it in this predicate, more of the ScopedValue support code becomes concrete-eval eligible, rather than attempting to constprop for every single ScopedValue, saving compilation time. --------- Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com>
1 parent dc8857a
Tip revision: a7fd6a76f43262c02e83d809500b98e649490dbc authored by Keno Fischer on 11 April 2024, 12:05:43 UTC
Allow mutable-for-identity-only types to be inlined into IR (#54034)
Allow mutable-for-identity-only types to be inlined into IR (#54034)
Tip revision: a7fd6a7
File | Mode | Size |
---|---|---|
clangsa | ||
flisp | ||
support | ||
.gitignore | -rw-r--r-- | 376 bytes |
APInt-C.cpp | -rw-r--r-- | 15.8 KB |
APInt-C.h | -rw-r--r-- | 5.2 KB |
Makefile | -rw-r--r-- | 31.6 KB |
abi_aarch64.cpp | -rw-r--r-- | 15.6 KB |
abi_arm.cpp | -rw-r--r-- | 9.2 KB |
abi_llvm.cpp | -rw-r--r-- | 2.4 KB |
abi_ppc64le.cpp | -rw-r--r-- | 6.2 KB |
abi_win32.cpp | -rw-r--r-- | 3.0 KB |
abi_win64.cpp | -rw-r--r-- | 3.0 KB |
abi_x86.cpp | -rw-r--r-- | 3.3 KB |
abi_x86_64.cpp | -rw-r--r-- | 8.7 KB |
aotcompile.cpp | -rw-r--r-- | 87.8 KB |
array.c | -rw-r--r-- | 12.4 KB |
ast.c | -rw-r--r-- | 54.2 KB |
ast.scm | -rw-r--r-- | 21.9 KB |
bin2hex.scm | -rw-r--r-- | 388 bytes |
builtin_proto.h | -rw-r--r-- | 2.4 KB |
builtins.c | -rw-r--r-- | 97.7 KB |
ccall.cpp | -rw-r--r-- | 94.0 KB |
ccalllazybar.c | -rw-r--r-- | 234 bytes |
ccalllazyfoo.c | -rw-r--r-- | 156 bytes |
ccalltest.c | -rw-r--r-- | 24.1 KB |
ccalltest_common.h | -rw-r--r-- | 779 bytes |
cgmemmgr.cpp | -rw-r--r-- | 30.5 KB |
cgutils.cpp | -rw-r--r-- | 198.5 KB |
codegen-stubs.c | -rw-r--r-- | 5.9 KB |
codegen.cpp | -rw-r--r-- | 451.2 KB |
common_symbols1.inc | -rw-r--r-- | 2.0 KB |
common_symbols2.inc | -rw-r--r-- | 5.6 KB |
coverage.cpp | -rw-r--r-- | 7.2 KB |
crc32c-tables.c | -rw-r--r-- | 43.4 KB |
crc32c.c | -rw-r--r-- | 19.9 KB |
datatype.c | -rw-r--r-- | 82.4 KB |
debug-registry.h | -rw-r--r-- | 4.7 KB |
debuginfo.cpp | -rw-r--r-- | 60.9 KB |
debuginfo.h | -rw-r--r-- | 697 bytes |
disasm.cpp | -rw-r--r-- | 47.9 KB |
dlload.c | -rw-r--r-- | 17.0 KB |
features_aarch32.h | -rw-r--r-- | 1.1 KB |
features_aarch64.h | -rw-r--r-- | 4.6 KB |
features_x86.h | -rw-r--r-- | 4.1 KB |
file_constants.h | -rw-r--r-- | 2.1 KB |
gc-alloc-profiler.cpp | -rw-r--r-- | 4.7 KB |
gc-alloc-profiler.h | -rw-r--r-- | 1.7 KB |
gc-debug.c | -rw-r--r-- | 41.3 KB |
gc-heap-snapshot.cpp | -rw-r--r-- | 24.4 KB |
gc-heap-snapshot.h | -rw-r--r-- | 5.7 KB |
gc-page-profiler.c | -rw-r--r-- | 4.8 KB |
gc-page-profiler.h | -rw-r--r-- | 2.1 KB |
gc-pages.c | -rw-r--r-- | 6.3 KB |
gc-stacks.c | -rw-r--r-- | 10.3 KB |
gc.c | -rw-r--r-- | 171.6 KB |
gc.h | -rw-r--r-- | 23.0 KB |
gen_sysimg_symtab.jl | -rw-r--r-- | 1.8 KB |
genericmemory.c | -rw-r--r-- | 27.5 KB |
gf.c | -rw-r--r-- | 177.7 KB |
iddict.c | -rw-r--r-- | 6.2 KB |
idset.c | -rw-r--r-- | 3.9 KB |
init.c | -rw-r--r-- | 31.2 KB |
interpreter.c | -rw-r--r-- | 34.4 KB |
intrinsics.cpp | -rw-r--r-- | 72.3 KB |
intrinsics.h | -rw-r--r-- | 3.1 KB |
ircode.c | -rw-r--r-- | 49.2 KB |
jitlayers.cpp | -rw-r--r-- | 95.1 KB |
jitlayers.h | -rw-r--r-- | 22.7 KB |
jl_exported_data.inc | -rw-r--r-- | 4.6 KB |
jl_exported_funcs.inc | -rw-r--r-- | 16.5 KB |
jl_uv.c | -rw-r--r-- | 35.7 KB |
jlapi.c | -rw-r--r-- | 31.3 KB |
jlfrontend.scm | -rw-r--r-- | 9.7 KB |
jloptions.c | -rw-r--r-- | 41.5 KB |
jloptions.h | -rw-r--r-- | 1.6 KB |
jltypes.c | -rw-r--r-- | 143.2 KB |
julia-parser.scm | -rw-r--r-- | 113.2 KB |
julia-syntax.scm | -rw-r--r-- | 238.5 KB |
julia.expmap.in | -rw-r--r-- | 929 bytes |
julia.h | -rw-r--r-- | 114.0 KB |
julia_assert.h | -rw-r--r-- | 1.1 KB |
julia_atomics.h | -rw-r--r-- | 13.6 KB |
julia_fasttls.h | -rw-r--r-- | 1.8 KB |
julia_gcext.h | -rw-r--r-- | 7.0 KB |
julia_internal.h | -rw-r--r-- | 81.4 KB |
julia_locks.h | -rw-r--r-- | 3.8 KB |
julia_threads.h | -rw-r--r-- | 13.4 KB |
llvm-alloc-helpers.cpp | -rw-r--r-- | 15.8 KB |
llvm-alloc-helpers.h | -rw-r--r-- | 5.5 KB |
llvm-alloc-opt.cpp | -rw-r--r-- | 49.3 KB |
llvm-codegen-shared.h | -rw-r--r-- | 19.8 KB |
llvm-cpufeatures.cpp | -rw-r--r-- | 3.9 KB |
llvm-demote-float16.cpp | -rw-r--r-- | 7.8 KB |
llvm-final-gc-lowering.cpp | -rw-r--r-- | 10.7 KB |
llvm-gc-invariant-verifier.cpp | -rw-r--r-- | 6.9 KB |
llvm-julia-licm.cpp | -rw-r--r-- | 17.0 KB |
llvm-julia-passes.inc | -rw-r--r-- | 1.3 KB |
llvm-late-gc-lowering.cpp | -rw-r--r-- | 124.0 KB |
llvm-lower-handlers.cpp | -rw-r--r-- | 8.9 KB |
llvm-muladd.cpp | -rw-r--r-- | 3.4 KB |
llvm-multiversioning.cpp | -rw-r--r-- | 40.7 KB |
llvm-pass-helpers.cpp | -rw-r--r-- | 12.5 KB |
llvm-pass-helpers.h | -rw-r--r-- | 5.6 KB |
llvm-propagate-addrspaces.cpp | -rw-r--r-- | 11.7 KB |
llvm-ptls.cpp | -rw-r--r-- | 15.8 KB |
llvm-remove-addrspaces.cpp | -rw-r--r-- | 15.6 KB |
llvm-remove-ni.cpp | -rw-r--r-- | 980 bytes |
llvm-simdloop.cpp | -rw-r--r-- | 9.4 KB |
llvm-version.h | -rw-r--r-- | 837 bytes |
llvm_api.cpp | -rw-r--r-- | 5.1 KB |
llvmcalltest.cpp | -rw-r--r-- | 2.0 KB |
mach_excServer.c | -rw-r--r-- | 30.5 KB |
macroexpand.scm | -rw-r--r-- | 30.3 KB |
match.scm | -rw-r--r-- | 9.8 KB |
method.c | -rw-r--r-- | 58.0 KB |
mk_julia_flisp_boot.scm | -rw-r--r-- | 137 bytes |
module.c | -rw-r--r-- | 38.8 KB |
mtarraylist.c | -rw-r--r-- | 2.5 KB |
opaque_closure.c | -rw-r--r-- | 8.3 KB |
options.h | -rw-r--r-- | 5.2 KB |
passes.h | -rw-r--r-- | 5.9 KB |
pipeline.cpp | -rw-r--r-- | 43.9 KB |
precompile.c | -rw-r--r-- | 7.3 KB |
precompile_utils.c | -rw-r--r-- | 11.8 KB |
processor.cpp | -rw-r--r-- | 34.0 KB |
processor.h | -rw-r--r-- | 11.6 KB |
processor_arm.cpp | -rw-r--r-- | 69.9 KB |
processor_fallback.cpp | -rw-r--r-- | 5.8 KB |
processor_x86.cpp | -rw-r--r-- | 42.9 KB |
rtutils.c | -rw-r--r-- | 54.2 KB |
runtime_ccall.cpp | -rw-r--r-- | 10.2 KB |
runtime_intrinsics.c | -rw-r--r-- | 64.1 KB |
safepoint.c | -rw-r--r-- | 16.0 KB |
scheduler.c | -rw-r--r-- | 24.3 KB |
serialize.h | -rw-r--r-- | 3.7 KB |
signal-handling.c | -rw-r--r-- | 16.2 KB |
signals-mach.c | -rw-r--r-- | 30.0 KB |
signals-unix.c | -rw-r--r-- | 39.9 KB |
signals-win.c | -rw-r--r-- | 18.9 KB |
simplevector.c | -rw-r--r-- | 2.9 KB |
smallintset.c | -rw-r--r-- | 7.3 KB |
stackwalk.c | -rw-r--r-- | 47.7 KB |
staticdata.c | -rw-r--r-- | 163.9 KB |
staticdata_utils.c | -rw-r--r-- | 57.5 KB |
subtype.c | -rw-r--r-- | 189.8 KB |
symbol.c | -rw-r--r-- | 5.1 KB |
sys.c | -rw-r--r-- | 22.6 KB |
task.c | -rw-r--r-- | 62.3 KB |
threading.c | -rw-r--r-- | 31.7 KB |
threading.h | -rw-r--r-- | 795 bytes |
timing.c | -rw-r--r-- | 22.7 KB |
timing.h | -rw-r--r-- | 14.0 KB |
toplevel.c | -rw-r--r-- | 42.5 KB |
typemap.c | -rw-r--r-- | 66.0 KB |
uprobes.d | -rw-r--r-- | 1.5 KB |
utils.scm | -rw-r--r-- | 3.3 KB |
uv_constants.h | -rw-r--r-- | 783 bytes |
win32_ucontext.c | -rw-r--r-- | 2.9 KB |
win32_ucontext.h | -rw-r--r-- | 639 bytes |
work-stealing-queue.h | -rw-r--r-- | 3.2 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...