1. 06 Dec, 2020 5 commits
    • Xavier Leroy's avatar
      Error when using -main without -interp · b40aef6c
      Xavier Leroy authored
      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.
      b40aef6c
    • Xavier Leroy's avatar
      PowerPC modeling of registers destroyed by pseudo-instructions · 5e389894
      Xavier Leroy authored
      Inlined built-in functions destroy GPR0
      5e389894
    • Xavier Leroy's avatar
      ARM modeling of registers destroyed by pseudo-instructions · a4cfb9c2
      Xavier Leroy authored
      Pflid destroys IR14
      Inlined built-in functions destroy IR14
      a4cfb9c2
    • Xavier Leroy's avatar
      AArch64 modeling of registers destroyed by pseudo-instructions · 0df99dc4
      Xavier Leroy authored
      Pfmovimms, Pfmovimmd destroy X16
      Pbtbl preserves X17
      Inlined built-in functions destroy X16 and X30
      0df99dc4
    • Xavier Leroy's avatar
      Remove Pfcfi, Pfcfiu, Pfctiu pseudoinstructions · ef5477a4
      Xavier Leroy authored
      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.
      ef5477a4
  2. 16 Nov, 2020 1 commit
  3. 14 Nov, 2020 2 commits
  4. 09 Nov, 2020 1 commit
  5. 08 Nov, 2020 1 commit
  6. 07 Nov, 2020 1 commit
  7. 06 Nov, 2020 2 commits
  8. 01 Nov, 2020 1 commit
  9. 30 Oct, 2020 1 commit
    • Xavier Leroy's avatar
      Add -main option to specify entrypoint function in interpreter mode (#374) · b1b853a2
      Xavier Leroy authored
      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.
      b1b853a2
  10. 12 Oct, 2020 2 commits
  11. 05 Oct, 2020 1 commit
    • Xavier Leroy's avatar
      Support Cygwin 64 bits · 26ddb902
      Xavier Leroy authored
      - Add support for the Win64 ABI to the x86_64 port
      - Update vararg support to handle Win64 conventions
      - Configure support for x86_64-cygwin64
      26ddb902
  12. 22 Sep, 2020 3 commits
  13. 21 Sep, 2020 2 commits
  14. 20 Sep, 2020 1 commit
  15. 18 Sep, 2020 1 commit
  16. 04 Aug, 2020 1 commit
  17. 30 Jul, 2020 2 commits
  18. 29 Jul, 2020 1 commit
    • Xavier Leroy's avatar
      Remove support for x86-32 under macOS · 338509ae
      Xavier Leroy authored
      32-bit executables cannot be built since XCode 10.0 (sep 2018).
      32-bit executables cannot be executed since MacOS 10.15 (oct 2019).
      Better remove x86-32 support and fail at configuration time instead of
      at the end of the build.
      338509ae
  19. 27 Jul, 2020 9 commits
  20. 21 Jul, 2020 2 commits