Camille GILLOT
a2a9125d6a
Add test for ptr ops with same provenance.
2024-02-09 21:06:24 +00:00
Camille GILLOT
5a6f14c4f4
Split gvn wide ptr tests.
2024-02-09 21:01:57 +00:00
Camille GILLOT
22ed51e136
Do not read a scalar on a non-scalar layout.
2024-01-16 22:32:48 +00:00
Camille GILLOT
5fc23ad8e6
Simplify unary operations.
2024-01-16 22:20:54 +00:00
Camille GILLOT
666030c51b
Simplify binary ops.
2024-01-16 22:20:53 +00:00
Ralf Jung
0f9baa8a31
custom mir: make it clear what the return block is
2023-12-26 20:15:26 +01:00
Camille GILLOT
8022057ebb
Avoid overflow in GVN constant indexing.
2023-12-17 19:50:38 +00:00
Tomasz Miąsko
78da577650
Custom MIR: Support cleanup blocks
...
Cleanup blocks are declared with `bb (cleanup) = { ... }`.
`Call` and `Drop` terminators take an additional argument describing the
unwind action, which is one of the following:
* `UnwindContinue()`
* `UnwindUnreachable()`
* `UnwindTerminate(reason)`, where reason is `ReasonAbi` or `ReasonInCleanup`
* `UnwindCleanup(block)`
Also support unwind resume and unwind terminate terminators:
* `UnwindResume()`
* `UnwindTerminate(reason)`
2023-11-14 08:23:58 +01:00
Camille GILLOT
d80eb3a498
Verify that the alloc_id is Memory.
2023-10-25 17:59:30 +00:00
Camille GILLOT
c4cc9ca060
Do not merge fn pointer casts.
2023-10-25 06:47:04 +00:00
Camille GILLOT
ac0228da59
FileCheck gvn.
2023-10-25 06:46:48 +00:00
Camille GILLOT
5e78b9cdb3
Disambiguate non-deterministic constants.
2023-10-25 06:46:48 +00:00
Camille GILLOT
dbf9ea30dd
Transform large arrays into Repeat expressions when possible.
2023-10-25 06:46:48 +00:00
Camille GILLOT
80a5e8522d
Extract simplify_aggregate.
2023-10-25 06:46:47 +00:00
Camille GILLOT
692e528647
Simplify projections in GVN.
2023-10-25 06:46:47 +00:00
Camille GILLOT
4ff03cd1a4
Allow to run filecheck in mir-opt tests.
2023-10-19 15:51:52 +00:00
Camille GILLOT
b2ff77cb78
Do not clone valtree and slice constants.
2023-09-24 09:09:05 +00:00
Camille GILLOT
1ea9399803
Do not check copiability.
2023-09-24 09:09:04 +00:00
Camille GILLOT
8b848af325
Add global value numbering pass.
2023-09-24 09:09:04 +00:00