Jakob Degen
48b01a0d0e
Add new MutatatingUseContext
s for deinit and SetDiscriminant
2022-04-11 09:26:26 -04:00
Tomasz Miąsko
000b36c505
Remove deprecated LLVM-style inline assembly
2022-01-12 18:51:31 +01:00
LegionMammal978
eaf39cbd9e
Remove in_band_lifetimes
from rustc_codegen_ssa
...
See #91867 for more information.
2021-12-15 00:41:41 -05:00
cynecx
91021de1f6
LLVM codgen support for unwinding inline assembly
2021-12-03 23:51:49 +01:00
Amanieu d'Antras
940b2eabad
Add initial AST and MIR support for unwinding from inline assembly
2021-12-03 23:51:46 +01:00
Eduard-Mihai Burtescu
4ce933f13f
rustc_target: move LayoutOf
to ty::layout
.
2021-09-02 01:17:14 +03:00
Tomasz Miąsko
40c9aaee13
Do not emit alloca for ZST locals with multiple assignments
...
When rebuilding the standard library with `-Zbuild-std` this reduces the
number of locals that require an allocation from 62315 to 61767.
2021-06-10 14:53:06 +02:00
Tomasz Miąsko
4237a05233
Use preorder traversal when checking for SSA locals
...
When rebuilding the standard library, this change reduces the number of
locals that require an alloca from 62452 to 62348.
2021-06-07 05:33:49 +02:00
Guillaume Gomez
a3c76f6d98
Rollup merge of #85965 - tmiasko:a, r=nagisa
...
Remove dead code from `LocalAnalyzer`
2021-06-07 01:06:51 +02:00
Tomasz Miąsko
624c693508
Remove check for projections in a branch without any
...
The else branch is taken when projection slice is empty so everything
except for the call to the `visit_local` is a dead code.
2021-06-03 16:29:38 +02:00
Tomasz Miąsko
59b6583287
Remove unused support for VarDebugInfo
...
This code has been dead since changes in 68961.
2021-06-03 16:29:21 +02:00
Tomasz Miąsko
76695c41da
Remove special handling of box_free
from LocalAnalyzer
...
The special casing of `box_free` predates the use of dominators in
analyzer. It is no longer necessary now that analyzer verifies that
the first assignment dominates all uses.
2021-05-31 00:00:00 +00:00
bors
e655fb6221
Auto merge of #82936 - oli-obk:valtree, r=RalfJung,lcnr,matthewjasper
...
Implement (but don't use) valtree and refactor in preparation of use
This PR does not cause any functional change. It refactors various things that are needed to make valtrees possible. This refactoring got big enough that I decided I'd want it reviewed as a PR instead of trying to make one huge PR with all the changes.
cc `@rust-lang/wg-const-eval` on the following commits:
* 2027184 implement valtree
* eeecea9 fallible Scalar -> ScalarInt
* 042f663 ScalarInt convenience methods
cc `@eddyb` on ef04a6d
cc `@rust-lang/wg-mir-opt` for cf1700c (`mir::Constant` can now represent either a `ConstValue` or a `ty::Const`, and it is totally possible to have two different representations for the same value)
2021-03-16 22:42:56 +00:00
Simon Vandel Sillesen
35566bfd7d
Do not emit alloca for ZST local even if it is uninitialized
2021-03-13 18:01:14 -05:00
Oli Scherer
914df2a493
Add ty
helper function for mir constants
...
This is in preparation of the `literal` field becoming an enum that distinguishes between type level constants and runtime constants
2021-03-12 12:33:46 +00:00
Henry Boisdequin
5ec4b060a7
make visit_projection
take a PlaceRef
2021-02-16 14:20:36 +05:30
Ralf Jung
1b09dc2596
PlaceRef::ty: use method call syntax
2021-01-16 11:38:14 +01:00
Ralf Jung
afa7408041
use PlaceRef more consistently instead of loosely coupled local+projection
2021-01-03 14:14:55 +01:00
Matthias Krüger
d12a358673
use matches!() macro in more places
2020-12-24 13:35:12 +01:00
Bastian Kauschke
2bf93bd852
compiler: fold by value
2020-11-16 22:34:57 +01:00
LeSeulArtichaut
3e14b684dd
Change ty.kind to a method
2020-09-04 17:47:51 +02:00
mark
9e5f7d5631
mv compiler to compiler/
2020-08-30 18:45:07 +03:00