Extracting the json.h README.md Code Samples For Compiling

One thing that has always worried me with writing C samples in documentation for my single-header libraries is that you can't be 100% sure that they will compile successfully. You can always extract them and run them, but you might change them and forget to re-test. Having this be automatic is so powerful. Rust has this feature built in to the ecosystem so that all code samples are testing automagically.

C89 & Single Header json.h

I've been working on my various C/C++ single header libraries some over the Christmas break, and while I already did an update on my work, I decided to leave json.h for its own post. C89 Support One requested thing over the years has been C89 support, and I was reluctant to do this mostly out of sheer laziness. I'd have to convert a bunch of comments over and remove my use of long long.

Some Miscellaneous Library Improvements

I've been working on my various C/C++ single header libraries some over the Christmas break, and I thought I'd just jot down the improvements I've made in a post. process.h -> subprocess.h I've had a long standing complaint that the name process.h conflicted with a Windows system header. I've decided (after a good three years of indecision mind you) to just rename the header and the entry points to subprocess.h instead.

FPSCEV - Improving the Range Analysis

In this post, we'll improve our floating-point scalar evolution (fpscev) to do a better job at evaluating the range of some of the more complex intrinsics we analyze. This post is the latest in a series about my experimentations with floating-point scalar evolution, you really want to read them in order: An Experimental Floating-Point Scalar Evolution Using Floating-Point Scalar Evolution to Propagate Fast-Math Flags Using Floating-Point Scalar Evolution to Simplify Instructions The fpscev pass changes discussed in this post is available on github here.

Farewell AMD / Hello Unity

Announcement time - today is my last day at AMD. I'll be taking a few weeks off, before starting a new gig at Unity mid-July. It is also the end of my five year involvement in Vulkan & SPIR-V - having contributed to both specifications since 2014. I've very much enjoyed my time in this slice of the industry, but it was time for a new challenge. Farewell AMD I've been at AMD a little over a year now - and it has been an interesting challenge.