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

Support LLVM 9.0  #7

Description

@XVilka

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions