| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
|\| |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Outside of -interp mode, -main has no (known) effect but could be
confused for a linker option that sets the program's entrypoint, say.
It's safer to reject the option.
|
| | |
| | |
| | |
| | | |
Inlined built-in functions destroy GPR0
|
| | |
| | |
| | |
| | |
| | | |
Pflid destroys IR14
Inlined built-in functions destroy IR14
|
| | |
| | |
| | |
| | |
| | |
| | | |
Pfmovimms, Pfmovimmd destroy X16
Pbtbl preserves X17
Inlined built-in functions destroy X16 and X30
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also remove the Ofloatofint, Ofloatofintu, and Ointuoffloat
PowerPC operations.
The pseudoinstructions were used to implement these operations,
as follows:
Pfcfi : Ofloatofint i.e. the conversion signed int32 -> float64
Pfcfiu : Ofloatofintu i.e. the conversion unsigned int32 -> float64
Pfctiu : Ointuoffloat i.e. the conversion float64 -> unsigned int32
These pseudoinstructions were expanded (in Asmexpand.ml) in terms of
Pfcfid : signed int64 -> float64
Pfctidz : float64 -> signed int64
and int32/int64 conversions.
This commit performs this expansion during instruction selection
(SelectOp.vp):
floatofint(n) becomes floatoflong(longofint(n))
floatofintu(n) becomes floatoflong(longuofint(n))
intuoffloat(n) becomes cast32unsigned(longoffloat(n))
Then there is no need for the 3 removed operations and the 3 removed
pseudoinstructions.
More importantly, the correctness of these expansions is now proved as
part of instruction selection, using the corresponding results from
Floats.v.
|
| | | |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
Makefile
configure
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
In some cases of two imbricated loops, we would tail-duplicate too much,
because of the input trace traversing both loop headers.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Happened when a loop was predicted not to be taken
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Right now though the compilation time is too high for glpk, I need to
figure out why
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |/
| | |/| |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Stopping on warnings is useful for development builds, but unhelpful
for released software.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The semantics of the various selection functions are defined analogously
to the ones from the type generic sel function. The semantics for the
various high word multiplication functions is defined using the Integer
functions.
Bug 30035
|
| | | |
| | | |
| | | |
| | | |
| | | | |
These comparisons are supported in the hybrid 64 bit mode.
Bug 30035
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The two built-in function map to the fmax and fmin instruction.
Bug 30035
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When running unit tests with the CompCert reference interpreter, it's nice to be able to start execution at a given test function instead of having to write a main function.
This PR adds a -main command-line option to give the name of the entry point function. The default is still main. Frama-C has a similar option.
The function specified with -main is called with no arguments. If its return type is int, its return value is the exit status of the program. Otherwise, its return value is ignored and the program exits with status 0.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is the left inverse of `ident_to_string`.
Closes: #372
|
| | | |
| | | |
| | | |
| | | | |
It is specific to AbsInt's commercial version of CompCert.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Add support for the Win64 ABI to the x86_64 port
- Update vararg support to handle Win64 conventions
- Configure support for x86_64-cygwin64
|
| | | |
| | | |
| | | |
| | | | |
Use different combination of options for different test files.
|