Camille GILLOT
61ede075bf
Stop ICEing on impossible predicates.
2024-06-29 10:42:31 +00:00
Nicholas Nethercote
9287aede31
Remove #[macro_use] extern crate tracing
from rustc_mir_dataflow
.
2024-05-23 18:02:40 +10:00
Scott McMurray
95c0e5c6a8
Remove Rvalue::CheckedBinaryOp
2024-05-17 20:33:02 -07:00
Nicholas Nethercote
99e036bd21
Remove extern crate rustc_middle
from numerous crates.
2024-04-29 14:50:45 +10:00
Michael Goulet
ff0c31e6b9
Programmatically convert some of the pat ctors
2024-03-22 11:13:29 -04:00
Michael Goulet
c98d6994a3
More comments, final tweaks
2024-02-06 02:22:58 +00:00
Michael Goulet
a82bae2172
Teach typeck/borrowck/solvers how to deal with async closures
2024-02-06 02:22:58 +00:00
Matthias Krüger
8479945c08
NFC don't convert types to identical types
2023-12-15 23:56:24 +01:00
Michael Goulet
079a2e865f
is_{some,ok}_and
2023-11-25 18:47:16 +00:00
Nicholas Nethercote
a65e68a43b
Remove unnecessary things from State
and Map
.
2023-11-23 18:49:58 +11:00
Nicholas Nethercote
b8d340db14
Remove unnecessary ValueAnalysisWrapper::Direction
.
...
`Forward` is the default.
2023-11-23 15:29:26 +11:00
Nicholas Nethercote
64a8c4ddda
Reduce pub
usage.
2023-11-23 15:29:24 +11:00
Camille GILLOT
4abea83663
Improve naming and comments.
2023-10-21 07:01:25 +00:00
Camille GILLOT
751a079413
Implement JumpThreading pass.
2023-10-21 06:58:38 +00:00
Oli Scherer
e96ce20b34
s/generator/coroutine/
2023-10-20 21:14:01 +00:00
Oli Scherer
60956837cf
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
Michael Goulet
b2d2184ede
Format all the let chains in compiler
2023-10-13 08:59:36 +00:00
bors
551c7183f8
Auto merge of #115794 - cjgillot:aggregate-no-box, r=davidtwco
...
Do not create a DerefLen place for `Box<[T]>`.
Fixes https://github.com/rust-lang/rust/issues/115789
2023-09-24 06:13:17 +00:00
Ralf Jung
c94410c145
rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const
2023-09-21 08:12:30 +02:00
Camille GILLOT
e76b7f226a
Do not create a DerefLen place for Box<[T]>
.
2023-09-20 16:07:03 +00:00
Camille GILLOT
6ad6b4381c
Support non-scalar constants.
2023-09-11 16:29:41 +00:00
Camille GILLOT
4ad22b91fc
Correct comment and assumption.
2023-09-07 15:45:25 +00:00
Camille GILLOT
fc63543792
Support array length.
2023-09-06 16:05:04 +00:00
Camille GILLOT
7ef555d84a
Support non-trivial scalars in ConstProp.
2023-09-05 21:25:41 +00:00
Ralf Jung
4c53783f3c
when terminating during unwinding, show the reason why
2023-08-24 13:28:26 +02:00
Ralf Jung
818ec8e23a
give some unwind-related terminators a more clear name
2023-08-20 15:52:38 +02:00
Camille GILLOT
388f6a6413
Make TerminatorEdge plural.
2023-08-16 18:12:18 +00:00
Camille GILLOT
f19cd3f2e1
Use TerminatorEdge for dataflow-const-prop.
2023-08-16 18:12:18 +00:00
Camille GILLOT
5173d85043
Allow apply_terminator_effect to customize edges.
2023-08-16 18:12:17 +00:00
ouz-a
6df546281b
cleanup misinformation regarding has_deref
2023-08-06 17:29:09 +03:00
Matthias Krüger
3ce90b1649
inline format!() args up to and including rustc_codegen_llvm
2023-07-30 14:22:50 +02:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
Jason Newcomb
eaddc37075
Take MIR dataflow analyses by mutable reference.
2023-05-18 17:46:39 -04:00
Camille GILLOT
ccc1da247b
Prevent stack overflow.
2023-05-09 17:27:58 +00:00
Camille GILLOT
2aa1c23fed
Add a few comments.
2023-05-09 17:27:58 +00:00
Camille GILLOT
79c073746b
Do not flood on copy_nonoverlapping.
2023-05-09 17:27:58 +00:00
Camille GILLOT
add5124dce
Extract handle_set_discriminant.
2023-05-09 17:27:58 +00:00
Camille GILLOT
2b0bf3cf59
Trim the places that will not be used.
2023-05-09 17:27:58 +00:00
Camille GILLOT
38fa676330
Precompute values to flood.
2023-05-09 17:27:58 +00:00
Camille GILLOT
7c3d55150d
Create tracked places breadth first.
2023-05-09 17:27:58 +00:00
Camille GILLOT
71138e9933
Make HasTop and HasBottom consts.
2023-05-09 17:27:58 +00:00
Maybe Waffle
e496fbec92
Split {Idx, IndexVec, IndexSlice}
into their own modules
2023-04-24 13:53:35 +00:00
Josh Soref
e09d0d2a29
Spelling - compiler
...
* account
* achieved
* advising
* always
* ambiguous
* analysis
* annotations
* appropriate
* build
* candidates
* cascading
* category
* character
* clarification
* compound
* conceptually
* constituent
* consts
* convenience
* corresponds
* debruijn
* debug
* debugable
* debuggable
* deterministic
* discriminant
* display
* documentation
* doesn't
* ellipsis
* erroneous
* evaluability
* evaluate
* evaluation
* explicitly
* fallible
* fulfill
* getting
* has
* highlighting
* illustrative
* imported
* incompatible
* infringing
* initialized
* into
* intrinsic
* introduced
* javascript
* liveness
* metadata
* monomorphization
* nonexistent
* nontrivial
* obligation
* obligations
* offset
* opaque
* opportunities
* opt-in
* outlive
* overlapping
* paragraph
* parentheses
* poisson
* precisely
* predecessors
* predicates
* preexisting
* propagated
* really
* reentrant
* referent
* responsibility
* rustonomicon
* shortcircuit
* simplifiable
* simplifications
* specify
* stabilized
* structurally
* suggestibility
* translatable
* transmuting
* two
* unclosed
* uninhabited
* visibility
* volatile
* workaround
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-17 16:09:18 -04:00
Gary Guo
bf6b84b10a
Fix new usage of old api
2023-04-06 09:34:16 +01:00
Scott McMurray
a2ee7592d6
Use &IndexSlice
instead of &IndexVec
where possible
...
All the same reasons as for `[T]`: more general, less pointer chasing, and `&mut IndexSlice` emphasizes that it doesn't change *length*.
2023-04-02 17:35:37 -07:00
Scott McMurray
5bbaeadc01
Move mir::Field
→ abi::FieldIdx
...
The first PR for https://github.com/rust-lang/compiler-team/issues/606
This is just the move-and-rename, because it's plenty big-and-bitrotty already. Future PRs will start using `FieldIdx` more broadly, and concomitantly removing `FieldIdx::new`s.
2023-03-28 22:22:37 -07:00
Camille GILLOT
4462bb54e3
Introduce a no-op PlaceMention statement for let _ =
.
2023-03-09 17:45:13 +00:00
Matthias Krüger
4e84fbf8a0
Rollup merge of #108856 - Zeegomo:remove-drop-and-rep, r=tmiasko
...
Remove DropAndReplace terminator
#107844 made DropAndReplace unused, let's remove it completely from the codebase.
2023-03-08 21:26:51 +01:00
Giacomo Pasini
c5d4e4d907
Remove DropAndReplace terminator
...
PR 107844 made DropAndReplace unused, let's remove it completely
from the codebase.
2023-03-07 14:25:22 +01:00
Camille GILLOT
fc1a861558
Erase lifetimes in SROA.
2023-03-05 18:35:30 +00:00