Conversation

just made CXXRTL 20% faster overall (2× faster commits) on clang-11 by replacing a bunch of `flag |= x.commit()` with `if (x.commit()) flag = true;` (gcc-10 is unaffected) compilers🤦‍♀️
6
121
what is particularly funny is that clang without the fix is slower than gcc, but clang with the fix is actually 10% faster than gcc
3
27
Replying to and
Clang similarly doesn't make much use of LLVM aggregates. In general, this is a sign that there's something wrong with the LLVM feature and it isn't a good idea to use it elsewhere if you expect correct and efficient code generation. C ABI support in LLVM is a total hack too.
1
4
Replying to and
Clang manually deals with implementing the C calling convention for structs instead of LLVM's C calling convention implementing it for aggregates. These workarounds in Clang cause many missed optimizations in LLVM, and LLVM also isn't optimized to deal well with first-class code.
1
5
Show replies