How single-iteration InstCombine improves LLVM compile time
A technical deep-dive into single-iteration InstCombine, one of the compile-time improvements implemented in LLVM 18.
A technical deep-dive into single-iteration InstCombine, one of the compile-time improvements implemented in LLVM 18.
Explore RHEL 9.3 updates that improve developer experience, including new language runtimes, toolsets, and compilers, system role updates, and more.
Explore how frame pointers can be used to unwind Linux kernel stack traces and examine different ways to obtain a backtrace, along with their pros and cons.
Learn how the FORTIFY_SOURCE feature in the GNU C library improves C code security by detecting and preventing buffer overflow, and more.
Discover the benefits of the Fedora 38 new feature for ppc64le. Now Clang uses the IEEE 128-bit long double by default.
Explore new features in Red Hat Enterprise Linux 9.2, which provides a flexible and stable foundation to support hybrid cloud innovations.
The GNU Compiler Collection 13 release implemented a number of interesting features in its C front-end. This article summarizes the most interesting ones.
Learn how to use GDB to debug C++ lambda expressions and explore some of the challenges associated with debugging function objects.
Learn about an upcoming change in GCC 13's libstdc++ that reduces executable size and improves startup times for C++ programs that use the <iostream> header.
Discover how to improve application and library security at the source with _FORTIFY_SOURCE macro defined to 3 and how it impacts performance.
The GCC compiler is expanding range tracking in optimizations.
Interested in contributing to the open source LLVM project? This article walks you through the process.
Learn about 8 optimization techniques for a faster interpreter in Ruby which I developed using a dynamically specialized internal representation (IR).
Learn about the new features from OpenMP 5.1 and OpenMP 5.2 which are implemented in GCC 12.
Could your perfectly running program blow up someday? Learn different types of behavior in the standard and what helps make a correct C or C++ program.
Discover how flexible array members offer convenience and improve performance, and how compiler complexities are mitigated.
Discover the gains and costs of GCC’s enhanced runtime buffer overflow protection. Level 3 _FORTIFY_SOURCE preprocessor macro may detect more buffer overflows, but there’s a cost.
Optimizations in the HotSpot virtual machine that used to work only for int variables now work also for long.
Use a Python API for GDB Text User Interface (TUI) to retrieve content from GDB and display the content in a scrolling window.
The GDB Text User Interface (TUI) has a Python API to retrieve content of your choice dynamically from GDB and display it in a custom window.
Learn the commands that let you move up and down the stack when debugging C and C++ programs.
Smash-stacking attacks are common, but the GCC and Clang compilers have a number of flags that can help defend against them. Read on for more info.
Version 12 of GCC implements much of the recent C++ standard, allows a number of previously prohibited constructs, and fixes some problematic behaviors.
New features and a substantial reduction in false positives bring GCC's static analysis closer to being production-ready for C code.