Open-source code compilers are monitored via this sub-channel for a variety of programming environments.
Clang is a C, Objective-C, and C++ compiler front-end to LLVM.
Compiler-RT is the LLVM library providing low-level target-specific hooks for code generation and other runtime components.
DragonEgg is a GCC plug-in that uses LLVM as a back-end.
GCC, the GNU Compiler Collection that is the Free Software Foundation open-source compiler for C, C++, Fortran, Java, ADA, and other languages.
HHVM, the HipHop Virtual Machine, is Facebook's virtual machine, run-time, and JIT compiler for PHP.
LDC is an LLVM-based compiler front-end for the D programming language.
LLVM is an innovative open-source compiler infrastructure that's widely used for various purposes
The Perl Programming Language.
PHP is one of the most popular web server languages.
PyPy is an alternative implementation of Python that focuses upon speed and other abilities.
This Month's Activity
- Enable Intel ENCLV support
GCC - itsimbal: 2018-03-15 Olga Makhotina
- config/i386/sgxintrin.h (_enclv_u32): New intrinsic.
- [AArch64] Add a tlsdesc call pattern for SVE
GCC - rsandifo: tlsdesc calls are guaranteed to preserve all Advanced SIMD registers, but are not guaranteed to preserve the SVE extension of them.
- [AArch64] Add SVE mul_highpart patterns
GCC - rsandifo: One advantage of the new permute handling compared to the old way is that we can now easily take advantage of the vectoriser's divmod patterns for SVE.
2018-03-13 Richard Sandiford
- config/aarch64/iterators.md (UNSPEC_SMUL_HIGHPART) (UNSPEC_UMUL_HIGHPART): New constants.
- Fix PTA info in IPA ICF (PR ipa/84658).
GCC - marxin: 2018-03-13 Martin Liska
- (sem_item_optimizer::sem_item_optimizer): Initialize new
- [NDS32] Implement TARGET_MD_ASM_ADJUST hook
GCC - jasonwucj: gcc/
- config/nds32/nds32.c (nds32_md_asm_adjust): New function.
- [NDS32] Add new option -mvh
GCC - jasonwucj
- jit: use 'configure' to replace hard-coded linker options (PR jit/64089 and PR jit/84288)
GCC - dmalcolm: gcc/ChangeLog: PR jit/64089 PR jit/84288
- Makefile.in (LD_VERSION_SCRIPT_OPTION, LD_SONAME_OPTION): New.
- configure: Regenerate.
- configure.ac ("linker --version-script option"): New.
- S/390: libatomic: Fix 16 byte atomic exchange
GCC - krebbel: The compiler builtin will use the hardware instruction cdsg if the memory operand is properly aligned and will fall back to the library call otherwise.
- [LVU] reset view at function entry, omit views at line zero
GCC - aoliva: Location views might be associated with locations that lack line number information (line number zero), but since we omit .loc directives that would have been issued with line number zero, we also omit the symbolic view numbers that would have been issued at such points.
Resetting views at function entry points address some of these issues, and alleviate the huge chains of symbolic views that have burdened assemblers since we disabled -ginternal-reset-location-views by default, but other problems of undefined views remain when it's not the whole function that lacks line number info, just parts of it.
So, when we encounter a request to output a view that may have been referenced, but we decide to omit the .loc because the line is zero, we will now omit the view as well, i.e., we will internally regard that view as zero-numbered.
PR debug/84404 PR debug/84408
- dwarf2out.c (struct dw_line_info_table): Update comments for
view == -1.
- 2017-03-06 Thomas Koenig
GCC - tkoenig: PR fortran/84697 PR fortran/66128
- expr.c (simplify_parameter_variable): If p is a size zero array and not an ARRAY_EXPR insert an empty array constructor and return.
- gfortran.h: Add prototype for gfc_is_size_zero_array.
- simplify.c (is_size_zero_array): Make non-static and rename into (gfc_is_size_zero_array): Check for parameter arrays of zero size by comparing shape and absence of constructor.