summaryrefslogtreecommitdiff
path: root/lang/llvm
AgeCommit message (Collapse)AuthorFilesLines
2022-09-12lang/llvm: fix the logic in the powerpc section...he1-2/+4
...so that we don't insist on -mno-pltseq on older NetBSD.
2022-09-01llvm: fix botch in previous commitgutteridge1-2/+1
2022-09-01llvm: use simpler means of determining NetBSD versiongutteridge1-3/+2
And reflect the rough release when GCC went past 7.
2022-08-30llvm: On NetBSD/powerpc 8.x or 9.x, omit use of -mno-pltseq.he1-3/+15
Fixes build on NetBSD/macppc 8.0, where we end up with pkgsrc gcc7. NetBSD 9.0 has gcc 7.4 in-tree, so is also missing -mno-pltseq. On non-NetBSD powerpc platforms, for now just insist on -mno-pltseq, i.e. a gcc at least newer than 7 (untested).
2022-08-24llvm: Add option for experimental targets, arc, csky, m68k and veryoon4-10/+51
* Enable the experimental targets for faster architectures only. And bump PKGREVISION. * Add some helper for PLIST generation.
2022-08-14llvm: use posix_madvise(2) instead of madvise(2)tnn2-1/+29
2022-08-14llvm ecosystem: bump up some GCC_REQDtnn1-2/+2
GCC 7 is the lowest common denominator for the parts needed to get Firefox build going again on NetBSD 8.
2022-08-13llvm: fix linttnn2-11/+11
2022-08-12llvm: add wasi-compiler-rt & wasi-libcxx to dependencies commentgutteridge1-3/+5
2022-08-12lang/llvm: update to 14.0.6pin7-48/+103
Updated in wip by @wiz and myself. 14.0.6 -This release is a bug-fix release and is API and ABI compatible with 14.0.0. This release fixes a bug that was introduced in 14.0.5. This will likely be the last 14.0.x release. 14.0.5 -This release is a bug-fix release and is API and ABI compatible with 14.0.0. Note that we have adopted a new release schedule for the project, so there will be a new bug-fix release (14.0.x) every 2 weeks. 14.0.5 is the last planned release, but we may do a 14.0.6 release if there are critical issues found in 14.0.5. 14.0.4 -This release is a bug-fix release and is API and ABI compatible with 14.0.0. 14.0.0 Changes to the LLVM IR Using the legacy pass manager for the optimization pipeline is deprecated and will be removed after LLVM 14. In the meantime, only minimal effort will be made to maintain the legacy pass manager for the optimization pipeline. Max allowed integer type was reduced from 2^24-1 bits to 2^23 bits. Max allowed alignment was increased from 2^29 to 2^32. Changes to building LLVM Building LLVM with Visual Studio now requires version 2019 or later. Changes to the AArch64 Backend Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures. The compiler now recognises the “tune-cpu” function attribute to support the use of the -mtune frontend flag. This allows certain scheduling features and optimisations to be enabled independently of the architecture. If the “tune-cpu” attribute is absent it tunes according to the “target-cpu”. Fixed relocations against temporary symbols (e.g. in jump tables and constant pools) in large COFF object files. Auto-vectorization now targets SVE by default when available. Changes to the ARM Backend Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures. Added support for the Armv8.1-M PACBTI-M extension. Changed the assembly comment string for MSVC targets to @ (consistent with the MinGW and ELF targets), freeing up ; to be used as statement separator. Changes to the PowerPC Target Linux improvements: Provided a number of builtins for compatibility with the XL compiler. Allow MMA builtin types in pre-P10 compilation units. Add support for Return Oriented Programming (ROP) protection for 32 bit. Refactored code to use more inclusive language. Switched to LLD as the default linker for pre-built Linux binaries. Enabled IEEE quad long double on Linux via PPC_LINUX_DEFAULT_IEEELONGDOUBLE in cmake config. Added __ibm128 type to represent IBM double-double format, also available as __attribute__((mode(IF))). -mfloat128 can now be used in Linux subtargets with VSX enabled. Added quadword atomic load/store support in codegen; not enabled by default. Codegen improvements for splat load, byval parameter, stack lowering, etc. Implemented P10 instruction scheduling model. Implemented P10 instruction fusion pairs. Improved handling of #pragma clang loop unroll_and_jam. Various bug fixes. AIX Support/improvements: Variadic (ellipsis) functions with C complex types are now supported. Added toc-data support for AIX 64-bit. Added toc-data support for read-only globals. Updated default target on AIX from pwr4 to pwr7. AIX 64-bit code generation now uses fast-isel for O0. Added DWARF support for 32-bit XCOFF. Changes to the RISC-V Target Codegen improvements for RV64 around the selection of addw/subw/mulw/slliw instructions and removal of redundant sext.w instructions (using the new RISCVSExtWRemoval pass). The various RISC-V vector extensions were updated to version 1.0 and are no longer experimental. The Zba, Zbb, Zbc, and Zbs bit-manipulation extensions were updated to version 1.0 and are no longer experimental. Added MC layer support for the ratified scalar cryptography extensions. The Zfh and Zfhmin extensions for half-precision floating point were updated to version 1.0 and are no longer experimental. Added support for the .insn directive. Various improvements to immediate materialisation, including when bit-manipulation extensions are enabled. Additionally, the constant pool is now used for large integers. Added support for constrained FP intrinsics for scalar types. Added support for CSRs introduced in the Sscofpmf, Smstateen, and Sstc extensions. The experimental ‘Zbproposedc’ extension was removed, as was the ‘B’ extension (including all bit-manipulation sub-extensions). Individual ‘Zb*’ extensions should be used instead. Changes to the X86 Target Support for AVX512-FP16 instructions has been added. Removed incomplete support for Intel MPX. (D111517) Changes to the AMDGPU Target Changes to the Windows Target Changed how the .pdata sections refer to the code they’re describing, to avoid conflicting unwind info if weak symbols are overridden. Fixed code generation for calling support routines for converting 128 bit integers from/to floats on x86_64. The preferred path separator form (backslashes or forward slashes) can be configured in Windows builds of LLVM now, with the LLVM_WINDOWS_PREFER_FORWARD_SLASH CMake option. This defaults to true in MinGW builds of LLVM. Set proper COFF symbol types for function aliases (e.g. for Itanium C++ constructors), making sure that GNU ld exports all of them correctly as functions, not data, when linking a DLL. Handling of temporary files on more uncommon file systems (network mounts, ramdisks) on Windows is fixed now (which previously either errored out or left stray files behind). Changes to the C API LLVMSetInstDebugLocation has been deprecated in favor of the more general LLVMAddMetadataToInst. Fixed building LLVM-C.dll for i386 targets with MSVC, which had been broken since the LLVM 8.0.0 release. Changes to the LLVM tools llvm-cov: -name-allowlist is now accepted in addition to -name-whitelist. -name-whitelist is marked as deprecated and to be removed in future releases. llvm-ar now supports --thin for creating a thin archive. The modifier T has a different meaning in some ar implementations. (D116979) llvm-ar now supports reading big archives for XCOFF. (D111889) llvm-nm now demangles Rust symbols. (D111937) llvm-objcopy’s ELF port now avoids reordering section headers to preserve st_shndx fields of dynamic symbols. (D107653) llvm-objcopy now supports --update-section for ELF and Mach-O. (D112116) (D117281) llvm-objcopy now supports --subsystem for PE/COFF. (D116556) llvm-objcopy now supports mips64le relocations for ELF. (D115635) llvm-objcopy --rename-section now renames relocation sections together with their targets. (D110352) llvm-objdump --symbolize-operands now supports PowerPC. (D114492) llvm-objdump -p now dumps PE header. (D113356) llvm-objdump -R now supports ELF position-dependent executables. (D110595) llvm-objdump -T now prints symbol versions. (D108097) llvm-readobj: Improved printing of symbols in Windows unwind data. llvm-readobj now supports --elf-output-style=JSON for JSON output and --pretty-print for pretty printing of this output. (D114225) llvm-readobj now supports several dump styles (--needed-libs, --relocs, --syms) for XCOFF. llvm-symbolizer now supports –debuginfod. (D113717) llvm-cov now accepts “allowlist” spelling for -name-allowlist. llvm-nm now supports XCOFF object files. Added --needed-libs, aux header, and symbols support in llvm-readobj. Added --symbolize-operands support in llvm-objdump. Tools that read archive files now support reading AIX big format archive files. Added dump section support in obj2yaml. Added yaml2obj support for 64-bit XCOFF. Changes to LLDB A change in Clang’s type printing has changed the way LLDB names array types (from int [N] to int[N]) - LLDB pretty printer type name matching code may need to be updated to handle this. The following commands now ignore non-address bits (e.g. AArch64 pointer signatures) in address arguments. In addition, non-address bits will not be shown in the output of the commands. memory find memory read memory region (see below) memory tag read memory tag write The memory region command and GetMemoryRegionInfo API method now ignore non-address bits in the address parameter. This also means that on systems with non-address bits the last (usually unmapped) memory region will not extend to 0xF…F. Instead it will end at the end of the mappable range that the virtual address size allows. The memory read command has a new option --show-tags. Use this option to show memory tags beside the contents of tagged memory ranges. Fixed continuing from breakpoints and singlestepping on Windows on ARM/ARM64. LLDB has been included in Windows on ARM64 binary release with Python support disabled. Changes to BOLT BOLT project is added to the LLVM monorepo. BOLT is a post-link optimizer developed to speed up large applications. Build and usage instructions are given in README. Additional Information A wide variety of additional information is available on the LLVM web page, in particular in the documentation section. The web page also contains versions of the API documentation which is up-to-date with the Git version of the source code. You can access versions of these documents specific to this release by going into the llvm/docs/ directory in the LLVM tree. If you have any questions or comments about LLVM, please feel free to contact us via the mailing lists.
2022-08-06lang/llvm: convert to using mk/atomic64.mk.he2-15/+4
2022-07-09llvm: does not support python 2.7wiz1-1/+3
2022-06-28*: recursive bump for perl 5.36wiz2-4/+4
2022-06-11llvm: add a z3 option to allow building against the Z3 constraint solver.fcambus2-3/+12
When both lang/llvm and lang/clang are built with the z3 option enabled, the Z3 constraint solver is activated for the Clang static analyzer. This option is not enabled by default.
2022-05-28llvm: document additional dependantsgutteridge1-1/+3
2022-04-18revbump for textproc/icu updateadam1-1/+2
2022-02-03llvm: updated to 13.0.1adam3-8/+7
13.0.1: Bug-fix release.
2022-01-07llvm: aarch64: turn on the webassembly target option by defaulttnn1-1/+2
2021-12-26Allow overriding the pthread library selection viahe3-6/+24
PKGSRC_LLVM_PTHREADLIB. LLVM insists on 64-bit atomics, and on NetBSD/powerpc we don't have that natively, so have to rely on -latomic from gcc. This library is linked with -lpthread, so the cmake logic to detect whether -lpthread is included in the C library says "yes", leading to later breakage when clang is being built. On NetBSD, set PKGSRC_LLVM_PTHREADLIB to -lpthread. OK'ed by wiz@, bump PKGREVISION.
2021-12-08revbump for icu and libffiadam1-1/+2
2021-11-26llvm: try fixing PLIST for non-x86wiz1-6/+6
For PR pkg 56522 by John Klos.
2021-11-23llvm: update llvm and friends to 13.0.0wiz6-53/+113
Tested on NetBSD-current and 9.1/amd64. Also update packages tightly coupled to llvm, if new versions are available. Mark creduce, include-what-you-use, and zig broken (waiting for a new release). Changes: Non-comprehensive list of changes in this release Windows Control-flow Enforcement Technology: the -ehcontguard option now emits valid unwind entrypoints which are validated when the context is being set during exception handling. Flang is now included in the binary packages released by LLVM. The debuginfo-test project has been renamed cross-project-tests and is now intended for testing components from multiple projects, not just debug information. The new “cross-project-tests” name replaces “debuginfo-test” in LLVM_ENABLE_PROJECTS, and a new check-cross-project-tests target has been added for running all tests in the project. The pre-existing check-debuginfo- test target remains for running just the debug information tests. (D95339 and D96513) Changes to the LLVM IR The inalloca attribute now has a mandatory type field, similar to byval and sret. The opaque pointer type ptr has been introduced. It is still in the process of being worked on and should not be used yet. Using the legacy pass manager for the optimization pipeline is deprecated and will be removed after LLVM 14. In the meantime, only minimal effort will be made to maintain the legacy pass manager for the optimization pipeline. Changes to building LLVM The build system now supports building multiple distributions, so that you can e.g. have one distribution containing just tools and another for libraries (to enable development). See Multi-distribution configurations for details. Changes to the AArch64 Backend Introduced assembly support for Armv9-A’s Realm Management Extension (RME) and Scalable Matrix Extension (SME). Produce proper cross-section relative relocations on COFF Fixed the calling convention on Windows for variadic functions involving floats in the fixed arguments Changes to the ARM Backend Produce proper cross-section relative relocations on COFF Changes to the Hexagon Target The Hexagon target now supports V68/HVX ISA. Changes to the C API The C API functions LLVMGetAlignment and LLVMSetAlignment now allow changing alignment on atomicrmw and cmpxchg instructions A new entry LLVMDIArgListMetadataKind was added to the LLVMMetadataKind enum, representing DIArgLists (D88175) Type attributes have been added to LLVM-C, introducing LLVMCreateTypeAttribute, LLVMGetTypeAttributeValue and LLVMIsTypeAttribute. (D977763’) The LTO_API_VERSION was bumped to 28, introducing a new function lto_set_debug_options for parsing LTO debug options (D92611) LLVMJITTargetSymbolFlags was renamed to LLVMJITSymbolTargetFlags (rG8d718a0bff73af066675a6258c01307937c33cf9) The C API received support for creating custom ORCv2 MaterializationUnits and APIs to retrieve an LLJIT instance’s linking layers. An ABI breaking change for LLVMOrcAbsoluteSymbols was introduced to make it consistent with LLVMOrcCreateCustomMaterializationUnit. (rGc8fc5e3ba942057d6c4cdcd1faeae69a28e7b671) The C API received support for adding ORCv2 object buffers directly to an object layer. (rG7b73cd684a8d5fb44d34064200f10e2723085c33) A breaking change to LLVMGetInlineAsm was introduced, adding a ninth argument LLVMBool CanThrow (D95745) The C API received support for calling into the new pass manager. (D102136) The C API function LLVMIntrinsicCopyOverloadedName has been deprecated. Please migrate to LLVMIntrinsicCopyOverloadedName2 which takes an extra module argument and which also handles unnamed types. (D99173) The C API received support for dumping objects from ORCv2 (rGcec8e69f01c3374cb38c6683058381b96fab8f89) A breaking change to LLVMOrcObjectTransformLayerTransformFunction was introduced, changing the order of the function pointer’s arguments. (rG8962c68ad007a525f9daa987c99eda57e0d0069a) The C API received support for accessing utilities from the LLJIT IRTransformLayer and ThreadSafeModule classes. (D103855) The C API received support for creating lazy-export MaterializationUnits (D104672) The C API function LLVMPassBuilderOptionsSetCoroutines was removed because couroutine passes have been enabled by default. (D105877) comdat noduplicates was renamed to comdat nodeduplicate and as a result, LLVMNoDuplicatesComdatSelectionKind was renamed to LLVMNoDeduplicateComdatSelectionKind. (D106319) Changes to the FastISel infrastructure FastISel no longer tracks killed registers, and instead leaves this to the register allocator. This means that hasTrivialKill() is removed, as well as the OpNIsKill parameters to the fastEmit_*() family of functions. Changes to the LLVM tools The options --build-id-link-{dir,input,output} have been deleted. (D96310) Support for in-order processors has been added to llvm-mca. (D94928) llvm-objdump supports -M {att,intel} now. --x86-asm-syntax is a deprecated internal option which will be removed in LLVM 14.0.0. (D101695) The llvm-readobj short aliases -s (previously --sections) and -t (previously --syms) have been changed to --syms and --section-details respectively, to match llvm-readelf. (D105055) The llvm-nm short aliases -M (--print-armap), -U (--defined-only), and -W (--no-weak) are now deprecated. Use the long form versions instead. The alias --just-symbol-name is now deprecated in favor of --format=just-symbols and -j. (D105330) In lli the default JIT engine switched from MCJIT (-jit-kind=mcjit) to ORC (-jit-kind=orc). (D98931) llvm-rc got support for invoking Clang to preprocess its input. (D100755) llvm-rc got a GNU windres compatible frontend, llvm-windres. (D100756) llvm-ml has improved compatibility with MS ml.exe, managing to assemble more asm files. Changes to LLDB LLDB executable is now included in pre-built LLVM binaries. LLDB now includes full featured support for AArch64 SVE register access. LLDB now supports AArch64 Pointer Authentication, allowing stack unwind with signed return address. LLDB now supports debugging programs on AArch64 Linux that use memory tagging (MTE). Added memory tag read and memory tag write commands. The memory region command will note when a region has memory tagging enabled. Synchronous and asynchronous tag faults are recognised. Synchronous tag faults have memory tag annotations in addition to the usual fault address.
2021-10-26lang: Replace RMD160 checksums with BLAKE2s checksumsnia1-2/+2
All checksums have been double-checked against existing RMD160 and SHA512 hashes The following distfiles could not be fetched (possibly fetched conditionally?): ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-gnu.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-musl.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-netbsd.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-armv7-unknown-netbsd-eabihf.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-i686-unknown-linux-gnu.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-powerpc-unknown-netbsd90.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-sparc64-unknown-netbsd.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-apple-darwin.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-freebsd.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-gnu.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-musl.tar.gz ./lang/smlnj/distinfo smlnj-110.73/boot.ppc-unix.tgz ./lang/smlnj/distinfo smlnj-110.73/boot.sparc-unix.tgz ./lang/oracle-jre8/distinfo jce_policy-8.zip ./lang/oracle-jre8/distinfo jre-8u202-linux-i586.tar.gz ./lang/oracle-jre8/distinfo jre-8u202-linux-x64.tar.gz ./lang/oracle-jre8/distinfo jre-8u202-macosx-x64.tar.gz ./lang/oracle-jre8/distinfo jre-8u202-solaris-x64.tar.gz ./lang/oracle-jdk8/distinfo jdk-8u202-linux-i586.tar.gz ./lang/oracle-jdk8/distinfo jdk-8u202-linux-x64.tar.gz ./lang/oracle-jdk8/distinfo jdk-8u202-solaris-x64.tar.gz ./lang/ghc80/distinfo ghc-7.10.3-boot-x86_64-unknown-solaris2.tar.xz ./lang/ghc80/distinfo ghc-8.0.2-boot-i386-unknown-freebsd.tar.xz ./lang/ghc80/distinfo ghc-8.0.2-boot-x86_64-unknown-freebsd.tar.xz ./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2 ./lang/rust/distinfo rust-1.53.0-aarch64-apple-darwin.tar.gz ./lang/rust/distinfo rust-1.53.0-aarch64-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-1.53.0-aarch64-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-1.53.0-aarch64_be-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-1.53.0-arm-unknown-linux-gnueabihf.tar.gz ./lang/rust/distinfo rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz ./lang/rust/distinfo rust-1.53.0-i686-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd90.tar.gz ./lang/rust/distinfo rust-1.53.0-sparc64-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-1.53.0-x86_64-apple-darwin.tar.gz ./lang/rust/distinfo rust-1.53.0-x86_64-unknown-freebsd.tar.gz ./lang/rust/distinfo rust-1.53.0-x86_64-unknown-illumos.tar.gz ./lang/rust/distinfo rust-1.53.0-x86_64-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-std-1.53.0-aarch64-apple-darwin.tar.gz ./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-aarch64_be-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-arm-unknown-linux-gnueabihf.tar.gz ./lang/rust/distinfo rust-std-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz ./lang/rust/distinfo rust-std-1.53.0-i686-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd90.tar.gz ./lang/rust/distinfo rust-std-1.53.0-sparc64-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-x86_64-apple-darwin.tar.gz ./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-freebsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-linux-gnu.tar.gz ./lang/smlnj11072/distinfo smlnj-110.72/boot.ppc-unix.tgz ./lang/smlnj11072/distinfo smlnj-110.72/boot.sparc-unix.tgz ./lang/ghc84/distinfo ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz ./lang/ghc84/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz ./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz ./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz ./lang/ghc7/distinfo ghc-7.10.3-boot-i386-unknown-freebsd.tar.xz ./lang/ghc7/distinfo ghc-7.6.3-boot-i386-unknown-solaris2.tar.xz ./lang/ghc7/distinfo ghc-7.6.3-boot-powerpc-apple-darwin.tar.xz ./lang/ghc7/distinfo ghc-7.6.3-boot-x86_64-unknown-solaris2.tar.xz ./lang/ghc90/distinfo ghc-8.10.4-boot-x86_64-unknown-solaris2.tar.xz ./lang/ghc90/distinfo ghc-9.0.1-boot-aarch64-unknown-netbsd.tar.xz ./lang/ghc90/distinfo ghc-9.0.1-boot-i386-unknown-freebsd.tar.xz ./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-apple-darwin.tar.xz ./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-unknown-freebsd.tar.xz ./lang/openjdk8/distinfo openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz ./lang/openjdk8/distinfo openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz ./lang/openjdk8/distinfo openjdk7/bootstrap-jdk-1.8.181-netbsd-8-aarch64-20180917.tar.xz ./lang/openjdk8/distinfo openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.6-amd64-20140719.tar.bz2 ./lang/openjdk8/distinfo openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2 ./lang/go-bin/distinfo go1.14.2.darwin-amd64.tar.gz ./lang/go-bin/distinfo go1.14.2.linux-386.tar.gz ./lang/go-bin/distinfo go1.14.2.linux-amd64.tar.gz ./lang/go-bin/distinfo go1.14.2.linux-arm64.tar.gz ./lang/go-bin/distinfo go1.14.2.linux-armv6l.tar.gz ./lang/go-bin/distinfo go1.14.2.netbsd-arm64.tar.gz ./lang/go-bin/distinfo go1.16beta1.darwin-arm64.tar.gz ./lang/gcc6-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2 ./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2 ./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2 ./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2 ./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2 ./lang/ghc810/distinfo ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz ./lang/sun-jre7/distinfo UnlimitedJCEPolicyJDK7.zip ./lang/sun-jre7/distinfo jre-7u80-linux-x64.tar.gz ./lang/sun-jre7/distinfo jre-7u80-solaris-i586.tar.gz ./lang/sun-jre7/distinfo jre-7u80-solaris-x64.tar.gz ./lang/ghc88/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz ./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz ./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz ./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz ./lang/gcc-aux/distinfo ada-bootstrap.i386.dragonfly.36A.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.x86_64.dragonfly.36A.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2 ./lang/gcc6/distinfo ecj-4.5.jar ./lang/openjdk11/distinfo bootstrap-jdk-1.11.0.7.10-netbsd-9-aarch64-20200509.tar.xz ./lang/sun-jdk7/distinfo jdk-7u80-linux-x64.tar.gz ./lang/sun-jdk7/distinfo jdk-7u80-solaris-i586.tar.gz ./lang/sun-jdk7/distinfo jdk-7u80-solaris-x64.tar.gz
2021-10-07lang: Remove SHA1 hashes for distfilesnia1-2/+1
2021-07-19llvm: don't build the full list of targets on aarch64 by defaulttnn1-1/+3
2021-07-19llvm: move powerpc fix from options.mk to Makefiletnn2-5/+8
Compiler options/fixes pertaining to the host compiler should not depend on the target selection.
2021-07-19llvm: Need socket libraries on SunOS.jperkin1-1/+3
2021-07-12llvm: updated to 12.0.1adam10-102/+244
12.0.1: Non-comprehensive list of changes in this release The ConstantPropagation pass was removed. Users should use the InstSimplify pass instead. Changes to the LLVM IR Added the byref attribute to better represent argument passing for the amdgpu_kernel calling convention. Added type parameter to the sret attribute to continue work on removing pointer element types. The llvm.experimental.vector.reduce family of intrinsics have been renamed to drop the “experimental” from the name, reflecting their now fully supported status in the IR. Changes to building LLVM The internal llvm-build Python script and the associated LLVMBuild.txt files used to describe the LLVM component structure have been removed and replaced by a pure CMake approach, where each component stores extra properties in the created targets. These properties are processed once all components are defined to resolve library dependencies and produce the header expected by llvm-config. Changes to TableGen The new “TableGen Programmer’s Reference” replaces the “TableGen Language Introduction” and “TableGen Language Reference” documents. The syntax for specifying an integer range in a range list has changed. The old syntax used a hyphen in the range (e.g., {0-9}). The new syntax uses the “…” range punctuation (e.g., {0...9}). The hyphen syntax is deprecated. Changes to the AArch64 Backend Lots of improvements to generation of Windows unwind data; the unwind data is optimized and written in packed form where possible, reducing the size of unwind data (pdata and xdata sections) by around 60% compared with LLVM 11. The generation of prologs/epilogs is tweaked when targeting Windows, to increase the chances of being able to use the packed unwind info format. Support for creating Windows unwind data using .seh_* assembler directives. Produce proper assembly output for the Windows target, including :lo12: relocation specifiers, to allow the assembly output to actually be assembled. Changed the assembly comment string for MSVC targets to // (consistent with the MinGW and ELF targets), freeing up ; to be used as statement separator. Changes to the ARM Backend Changes to the MIPS Target Changes to the PowerPC Target Optimization: Made improvements to loop unroll-and-jam including fix to respect user provided #pragma unroll-and-jam for loops on targets other than ARM. Improved PartialInliner allowing it to handle code regions in a switch statements. Improved PGO support on AIX by building and linking with compiler-rt profile library. Add support for Epilogue Vectorization and enabled it by default. CodeGen: POWER10 support * Implementation of PC Relative addressing in LLD including the associated linker optimizations. Add support for the new matrix multiplication (MMA) instructions to Clang and LLVM. Implementation of Power10 builtins. Scheduling enhancements * Add a new algorithm to cluster more loads/stores if the DAG is not too complicated. Enable the PowerPC scheduling heuristic for Power10. Target dependent passes tuning * Enhance LoopStrengthReduce/PPCLoopInstrFormPrep pass for PowerPC, especially for P10 intrinsics. Enhance machine combiner pass to reduce register pressure for PowerPC. Improve MachineSink to do more sinking based on register pressure and alias analysis. General improvements * Complete the constrained floating point operations support. * Improve the llvm-exegesis support. * Improve the stack clash protection to probe the gap between stackptr and realigned stackptr. Improve the IEEE long double support for Power8. Enable MemorySSA for LoopSink. Enhance LLVM debugging functionality via options such as -print-changed and -print-before-changed. Add builtins for Power9 (i.e. darn, xvtdiv, xvtsqrt etc). Add options to disable all or part of LoopIdiomRecognizePass. Add support for printing the DDG in DOT form allowing for visual inspection of the Data Dependence Graph. Remove the QPX support. Significant number of bug fixes including all the fixes necessary to achieve a clean test run for Julia. AIX Support: Compiler-rt support * Add support for building compiler-rt for AIX and 32-bit Power targets. * Made compiler-rt the default rtlib for AIX. General Improvements * Enable the AIX extended AltiVec ABI under option -mabi=vec-extabi. * Add partial C99 complex type support. * Implemente traceback table for functions (encodes vector information, emits exception handling). Implemente code generation for C++ dynamic initialization and finalization. of non-local variables for use with the -bcdtors option of the AIX linker. Add new option -mignore-xcoff-visibility. Enable explicit sections on AIX. Enable -f[no-]data-sections on AIX and set -fdata-sections to be the default on AIX. Enable -f[no-]function-sections. Add support for relocation generation using the large code model. Add pragma align natural and sorted out pragma pack stack effect. Changes to the X86 Target The ‘mpx’ feature was removed from the backend. It had been removed from clang frontend in 10.0. Mention of the ‘mpx’ feature in an IR file will print a message to stderr, but IR should still compile. Support for -march=alderlake, -march=sapphirerapids, -march=znver3 and -march=x86-64-v[234] has been added. The assembler now has support for {disp32} and {disp8} pseudo prefixes for controlling displacement size for memory operands and jump displacements. The assembler also supports the .d32 and .d8 mnemonic suffixes to do the same. A new function attribute “tune-cpu” has been added to support -mtune like gcc. This allows microarchitectural optimizations to be applied independent from the “target-cpu” attribute or TargetMachine CPU which will be used to select Instruction Set. If the attribute is not present, the tune CPU will follow the target CPU. Support for HRESET instructions has been added. Support for UINTR instructions has been added. Support for AVXVNNI instructions has been added. Changes to the AMDGPU Target The new byref attribute is now the preferred method for representing aggregate kernel arguments.
2021-06-18llvm: explicitly list all bin/* files instead of a wildcardwiz1-2/+71
2021-06-13llvm: buildlink all bin/* fileswiz1-1/+3
This is needed for the cmake files. Fixes build of at least include-what-you-use.
2021-06-13llvm: clean up pkglintwiz2-10/+10
2021-05-24*: recursive bump for perl 5.34wiz1-2/+2
2021-05-07llvm: Not for Alpha or VAX.nia1-1/+4
2020-11-07Apply fix fromhe3-4/+26
https://github.com/llvm/llvm-project/commit/a5d161c119d5a03c1ce834c6f4ce2576d6a064e4 so we avoid emitting a 64-bit-only instruction in 32-bit powerpc code. Bump PKGREVISION.
2020-11-05*: Recursive revbump from textproc/icu-68.1ryoon1-2/+2
2020-10-18llvm: bump requirement to LLVM 10.x.maya1-2/+2
Mixing llvm versions is probably inadvisable.
2020-09-20Re-instate the cmake configure check for whether -latomic ishe3-28/+14
required to gain access to 8-byte atomics. Add a hacks.mk file to pull in devel/libatomic on powerpc ports. The reason is that even though llvm itself doesn't need or use 8-byte atomics, other programs refer to this installed CheckAtomic cmake file and may indeed both need and use 8-byte atomics. Verified that llvm still builds on NetBSD/macppc 9.0. Bump PKGREVISION to 1.
2020-07-27llvm: updated to 10.0.1adam4-11/+15
2020-07-06If on powerpc, add -mlongcall to CFLAGS and CXXFLAGS, to avoidhe1-1/+4
"relocation truncated to fit: R_PPC_REL24" error.
2020-07-01clang: build with static analizer (default and needed for ↵adam2-4/+2
clang-tools-extra); remove clang-static-analyzer
2020-06-02Revbump for icuadam1-1/+2
2020-05-12lang/llvm: remove nonexistent file from SUBST_FILESrillig1-2/+1
opt-remarks has probably been replaced by remarks-shlib, which has already been added to the list.
2020-05-08lang/llvm: remove nonexistent file from REPLACE_PYTHONrillig1-2/+1
2020-04-18llvm: pkglint suggestionadam1-2/+2
2020-04-18llvm: updated to 10.0.0adam6-51/+117
Non-comprehensive list of changes in this release The ISD::FP_ROUND_INREG opcode and related code was removed from SelectionDAG. Enabled MemorySSA as a loop dependency. Since r370957 (D58311 [MemorySSA & LoopPassManager] Enable MemorySSA as loop dependency. Update tests.), the MemorySSA analysis is being preserved and used by a series of loop passes. The most significant use is in LICM, where the instruction hoisting and sinking relies on aliasing information provided by MemorySSA vs previously creating an AliasSetTracker. The LICM step of promoting variables to scalars still relies on the creation of an AliasSetTracker, but its use is reduced to only be enabled for loops with a small number of overall memory instructions. This choice was motivated by experimental results showing compile and run time benefits or replacing the AliasSetTracker usage with MemorySSA without any performance penalties. The fact that MemorySSA is now preserved by and available in a series of loop passes, also opens up opportunities for its use in those respective passes. The BasicBlockPass, BBPassManager and all their uses were deleted in this revision. The LLVM_BUILD_LLVM_DYLIB and LLVM_LINK_LLVM_DYLIB CMake options are no longer available on Windows. As per LLVM Language Reference Manual, getelementptr inbounds can not change the null status of a pointer, meaning it can not produce non-null pointer given null base pointer, and likewise given non-null base pointer it can not produce null pointer; if it does, the result is a poison value. Since r369789 (D66608 [InstCombine] icmp eq/ne (gep inbounds P, Idx..), null -> icmp eq/ne P, null) LLVM uses that for transformations. If the original source violates these requirements this may result in code being miscompiled. If you are using Clang front-end, Undefined Behaviour Sanitizer -fsanitize=pointer-overflow check will now catch such cases. Windows Control Flow Guard: the -cfguard option now emits CFG checks on indirect function calls. The previous behavior is still available with the -cfguard-nochecks option. Note that this feature should always be used with optimizations enabled. Callbacks have been added to CommandLine Options. These can be used to validate or selectively enable other options. The function attributes no-frame-pointer-elim and no-frame-pointer-elim-non-leaf have been replaced by frame-pointer, which has 3 values: none, non-leaf, and all. The values mean what functions should retain frame pointers. The inter-procedural analysis and optimization capabilities in the Attributor framework and pass have been substantially advanced (initial commit D59918, LLVM-Dev talk). In this release, 19 different attributes are inferred, including 12 LLVM IR attributes and 7 “abstract” attributes, such as liveness. The Attributor is still under heavy development and disabled by default; to enable an early run pass -mllvm -attributor-disable=false to an invocation of clang. New matrix math intrinsics have been added to LLVM (see LLVM Language Reference Manual), together with the LowerMatrixIntrinsics pass. The pass lowers matrix intrinsics to a set of efficient vector instructions. The lowering pass is off by default and can be enabled by passing -mllvm -enable-matrix to an invocation of clang.
2020-03-22lang/llvm: fix typo in REPLACE_PYTHON filenamerillig1-2/+2
2020-01-26all: migrate homepages from http to httpsrillig1-2/+2
pkglint -r --network --only "migrate" As a side-effect of migrating the homepages, pkglint also fixed a few indentations in unrelated lines. These and the new homepages have been checked manually.
2019-12-29llvm: updated to 9.0.1adam4-12/+29
9.0.1 is a bug-fix release.
2019-11-11llvm: Support RISCV target.nia3-5/+11
Bump PKGREVISION
2019-10-24catch up with llvm relicensing and bump PKGREVISIONstnn1-2/+3