Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| | * | | | | | | | | | | | | | | | | moved some "total" value domain functions to a central location | David Monniaux | 2020-09-21 | 1 | -1/+243 | |
| | | | | | | | | | | | | | | | | | | ||||||
| * | | | | | | | | | | | | | | | | | Merge branch 'kvx-work' into mppa-RTLpathSE | Cyril SIX | 2020-05-28 | 52 | -391/+6967 | |
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adapting the new mppa-RTLpathSE passes into the new Compiler.vexpand framework | |||||
| * | | | | | | | | | | | | | | | | | [BROKEN] Merge branch 'mppa-work' into mppa-RTLpathSE | Cyril SIX | 2020-04-10 | 67 | -473/+5837 | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | ||||||
| * | | | | | | | | | | | | | | | | | | Compatibility Coq 8.11.0 | Cyril SIX | 2020-04-10 | 3 | -10/+10 | |
| | | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | | not yet the transfer functions that record predicates | David Monniaux | 2020-11-26 | 3 | -9/+78 | |
| | | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | | remains one admit | David Monniaux | 2020-11-26 | 1 | -8/+46 | |
| | | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | | is_condition_present_sound | David Monniaux | 2020-11-26 | 3 | -5/+23 | |
| | | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | | begin implementing cond table | David Monniaux | 2020-11-26 | 1 | -6/+13 | |
| | | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | | ajouté Cond, tout passe | David Monniaux | 2020-11-26 | 3 | -40/+168 | |
| | | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | | passage à Equ | David Monniaux | 2020-11-26 | 3 | -189/+196 | |
| | | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | | cond_valid_pointer_eq | David Monniaux | 2020-11-25 | 1 | -0/+14 | |
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | store2_sound | David Monniaux | 2020-11-25 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | clever_kill_store_sound | David Monniaux | 2020-11-25 | 1 | -7/+5 | |
| | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | kill_store_sound | David Monniaux | 2020-11-25 | 1 | -0/+49 | |
| | | | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | | two lemmas admitted | David Monniaux | 2020-11-25 | 3 | -9/+115 | |
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | | tiny simplification in Tunnelingaux.ml | Sylvain Boulmé | 2020-11-24 | 1 | -2/+2 | |
| |_|_|_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | minor fix in coq2html comment | Sylvain Boulmé | 2020-11-16 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | | | Tunneling: improved elimination of conditions | Sylvain Boulmé | 2020-11-16 | 4 | -256/+670 | |
| |_|_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the elimination of useless conditions done in the 2nd pass of the tunneling introduced some new "nop" instructions that were not eliminated. This commit solves this issue by anticipating the elimination of conditions in the 1st pass of the tunneling, the 2nd pass being unchanged. In case of cycles in the CFG, the full elimination of useless conditions may require several iterations in the 1st pass. Moreover, in the simulation proof, the measure counting the number of eliminated steps from each node, needs to be adapted according to the modifications on the 1st pass. Hence, this measure results from a quite complex fixpoint computation: proving its properties would be very difficult. This leads us to introduce an oracle, implementing the first pass and producing the expected measure. A certified verifier directly checks that the measure provided by the oracle satisfies the properties expected by the simulation proof. Introducing this oracle/verifier pair has here the following advantage: - the proof is simpler than the original one (e.g. having a certified union-find structure is no more necessary for this pass). - the oracle is very efficient, by using imperative data-structure to compute memoized fixpoints. At runtime, the overhead induced by the verifier computations (and the actual computation of the measure) seems largely compensated by the gains obtained through the imperative oracle. | |||||
* | | | | | | | | | | | | | | | Fixing issue with loops having branches leading to goto backedge | Cyril SIX | 2020-11-05 | 2 | -27/+32 | |
| |_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | Fixing get_loop_headers + alternative get_inner_loops (commented, not active) | Cyril SIX | 2020-11-04 | 2 | -27/+107 | |
| | | | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | | do not print "refining" unless asked | David Monniaux | 2020-11-04 | 1 | -1/+2 | |
| |_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | | do not print "updates" to nodes | David Monniaux | 2020-11-04 | 1 | -1/+2 | |
| |_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | ||||||
* | | | | | | | | | | | | refixcse3 | David Monniaux | 2020-11-03 | 2 | -34/+53 | |
| | | | | | | | | | | | | ||||||
* | | | | | | | | | | | | Loop Rotate with -flooprotate | Cyril SIX | 2020-11-03 | 2 | -1/+61 | |
| |_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | ||||||
* | | | | | | | | | | | refining CSE3 nodes | David Monniaux | 2020-10-31 | 1 | -14/+81 | |
| | | | | | | | | | | | ||||||
* | | | | | | | | | | | seems to work better | David Monniaux | 2020-10-31 | 2 | -3/+37 | |
| | | | | | | | | | | | ||||||
* | | | | | | | | | | | also match Istore | David Monniaux | 2020-10-30 | 1 | -1/+2 | |
| |_|_|_|_|_|_|_|/ / |/| | | | | | | | | | ||||||
* | | | | | | | | | | reinstated old version | David Monniaux | 2020-10-30 | 4 | -216/+39 | |
| | | | | | | | | | | ||||||
* | | | | | | | | | | reinstated previous forward_move function | David Monniaux | 2020-10-29 | 2 | -11/+98 | |
| |_|_|_|_|_|_|/ / |/| | | | | | | | | ||||||
* | | | | | | | | | CSE3 trivial_ops flag | David Monniaux | 2020-10-29 | 2 | -3/+3 | |
| | | | | | | | | | ||||||
* | | | | | | | | | in CSE3 choose lowest variable as representative for moves | David Monniaux | 2020-10-29 | 3 | -45/+104 | |
| |_|_|_|_|_|/ / |/| | | | | | | | ||||||
* | | | | | | | | DuplicateParam -> DuplicateOracle + simpler Duplicatepasses | Sylvain Boulmé | 2020-10-28 | 3 | -40/+24 | |
| |_|_|_|_|/ / |/| | | | | | | ||||||
* | | | | | | | Correcting typo | Cyril SIX | 2020-10-27 | 1 | -3/+3 | |
| | | | | | | | ||||||
* | | | | | | | Merge branch 'kvx-work' into duplicate-param | Cyril SIX | 2020-10-27 | 3 | -41/+107 | |
|\ \ \ \ \ \ \ | ||||||
| * | | | | | | | new CSE3 | David Monniaux | 2020-10-27 | 3 | -41/+107 | |
| | |_|_|_|/ / | |/| | | | | | ||||||
* | | | | | | | Oops forgot Duplicatepasses.v | Cyril SIX | 2020-10-27 | 1 | -0/+64 | |
| | | | | | | | ||||||
* | | | | | | | Splitting Duplicate in several passes | Cyril SIX | 2020-10-27 | 1 | -14/+20 | |
| | | | | | | | ||||||
* | | | | | | | Reworked Duplicate to be parametrized | Cyril SIX | 2020-10-27 | 2 | -5/+26 | |
|/ / / / / / | ||||||
* | | | | | | Loop body unrolling with -funrollbody n | Cyril SIX | 2020-10-16 | 1 | -3/+6 | |
| | | | | | | ||||||
* | | | | | | Loop body unrolling | Cyril SIX | 2020-10-16 | 1 | -1/+39 | |
| | | | | | | ||||||
* | | | | | | Comment update | Cyril SIX | 2020-10-16 | 1 | -1/+7 | |
| | | | | | | ||||||
* | | | | | | Merge remote-tracking branch 'origin/kvx-work-unroll-fixcse3' into kvx-work | David Monniaux | 2020-10-16 | 5 | -14/+458 | |
|\ \ \ \ \ \ | ||||||
| * | | | | | | kill useless moves (not yet connected) | David Monniaux | 2020-10-16 | 2 | -0/+401 | |
| | | | | | | | ||||||
| * | | | | | | some more tuning of CSE3 | David Monniaux | 2020-10-15 | 2 | -10/+23 | |
| | | | | | | | ||||||
| * | | | | | | a bit of progress | David Monniaux | 2020-10-14 | 3 | -4/+34 | |
| | | | | | | | ||||||
* | | | | | | | Comment update | Cyril SIX | 2020-10-16 | 1 | -0/+1 | |
|/ / / / / / | ||||||
* | | | | | | Merge remote-tracking branch 'origin/kvx-work' into kvx-work-unroll | Cyril SIX | 2020-10-14 | 1 | -6/+0 | |
|\ \ \ \ \ \ | ||||||
| * | | | | | | centralize if_same | David Monniaux | 2020-10-09 | 1 | -6/+0 | |
| | |_|_|/ / | |/| | | | | ||||||
* | | | | | | Ignoring Inops for counting number of instructions | Cyril SIX | 2020-10-14 | 1 | -6/+15 | |
| | | | | | | ||||||
* | | | | | | Only unrolling on a given instruction limit | Cyril SIX | 2020-10-09 | 1 | -12/+16 | |
| | | | | | |