Kavon Farvardin
Kavon Farvardin
Due to the challenges with implementing client-side performance auditing ( #28 ), we're limiting this prototype to single-threaded client programs. One way in the future to get around this without...
Currently we have a compile-time check of a minimum kernel version when building `halomon` for feature compatibility. The problem is that when distributing halo executables or the docker image*, the...
Should at least test the following situations 1. Standard separate compilation with `-fhalo` enabled for the object files / static libs and during linking to create the executable. It would...
Currently, small 50KiB executables balloon into >9MiB executables when we link in halomon. The reason why we had to go with a static library is due to issue #3. Some...
We run into some system-wide perf_events buffer limitations when many halo-enabled processes are running at once. See the comment here: https://github.com/halo-project/llvm/commit/e389423495329d4dc2840e00ed4ce829e4ab08d0 We had to change the `noop` test to not...
One possible use of path profiles that already exists under `llvm/Transforms/Instrumentation/ControlHeightReduction.h`: ``` This pass merges conditional blocks of code and reduces the number of conditional branches in the hot paths...
The `optforfuzzing` option(s) should be dropped completely. The `minsize`, `optsize`, `noinline`, `alwaysinline` options all seem like they might be worth tuning for the individual functions in the tuning section. Thus,...
It might be useful to leverage the [LLVM Machine Code Analyzer](https://llvm.org/docs/CommandGuide/llvm-mca.html) to obtain performance estimates before experiments.
A current deficiency of the profile-guided hot-cold splitting (HCS) in LLVM is that it will not move the cold functions away from the hot code to actually benefit from spatial...
There seems to be a somewhat new `patchable-function` attribute for functions that emits a small nop sled at the start of the function that is suitable for a compare-and-swap to...