Guillaume Gomez
99529825e8
Add missing examples in some thread functions
2016-12-21 18:05:11 +01:00
bors
1b38776c1f
Auto merge of #38302 - Mark-Simulacrum:trans-cleanup, r=eddyb
...
Cleanup old trans
This is a cleanup of old trans, with the following main points:
- Remove the `build.rs` API (prefer using `Builder` directly, which is now passed where needed through `BlockAndBuilder`).
- Remove `Block` (inlining it into `BlockAndBuilder`)
- Remove `Callee::call`, primarily through inlining and simplification of code.
- Thinned `FunctionContext`:
- `mir`, `debug_scopes`, `scopes`, and `fn_ty` are moved to `MirContext`.
- `param_env` is moved to `SharedCrateContext` and renamed to `empty_param_env`.
- `llretslotptr` is removed, replaced with more careful management of the return values in calls.
- `landingpad_alloca` is inlined into cleanup.
- `param_substs` are moved to `MirContext`.
- `span` is removed, it was never set to anything but `None`.
- `block_arena` and `lpad_arena` are removed, since neither was necessary (landing pads and block are quite small, and neither needs arena allocation).
- Fixed `drop_in_place` not running other destructors in the same function.
Fixes #35566 (thanks to @est31 for confirming).
2016-12-21 10:38:22 +00:00
bors
439c3128d7
Auto merge of #38099 - GuillaumeGomez:cast_suggestions, r=nikomatsakis
...
Cast suggestions
r? @nikomatsakis
2016-12-21 07:28:16 +00:00
Mark Simulacrum
0013d4cdf6
Fix rebase errors.
2016-12-20 20:37:19 -07:00
bors
92d46006bb
Auto merge of #38506 - alexcrichton:fix-makefiles, r=brson
...
mk: Fix compile with makefiles
A tweak was made to dependencies in #38451 but the makefiles weren't updated to
accompany this. Instead of trying to integerate the `build_helper` crate into
the makefiles (which currently isn't present) this commit takes the approach of
just duplicating the required logic, which should be small enough for now.
2016-12-21 03:09:14 +00:00
Mark Simulacrum
079abd0b1e
Reuse cleanup pad declared at start of block.
2016-12-20 20:04:46 -07:00
Mark Simulacrum
c1bc5e51d6
Improve cache quality for eh_personality.
2016-12-20 20:04:46 -07:00
Mark Simulacrum
a9b5c63d43
Move eh_unwind_resume into CrateContext
...
Also improves cache quality.
2016-12-20 20:04:46 -07:00
Mark Simulacrum
a811f60834
Simplify get_landing_pad by inlining UnwindKind.
2016-12-20 20:04:45 -07:00
Mark Simulacrum
654131cb53
Add unreachable() after calls to eh_unwind_resume.
2016-12-20 20:04:45 -07:00
Mark Simulacrum
07cf2a9005
Simplify callee by removing is_indirect branch.
2016-12-20 20:04:45 -07:00
Mark Simulacrum
57914f626b
Move eh_personality() onto CrateContext
2016-12-20 20:04:45 -07:00
Mark Simulacrum
3198797050
Remove outdated comment
2016-12-20 20:04:45 -07:00
Mark Simulacrum
bd009dc444
Remove fn_ty from FunctionContext
2016-12-20 20:04:44 -07:00
Mark Simulacrum
15b9b27bb0
slice_for_each gives a reference already
2016-12-20 20:04:44 -07:00
Mark Simulacrum
295ea0d6c3
Reduce coerce_unsized_into to one call
...
We cannot inline due to it being recursive.
2016-12-20 20:04:44 -07:00
Mark Simulacrum
98a13ffe44
Remove outdated comment
2016-12-20 20:04:44 -07:00
Mark Simulacrum
b9f1064760
Inline make_drop_glue
2016-12-20 20:04:44 -07:00
Mark Simulacrum
6a1ec55c47
Remove needless check
2016-12-20 20:04:43 -07:00
Mark Simulacrum
0d5a8ad110
Move get_landing_pad onto DropVal.
2016-12-20 20:04:43 -07:00
Mark Simulacrum
6f368e6da0
Use fn_ty directly
2016-12-20 20:04:43 -07:00
Mark Simulacrum
d55e73954a
Do not use BAB after calling unreachable.
...
This does not make unreachable and other terminators take self by-value
because it is deemed too difficult. We would need to create by-value
methods on BAB that call into Builder, due to the Deref to builder.
2016-12-20 20:04:43 -07:00
Mark Simulacrum
6fac0a1a84
Change *.fcx.ccx to *.ccx
2016-12-20 20:04:43 -07:00
Mark Simulacrum
15c9e5e35b
Mutate llargs instead of reconstructing it.
2016-12-20 20:04:42 -07:00
Mark Simulacrum
88202c5b83
Replace bcx.ccx() with bcx.ccx
2016-12-20 20:04:41 -07:00
Mark Simulacrum
f103ea4f89
Remove unecessary logic.
2016-12-20 20:03:36 -07:00
Mark Simulacrum
f11721a13e
Add helper function to set debug locations
2016-12-20 20:03:35 -07:00
Mark Simulacrum
22bf541e27
Clean up uses of set_personality_fn.
...
Remove gnu/msvc constructors for Funclet; these are worse for
readability than explicit Some/None.
2016-12-20 20:03:35 -07:00
Mark Simulacrum
5ef85dd57e
Change param_env to empty_param_env
2016-12-20 20:03:35 -07:00
Mark Simulacrum
7f87163071
Simplify funclets creation.
2016-12-20 20:03:35 -07:00
Mark Simulacrum
5301d380b6
Remove unused bcx from LocalAnalyzer.
2016-12-20 20:03:35 -07:00
Mark Simulacrum
0256f60461
Move debug info check into create_function_debug_context
2016-12-20 20:03:34 -07:00
Mark Simulacrum
a445199afb
Remove public ccx function on MirContext
2016-12-20 20:03:34 -07:00
Mark Simulacrum
7f5dffbb19
Make debuginfo take debug_context instead of MirContext
2016-12-20 20:03:34 -07:00
Mark Simulacrum
dd1890f7f4
Remove unreachable call to unreachable
2016-12-20 20:03:34 -07:00
Mark Simulacrum
6e3d8cda2c
Fix and cleanup callee shims
2016-12-20 20:03:34 -07:00
Mark Simulacrum
f9f1406eef
Rebase fixes
2016-12-20 20:03:33 -07:00
Mark Simulacrum
63a0d85457
Make add_incoming_to_phi call slightly less confusing.
2016-12-20 20:03:33 -07:00
Mark Simulacrum
2bda3b7acb
Inline and simplify init_cpad
2016-12-20 20:03:33 -07:00
Mark Simulacrum
4c7041ea7d
Don't special case abort/unreachable intrinsics
2016-12-20 20:03:33 -07:00
Mark Simulacrum
0a71b38803
Remove llretslotptr from FunctionContext
2016-12-20 20:03:33 -07:00
Mark Simulacrum
e10695f161
Move param_substs onto MirContext
2016-12-20 20:03:32 -07:00
Mark Simulacrum
a42a3429fe
Move param_env onto SharedCrateContext, and move functions which need the ParamEnv onto it.
2016-12-20 20:03:32 -07:00
Mark Simulacrum
2b9a0efef4
Move debug_context to MirContext from FunctionContext
2016-12-20 20:03:32 -07:00
Mark Simulacrum
fc8c280fbc
Remove lifetime parameter
2016-12-20 20:03:32 -07:00
Mark Simulacrum
a802b9f75f
Inline get_funclet
2016-12-20 20:03:31 -07:00
Mark Simulacrum
1173db0062
Inline last remaining use of Callee::call and delete unused code
2016-12-20 20:03:31 -07:00
Mark Simulacrum
97a2096e5e
Inline and cleanup build_return_block
2016-12-20 20:03:31 -07:00
Mark Simulacrum
515d14f094
Inline/Replace finish with build_return_block
2016-12-20 20:03:31 -07:00
Mark Simulacrum
b48e74b5b0
Rename 'blk and 'bcx to 'a
2016-12-20 20:03:31 -07:00