3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-24 23:03:42 +00:00

Merge branch 'YosysHQ:main' into master

This commit is contained in:
Akash Levy 2024-08-06 01:01:08 -07:00 committed by GitHub
commit 7f5dcd270d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 33 additions and 7 deletions

View file

@ -56,7 +56,7 @@ jobs:
mkdir build mkdir build
cd build cd build
make -f ../Makefile config-$CC make -f ../Makefile config-$CC
make -f ../Makefile -j$procs make -f ../Makefile -j$procs ENABLE_LTO=1
- name: Log yosys-config output - name: Log yosys-config output
run: | run: |

View file

@ -41,7 +41,7 @@ jobs:
echo "ENABLE_VERIFIC_LIBERTY := 1" >> Makefile.conf echo "ENABLE_VERIFIC_LIBERTY := 1" >> Makefile.conf
echo "ENABLE_VERIFIC_YOSYSHQ_EXTENSIONS := 1" >> Makefile.conf echo "ENABLE_VERIFIC_YOSYSHQ_EXTENSIONS := 1" >> Makefile.conf
echo "ENABLE_CCACHE := 1" >> Makefile.conf echo "ENABLE_CCACHE := 1" >> Makefile.conf
make -j${{ env.procs }} make -j${{ env.procs }} ENABLE_LTO=1
- name: Install Yosys - name: Install Yosys
run: | run: |

View file

@ -2,8 +2,21 @@
List of major changes and improvements between releases List of major changes and improvements between releases
======================================================= =======================================================
Yosys 0.43 .. Yosys 0.44-dev Yosys 0.43 .. Yosys 0.44
-------------------------- --------------------------
* Various
- Added ENABLE_LTO compile option to enable link time
optimizations.
- Build support for Haiku OS.
* New commands and options
- Added "keep_hierarchy" pass to add attribute with
same name to modules based on cost.
- Added options "-noopt","-bloat" and "-check_cost" to
"test_cell" pass.
* New back-ends
- Added initial PolarFire support. ( synth_microchip )
Yosys 0.42 .. Yosys 0.43 Yosys 0.42 .. Yosys 0.43
-------------------------- --------------------------

View file

@ -34,7 +34,7 @@ ENABLE_PYOSYS := 1
ENABLE_GCOV := 0 ENABLE_GCOV := 0
ENABLE_GPROF := 0 ENABLE_GPROF := 0
ENABLE_DEBUG := 0 ENABLE_DEBUG := 0
ENABLE_LTO := 1 ENABLE_LTO := 0
ENABLE_CCACHE := 0 ENABLE_CCACHE := 0
# sccache is not always a drop-in replacement for ccache in practice # sccache is not always a drop-in replacement for ccache in practice
ENABLE_SCCACHE := 0 ENABLE_SCCACHE := 0
@ -153,7 +153,7 @@ ifeq ($(OS), Haiku)
CXXFLAGS += -D_DEFAULT_SOURCE CXXFLAGS += -D_DEFAULT_SOURCE
endif endif
YOSYS_VER := 0.43+86 YOSYS_VER := 0.44
# Note: We arrange for .gitcommit to contain the (short) commit hash in # Note: We arrange for .gitcommit to contain the (short) commit hash in
# tarballs generated with git-archive(1) using .gitattributes. The git repo # tarballs generated with git-archive(1) using .gitattributes. The git repo
@ -169,7 +169,7 @@ endif
OBJS = kernel/version_$(GIT_REV).o OBJS = kernel/version_$(GIT_REV).o
bumpversion: bumpversion:
sed -i "/^YOSYS_VER := / s/+[0-9][0-9]*$$/+`git log --oneline ead4718.. | wc -l`/;" Makefile # sed -i "/^YOSYS_VER := / s/+[0-9][0-9]*$$/+`git log --oneline ead4718.. | wc -l`/;" Makefile
ABCMKARGS = CC="$(CXX)" CXX="$(CXX)" ABC_USE_LIBSTDCXX=1 ABC_USE_NAMESPACE=abc VERBOSE=$(Q) ABCMKARGS = CC="$(CXX)" CXX="$(CXX)" ABC_USE_LIBSTDCXX=1 ABC_USE_NAMESPACE=abc VERBOSE=$(Q)
@ -223,7 +223,9 @@ LTOFLAGS := $(GCC_LTO)
ifeq ($(CONFIG),clang) ifeq ($(CONFIG),clang)
CXX = clang++ CXX = clang++
CXXFLAGS += -std=$(CXXSTD) $(OPT_LEVEL) CXXFLAGS += -std=$(CXXSTD) $(OPT_LEVEL)
ifeq ($(ENABLE_LTO),1)
LINKFLAGS += -fuse-ld=lld LINKFLAGS += -fuse-ld=lld
endif
ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H $(ABC_ARCHFLAGS)" ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H $(ABC_ARCHFLAGS)"
LTOFLAGS := $(CLANG_LTO) LTOFLAGS := $(CLANG_LTO)

View file

@ -116,6 +116,17 @@ unless `CXX` is assigned in the call to make, e.g.
$ make CXX=$CXX $ make CXX=$CXX
The Makefile has many variables influencing the build process. These can be
adjusted by modifying the Makefile.conf file which is created at the
`make config-...` step (see above), or they can be set by passing an option
to the make command directly.
For example, if you have clang, and (a compatible version of) `ld.lld`
available in PATH, it's recommended to speed up incremental builds with
lld by enabling LTO:
$ make ENABLE_LTO=1
For other compilers and build configurations it might be For other compilers and build configurations it might be
necessary to make some changes to the config section of the necessary to make some changes to the config section of the
Makefile. Makefile.

View file

@ -5,7 +5,7 @@ import os
project = 'YosysHQ Yosys' project = 'YosysHQ Yosys'
author = 'YosysHQ GmbH' author = 'YosysHQ GmbH'
copyright ='2024 YosysHQ GmbH' copyright ='2024 YosysHQ GmbH'
yosys_ver = "0.43" yosys_ver = "0.44"
# select HTML theme # select HTML theme
html_theme = 'furo' html_theme = 'furo'