Skip to content
This repository has been archived by the owner on Jan 13, 2021. It is now read-only.

Support LLVM 9.0 #7

Open
XVilka opened this issue Sep 26, 2019 · 0 comments
Open

Support LLVM 9.0 #7

XVilka opened this issue Sep 26, 2019 · 0 comments

Comments

@XVilka
Copy link

XVilka commented Sep 26, 2019

LLVM 9.0 was recently released, with many things inside:

  • The RISCV target is no longer “experimental” (see Changes to the RISCV Target below for more details).
  • Support for target-independent hardware loops in IR has been added, with PowerPC and Arm implementations.
  • Various optimisations

Changes to the LLVM IR

  • Added immarg parameter attribute. This indicates an intrinsic parameter is required to be a simple constant. This annotation must be accurate to avoid possible miscompiles.
  • The 2-field form of global variables @llvm.global_ctors and @llvm.global_dtors has been deleted. The third field of their element type is now mandatory. Specify i8* null to migrate from the obsoleted 2-field form.
  • The byval attribute can now take a type parameter: byval(<ty>). If present it must be identical to the argument’s pointee type. In the next release we intend to make this parameter mandatory in preparation for opaque pointer types.
  • atomicrmw xchg now allows floating point types
  • atomicrmw now supports fadd and fsub

Depends on klee#1136

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant