[all-commits] [llvm/llvm-project] 5c05b4: [Orc] Add setters for target options and features ...

lhames via All-commits all-commits at lists.llvm.org
Mon Dec 2 01:57:00 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5c05b4a279f51d7eaa91f008bc5dc2155d98061a
      https://github.com/llvm/llvm-project/commit/5c05b4a279f51d7eaa91f008bc5dc2155d98061a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2019-12-02 (Mon, 02 Dec 2019)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
    M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp

  Log Message:
  -----------
  [Orc] Add setters for target options and features to JITTargetMachineBuilder.

Also remove redundant feature initialization steps from the detectHost method.


  Commit: 0e7ecc651a47f818abafdfe5f928923f789fe0bc
      https://github.com/llvm/llvm-project/commit/0e7ecc651a47f818abafdfe5f928923f789fe0bc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2019-12-02 (Mon, 02 Dec 2019)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITSymbol.h

  Log Message:
  -----------
  [ExecutionEngine] Add a jitTargetAddressToFunction utility function.

jitTargetAddressToFunction takes a JITTargetAddress and returns a pointer of
the given function pointer type suitable for calling to invoke the function
at the target address.

jitTargetAddressToFunction currently behaves the same as
jitTargetAddressToPointer, but in the near future will be updated to perform
pointer signing on architectures that require it (e.g. arm64e). For this
reason it should always be preferred when generating callable pointers for
JIT'd functions.


  Commit: ece8fed609061638bc867ecb74e179cb86426d60
      https://github.com/llvm/llvm-project/commit/ece8fed609061638bc867ecb74e179cb86426d60
  Author: Lang Hames <lhames at gmail.com>
  Date:   2019-12-02 (Mon, 02 Dec 2019)

  Changed paths:
    M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [ORC] Add a runAsMain utility function to ExecutionUtils.

The runAsMain function takes a pointer to a function with a standard C main
signature, int(*)(int, char*[]), and invokes it using the given arguments and
program name. The arguments are copied into writable temporary storage as
required by the C and C++ specifications, so runAsMain safe to use when calling
main functions that modify their arguments in-place.

This patch also uses the new runAsMain function to replace hand-rolled versions
in lli, llvm-jitlink, and the SpeculativeJIT example.


Compare: https://github.com/llvm/llvm-project/compare/902dc6c69ce7...ece8fed60906


More information about the All-commits mailing list