about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2023-05-24 10:49:48 +1000
committerNicholas Nethercote <n.nethercote@gmail.com>2023-05-24 12:33:35 +1000
commit20de2ba7596322026501e1b5134c8724224b844e (patch)
tree6eb896583a3ef422f01b1be207dc2b257412acc2 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parentb39b7098eaaf5eb99e2f210ad98307ab310c1eee (diff)
downloadrust-20de2ba7596322026501e1b5134c8724224b844e.tar.gz
rust-20de2ba7596322026501e1b5134c8724224b844e.zip
Remove `{Pre,Post}InliningPartitioning`.
I find that these structs obfuscate the code. Removing them and just
passing the individual fields around makes the `Partition` method
signatures a little longer, but makes the data flow much clearer. E.g.

- `codegen_units` is mutable all the way through.
- `codegen_units`'s length is changed by `merge_codegen_units`, but only
  the individual elements are changed by `place_inlined_mono_items` and
  `internalize_symbols`.
- `roots`, `internalization_candidates`, and `mono_item_placements` are
  all immutable after creation, and all used by just one of the four
  methods.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions