aboutsummaryrefslogtreecommitdiffstats
path: root/driver/Driver.ml
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/mppa-fast-div' into mppa-featuresDavid Monniaux2020-04-201-0/+6
|\
| * Merge remote-tracking branch 'origin/mppa-work' into mppa-fast-divDavid Monniaux2020-04-201-10/+46
| |\ | | | | | | | | | (unfinished)
| * | added -fdiv-i32 and -fdiv-i64 optionsDavid Monniaux2019-05-291-3/+9
| | |
* | | Merge remote-tracking branch 'origin/mppa-licm' into mppa-featuresDavid Monniaux2020-04-201-0/+4
|\ \ \
| * | | add options for controlling madd and notrap selectionDavid Monniaux2020-04-191-0/+2
| | | |
| * | | begin adapting for LICM phaseDavid Monniaux2020-04-011-0/+2
| | | |
* | | | Merge remote-tracking branch 'origin/mppa-profiling' into mppa-featuresDavid Monniaux2020-04-121-2/+8
|\ \ \ \ | |/ / / |/| | |
| * | | -fbranch-probabilitiesDavid Monniaux2020-04-081-1/+2
| | | |
| * | | reloading and exploiting seems to workDavid Monniaux2020-04-081-1/+3
| | | |
| * | | fixed a bug in support libraries; reload profiling infoDavid Monniaux2020-04-081-0/+1
| | | |
| * | | begin installing profilingDavid Monniaux2020-04-081-1/+3
| | |/ | |/|
* | | Merge remote-tracking branch 'origin/mppa-work' into mppa-cse3David Monniaux2020-03-171-1/+5
|\| |
| * | Desactivating branch predictions by defaultCyril SIX2020-03-171-1/+5
| | |
* | | Merge remote-tracking branch 'origin/mppa-work' into mppa-cse3David Monniaux2020-03-151-0/+2
|\| |
| * | more inliningDavid Monniaux2020-03-151-0/+2
| | |
* | | CSE3 alias analysisDavid Monniaux2020-03-141-2/+4
| | |
* | | Merge remote-tracking branch 'origin/mppa-work' into mppa-cse3David Monniaux2020-03-111-3/+3
|\| |
| * | Fixing buildCyril SIX2020-03-101-1/+1
| | |
| * | [BROKEN] Replacing the boolean -fduplicate option by an integerCyril SIX2020-03-091-2/+2
| | | | | | | | | | | | To control the threshold for duplication
* | | -fcse3 command line optionDavid Monniaux2020-03-101-1/+3
|/ /
* | Merge remote-tracking branch 'origin/mppa-work' into mppa-cse2David Monniaux2020-02-141-0/+3
|\ \
| * | Added option -ftracelinearize which linearizes based on ifnot branchesCyril SIX2020-02-121-0/+3
| | |
* | | Merge remote-tracking branch 'origin/mppa-work' into mppa-cse2David Monniaux2020-02-061-1/+6
|\| |
| * | Added flag to desactivate condition inversionCyril SIX2020-02-031-0/+3
| | |
| * | Tail duplication optimization defaulting to offCyril SIX2020-01-271-1/+0
| | |
| * | Added a flag to desactivate tail duplicationCyril SIX2020-01-271-1/+4
| | |
* | | Merge branch 'dm-cse2' of /home/monniaux/progs/CompCert into mppa-cs2David Monniaux2020-01-281-2/+6
|\ \ \ | |/ / |/| |
| * | connected (just a silly problem)David Monniaux2020-01-281-2/+5
| | |
* | | Added description for forward movesCyril SIX2020-01-171-0/+1
| | |
* | | connect forward-moves to compilerDavid Monniaux2020-01-081-0/+1
| | |
* | | -fall-loads-nontrapDavid Monniaux2019-09-091-0/+1
| | |
* | | helpers broke compilationDavid Monniaux2019-07-191-4/+0
| | |
* | | Merge branch 'master' of https://github.com/AbsInt/CompCert into ↵David Monniaux2019-07-191-3/+7
|\| | | | | | | | | | | mppa-work-upstream-merge
| * | -O0 now implies -fno-inliningMichael Schmidt2019-07-091-1/+1
| | |
| * | Update documentation of -ObranchlessXavier Leroy2019-07-051-1/+1
| | | | | | | | | | | | Updated man page + better usage message.
| * | Rename option `-ffavor-branchless` into `-Obranchless`Xavier Leroy2019-07-051-3/+3
| | | | | | | | | | | | | | | Easier to type, and consistent with `-Os` (optimize for smaller code / optimize for fewer conditional branches).
| * | If-conversion optimizationXavier Leroy2019-06-061-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extends the instruction selection pass with an if-conversion optimization: some if/then/else statements are converted into "select" operations, which in turn can be compiled down to branchless instruction sequences if the target architecture supports them. The statements that are converted are of the form if (cond) { x = a1; } else { x = a2; } if (cond) { x = a1; } if (cond) { /*skip*/; } else { x = a2; } where a1, a2 are "safe" expressions, containing no operations that can fail at run-time, such as memory loads or integer divisions. A heuristic in backend/Selectionaux.ml controls when the optimization occurs, depending on command-line flags and the complexity of the "then" and "else" branches.
* | | (#142) Desactivating scheduling when using -O1 optimizationCyril SIX2019-07-171-1/+3
| | |
* | | Merge branch 'if-conversion' of https://github.com/AbsInt/CompCert into ↵David Monniaux2019-06-031-5/+17
|\ \ \ | | | | | | | | | | | | mppa-if-conversion
| * | | If-conversion optimizationXavier Leroy2019-05-311-2/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extends the instruction selection pass with an if-conversion optimization: some if/then/else statements are converted into "select" operations, which in turn can be compiled down to branchless instruction sequences if the target architecture supports them. The statements that are converted are of the form if (cond) { x = a1; } else { x = a2; } if (cond) { x = a1; } if (cond) { /*skip*/; } else { x = a2; } where a1, a2 are "safe" expressions, containing no operations that can fail at run-time, such as memory loads or integer divisions. A heuristic in backend/Selectionaux.ml controls when the optimization occurs, depending on command-line flags and the complexity of the "then" and "else" branches.
| * | Added options -fcommon and -fno-common (#164)Bernhard Schommer2019-05-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The option -fcommon controls whether uninitialized global variables are placed in the COMMON section. If the option is given in the negated form, -fno-common, variables are not placed in the COMMON section. They are placed in the same sections as gcc does. If the variables are not placed in the COMMON section merging of tentative definitions is inhibited and multiple definitions lead to a linker error, as it does for gcc.
| * | Check for alignment of command-line switches.Bernhard Schommer2019-05-101-3/+7
| | | | | | | | | | | | | | | | | | Add a check for alignment on command-line switches `-falign-*`. The check is similar to the one for the alignment attribute and ensures that only powers of two can be specified.
* | | option -faddx (off by default until questions cleared)David Monniaux2019-05-111-1/+2
| |/ |/|
* | Merge remote-tracking branch 'origin/mppa-peephole' into mppa-workDavid Monniaux2019-05-031-0/+1
|\ \
| * | -fcoalesce-memDavid Monniaux2019-05-031-0/+1
| | |
* | | Renaming "dumb" scheduling into "greedy"Cyril SIX2019-05-031-1/+1
|/ /
* | Merge branch 'mppa-xsaddr' into mppa-workDavid Monniaux2019-05-021-0/+3
|\ \
| * | command line options (still incomplete)David Monniaux2019-05-021-0/+3
| | |
* | | Setting fpostpass= optionCyril SIX2019-04-301-6/+8
| | |
* | | The scheduler selection works, but the argument is not optional yet ↵Cyril SIX2019-04-291-2/+5
|/ / | | | | | | (-fpostpass nameofscheduler)