Skip to content

Commit

Permalink
LLVM 12
Browse files Browse the repository at this point in the history
  • Loading branch information
langston-barrett committed Oct 26, 2022
1 parent d60de6b commit e332911
Show file tree
Hide file tree
Showing 32 changed files with 1,952 additions and 1,943 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ env:
# will error - we use Clang to compile test programs, and cclyzer++ must be
# able to read the bitcode it outputs. We currently only run tests with the
# most recent (matching) Clang/LLVM combination.
LLVM_MAJOR_VERSION: "11"
CLANG_VERSION: "11"
LLVM_MAJOR_VERSION: "12"
CLANG_VERSION: "12"
UBUNTU_VERSION: "20.04"
UBUNTU_NAME: "focal"

Expand All @@ -48,6 +48,7 @@ jobs:
llvm_version:
- "10"
- "11"
- "12"
env:
LLVM_MAJOR_VERSION: ${{ matrix.llvm_version }}
steps:
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ project(cclyzer++ LANGUAGES C CXX VERSION 0.5.0)
# -----------------------------------------------------------------------------

if(NOT (DEFINED LLVM_MAJOR_VERSION))
set(LLVM_MAJOR_VERSION 11)
set(LLVM_MAJOR_VERSION 12)
endif()

find_package(LLVM ${LLVM_MAJOR_VERSION}.0 REQUIRED CONFIG)
Expand Down
2 changes: 1 addition & 1 deletion FactGenerator/src/TypeVisitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ void TypeVisitor::visitType(const llvm::Type *type) {
case llvm::Type::BFloatTyID: // TODO: handle this type
break;
#endif
#if LLVM_VERSION_MAJOR > 12
#if LLVM_VERSION_MAJOR > 11
case llvm::Type::X86_AMXTyID: // TODO: handle this type
break;
#endif
Expand Down
6 changes: 6 additions & 0 deletions doc/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ Changelog
next
****

Changed
~~~~~~~

- cclyzer++ now builds against (and requires) LLVM 12. See :doc:`build` for how
to build against other versions of LLVM.

`v0.5.0`_ - 2022-10-21
**********************

Expand Down
8 changes: 4 additions & 4 deletions doc/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ other external libraries. Such models are crucial for soundness. See
Language Support
----------------

cclyzer++ has primarily been tested on LLVM code produced by Clang 10 and 11
cclyzer++ has primarily been tested on LLVM code produced by Clang 10 through 12
when compiling from C and C++ for x86_64. Your mileage may vary with other
languages, compilers, and targets.

Expand All @@ -66,7 +66,7 @@ Comparison to cclyzer
As mentioned above, cclyzer++ is based on cclyzer. The major differences are that
cclyzer++

* supports LLVM 10 and 11
* supports LLVM 10 through 12
* is implemented in Soufflé rather than LogicBlox
* has :ref:`a C++ interface <cpp>`, rather than a Python one
* has runtime-configurable context-sensitivity and heap-cloning
Expand Down Expand Up @@ -106,13 +106,13 @@ LLVM Library Version

.. TODO(lb): Policy for supporting different LLVM versions
cclyzer++ currently builds against LLVM 11 by default and can be built with
cclyzer++ currently builds against LLVM 12 by default and can be built with
LLVM 10. There are `plans <llvmver>`_ to support recent versions.

Development Tools
*****************

cclyzer++ currently builds with Clang 11 (including other Clang tools such as
cclyzer++ currently builds with Clang 12 (including other Clang tools such as
clang-format and clang-tidy). There are `plans <llvmver>`_ to build with more
recent versions of Clang.

Expand Down
4 changes: 2 additions & 2 deletions docker/dev.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ ARG UBUNTU_NAME=focal
ARG UBUNTU_VERSION=20.04
FROM ubuntu:$UBUNTU_VERSION as dev
# See NOTE[Clang+LLVM] in ci.yml
ARG CLANG_VERSION=11
ARG LLVM_MAJOR_VERSION=11
ARG CLANG_VERSION=12
ARG LLVM_MAJOR_VERSION=12
# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
ARG UBUNTU_NAME
ARG UBUNTU_VERSION
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
[<<main-context>>, nil] *stack_alloc@main[%"class.std::allocator"* %ref.tmp][0].?/0 *stack_alloc@main[%"class.std::allocator"* %ref.tmp][0].?/0
[<<main-context>>, nil] *typed_stack_alloc@_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[i8* %__dnew] *typed_stack_alloc@_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[i8* %__dnew]
[<cxxbasic.cpp>:main:19, nil] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr]
[<cxxbasic.cpp>:main:34, nil] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr]
[<cxxbasic.cpp>:main:30, nil] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr]
nil *argv-alloc *argv-alloc
nil *argv-alloc *argv-alloc[0]
nil *argv-alloc[0] *argv-alloc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
[<<main-context>>, nil] *stack_alloc@main[%"class.std::allocator"* %ref.tmp][0].?/0 *stack_alloc@main[%"class.std::allocator"* %ref.tmp][0].?/0
[<<main-context>>, nil] *typed_stack_alloc@_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[i8* %__dnew] *typed_stack_alloc@_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[i8* %__dnew]
[<cxxbasic.cpp>:main:19, nil] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr]
[<cxxbasic.cpp>:main:34, nil] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr]
[<cxxbasic.cpp>:main:30, nil] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr] *stack_alloc@_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c[i8* %__c.addr]
nil *argv-alloc *argv-alloc
nil *argv-alloc *argv-alloc[0]
nil *argv-alloc[0] *argv-alloc
Expand Down
Loading

0 comments on commit e332911

Please sign in to comment.