Everything related to programming, compilers, and related topics belong within the Programming channel.
Open-source code compilers are monitored via this sub-channel for a variety of programming environments.
Code debuggers and other tools commonly relied upon by programmers for debugging games and applications are monitored within this sub-channel.
Git is a leading open-source distributed version control system conceived by Linus Torvalds.
This Week's Activity
- [AArch64] Implement Armv8.5-A memory tagging (MTE) intrinsics
GCC - ktkachov: 2019-11-19 Dennis Zhang
- config/aarch64/aarch64-builtins.c (enum aarch64_builtins): Add AARCH64_MEMTAG_BUILTIN_START, AARCH64_MEMTAG_BUILTIN_IRG, AARCH64_MEMTAG_BUILTIN_GMI, AARCH64_MEMTAG_BUILTIN_SUBP, AARCH64_MEMTAG_BUILTIN_INC_TAG, AARCH64_MEMTAG_BUILTIN_SET_TAG, AARCH64_MEMTAG_BUILTIN_GET_TAG, and AARCH64_MEMTAG_BUILTIN_END.
- Change some bad uses of C2x attributes into pedwarns
GCC - jsm28: Certain bad uses of C2x standard attributes (that is, attributes inside [] with only a name but no namespace specified) are constraint violations, and so should be diagnosed with a pedwarn (or error) where GCC currently uses a warning.
- Two RTL CC tweaks for SVE pmore/plast conditions
GCC - rsandifo: SVE has two composite conditions:
pmore == at least one bit set && last bit clear plast == no bits set || last bit set
So in general we generate them from:
A: CC = test bits B: reg1 = first condition C: CC = test bits D: reg2 = second condition E: result = (reg1 op reg2) where op is || or &&
To fold all this into a single test, we need to be able to remove the redundant C (the cse.c patch) and then fold B, D and E down to a single condition (the simplify-rtx.c patch).
The underlying conditions are unsigned, so the simplify-rtx.c part needs to support both unsigned comparisons and AND.
- Handle VIEW_CONVERT_EXPR for variable-length vectors
GCC - rsandifo: This patch handles VIEW_CONVERT_EXPRs of variable-length VECTOR_CSTs by adding tree-level versions of native_decode_vector_rtx and simplify_const_vector_subreg.
- LRA: handle memory constraints that accept more than "m"
GCC - rsandifo: LRA allows address constraints that are more relaxed than "p":
/* Target hooks sometimes don't treat extra-constraint addresses as legitimate address_operands, so handle them specially.
- s390: add musl support
GCC - nsz: Add the musl dynamic linker names.
2019-11-18 Szabolcs Nagy
- config/s390/linux.h (MUSL_DYNAMIC_LINKER32): Define.
- libstdc++: Define C++20 range utilities and range factories
GCC - redi: This adds another chunk of the <ranges> header.
- Start work on header
GCC - redi
- Delete common/config/powerpcspe
GCC - segher: I missed this part in r266961.
- [PATCH] Refactor rust-demangle to be independent of C++ demangling
GCC - law: - demangle.h (rust_demangle_callback): Add.
- cplus-dem.c (cplus_demangle): Use rust_demangle directly.