Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | CSE3 generate lists of killable | David Monniaux | 2020-03-05 | 2 | -1/+5 |
| | |||||
* | xget_kills | David Monniaux | 2020-03-05 | 1 | -0/+74 |
| | |||||
* | just the analysis | David Monniaux | 2020-03-05 | 3 | -3/+6 |
| | |||||
* | fix Makefile | David Monniaux | 2020-03-05 | 1 | -0/+1 |
| | |||||
* | more about extraction and linking | David Monniaux | 2020-03-05 | 4 | -185/+190 |
| | |||||
* | streamlined lattice code | David Monniaux | 2020-03-05 | 4 | -144/+17 |
| | |||||
* | begin CSE3 | David Monniaux | 2020-03-05 | 1 | -0/+76 |
| | |||||
* | HashedSet with extraction | David Monniaux | 2020-03-05 | 1 | -0/+6 |
| | |||||
* | HashedSet with module types | David Monniaux | 2020-03-05 | 1 | -0/+115 |
| | |||||
* | move lattice stuff where it belongs | David Monniaux | 2020-03-05 | 4 | -0/+1446 |
| | |||||
* | fix for ppc | David Monniaux | 2020-03-03 | 1 | -14/+22 |
| | |||||
* | try to get it to compile | David Monniaux | 2020-03-03 | 1 | -0/+1 |
| | |||||
* | forgot k1C | David Monniaux | 2020-03-03 | 2 | -0/+147 |
| | |||||
* | fixes for risc-V | David Monniaux | 2020-03-03 | 1 | -1/+1 |
| | |||||
* | fix for aarch64 | David Monniaux | 2020-03-03 | 1 | -11/+9 |
| | |||||
* | ported to arm | David Monniaux | 2020-03-03 | 1 | -9/+6 |
| | |||||
* | ported for ppc | David Monniaux | 2020-03-03 | 1 | -22/+17 |
| | |||||
* | fix for risc-V | David Monniaux | 2020-03-03 | 1 | -9/+7 |
| | |||||
* | adjust for x86 | David Monniaux | 2020-03-03 | 1 | -44/+35 |
| | |||||
* | fixed CSE2 for mppa_k1c | David Monniaux | 2020-03-03 | 24 | -843/+1266 |
|\ | | | | | | | Merge branch 'dm-cse2-naive' of https://github.com/monniaux/CompCert into mppa-cse2 | ||||
| * | CSE2 with alias analysis | David Monniaux | 2020-03-03 | 1 | -0/+20 |
| | | |||||
| * | CSE2 for powerpc | David Monniaux | 2020-03-03 | 2 | -0/+152 |
| | | |||||
| * | aarch64 | David Monniaux | 2020-03-03 | 2 | -0/+150 |
| | | |||||
| * | CSE2 for ARM | David Monniaux | 2020-03-03 | 1 | -0/+132 |
| | | |||||
| * | better 32/64-bit handling | David Monniaux | 2020-03-03 | 2 | -26/+51 |
| | | |||||
| * | CSE2 alias analysis for Risc-V | David Monniaux | 2020-03-03 | 6 | -30/+158 |
| | | |||||
| * | moved away x86-dependent parts | David Monniaux | 2020-03-03 | 2 | -38/+46 |
| | | |||||
| * | modularize proof | David Monniaux | 2020-03-03 | 1 | -29/+10 |
| | | |||||
| * | may_overlap_sound | David Monniaux | 2020-03-03 | 1 | -0/+38 |
| | | |||||
| * | starting to move x86 stuff to x86 | David Monniaux | 2020-03-03 | 2 | -201/+216 |
| | | |||||
| * | offsets in globals for x86 | David Monniaux | 2020-03-03 | 2 | -2/+82 |
| | | |||||
| * | globals alias analysis for x86 | David Monniaux | 2020-03-03 | 3 | -10/+67 |
| | | |||||
| * | with indexed/indexed alias analysis for x86 | David Monniaux | 2020-03-03 | 3 | -4/+32 |
| | | |||||
| * | kill_store_sound | David Monniaux | 2020-03-02 | 1 | -10/+25 |
| | | |||||
| * | kill_store1_sound | David Monniaux | 2020-03-02 | 1 | -3/+41 |
| | | |||||
| * | load_store_away | David Monniaux | 2020-03-02 | 1 | -1/+2 |
| | | |||||
| * | swap predicate | David Monniaux | 2020-03-02 | 2 | -13/+27 |
| | | |||||
| * | works on x86 x86_64 | David Monniaux | 2020-03-02 | 1 | -29/+47 |
| | | |||||
| * | playing with offsets | David Monniaux | 2020-03-02 | 1 | -1/+67 |
| | | |||||
| * | Merge branch 'master' of https://github.com/AbsInt/CompCert into dm-cse2-naive | David Monniaux | 2020-03-02 | 69 | -1230/+1104 |
| |\ | |||||
| | * | Define the semantics of `free(NULL)`, continued | Xavier Leroy | 2020-03-02 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | The proof script for Events.excall_free_ok was incomplete if Archi.ptr64 is unknown (as in the RISC-V case). | ||||
| | * | Define the semantics of `free(NULL)` (#226) | Xavier Leroy | 2020-03-02 | 2 | -43/+74 |
| | | | | | | | | | | | | | | | | | | | | | | | | According to ISO C, `free(NULL)` is correct and does nothing. This commit updates accordingly the formal semantics of the `free` external function and the reference interpreter. Closes: #334 | ||||
| | * | Weaker ec_readonly condition over external calls (#225) | Xavier Leroy | 2020-03-02 | 2 | -18/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | Currently we require the memory to be unchanged on readonly locations. This is too strong. For example, current permissions could decrease from readonly to none. This commit weakens the ec_readonly condition to the strict minimum needed to show the correctness of value analysis for const globals. | ||||
| | * | Documentation comment for single_passed_as_single | Xavier Leroy | 2020-03-02 | 1 | -1/+2 |
| | | | |||||
| | * | In strict PPC ABI mode, pass single FP on stack in double FP format | Xavier Leroy | 2020-03-02 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EABI and the SVR4 ABI state that single-precision FP arguments passed on stack are passed as a 64-bit word, extended to double-precision. This commit implements this behavior by using a stack slot of type Tany64. Not only this ensures that the slot is of size and alignment 8 bytes, but it also ensures that it is accessed by stfd and lfd instructions, using single-extended-to-double format. | ||||
| | * | Define IRC.class_of_type for types Tany32, Tany64 | Xavier Leroy | 2020-03-02 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now the types Tany32 and Tany64 were not used prior to register allocation, so IRC.class_of_type did not need to be defined for those types. However, there are possible uses of stack slots of type Tany32 and Tany64 to specify calling conventions. For this purpose, we need to define class_of_type for Tany32 and Tany64. We follow the informal convention that Tany32 goes in integer registers and Tany64 goes into integer registers if 64-bit wide, or FP registers otherwise. | ||||
| | * | Make single arg alignment depend on toolchain. | Bernhard Schommer | 2020-03-02 | 3 | -3/+20 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC does passes single arguments as singles on the stack but diab and the eabi say single arguments should be passed as double on the stack. This commit changes the alignment of single arguments to 4 for gcc based backends. | ||||
| * | | loadv_storev_same | David Monniaux | 2020-03-02 | 1 | -0/+18 |
| | | | |||||
* | | | Merge branch 'mppa-cse2' of ↵ | David Monniaux | 2020-03-03 | 2176 | -666/+596149 |
|\ \ \ | | | | | | | | | | | | | gricad-gitlab.univ-grenoble-alpes.fr:sixcy/CompCert into mppa-work | ||||
| * \ \ | Merge remote-tracking branch 'origin/mppa-work' into mppa-cse2 | David Monniaux | 2020-02-14 | 51 | -456/+2436 |
| |\ \ \ |