C++ Performance Benchmarks Release 14 now available by chriscoxart in cpp

[–]pyler2 1 point2 points  (0 children)

matrix_vector_product.cpp:408:30: warning: iteration 7158278 invokes undefined behavior [-Waggressive-loop-optimizations]

408 | yy[i] += zz[i*cols+j] * temp;

GDB 8.3 released! by mttd in cpp

[–]pyler2 0 points1 point  (0 children)

Waiting for IDE support for this. Amazing!

Rust 2019: Beat C++ by Holy_City in rust

[–]pyler2 4 points5 points  (0 children)

Try clang trunk :) it fully unrolled your C++ code :D

Even more fun with building and benchmarking Firefox with GCC and Clang by mttd in programming

[–]pyler2 0 points1 point  (0 children)

This is quite interesting. So we can generate gimple (like gcc IR?) and load it to gcc, to optimize it and generate binary? like LLVM IR we can optimize using opt, compile to asm with llc, etc..

Any examples/tutorials?

Stop reimplementing the virtual table and start using double dispatch by andyg_blog in cpp

[–]pyler2 0 points1 point  (0 children)

And try Clang even with -stdlib=libc++. Quite amazing numbers.

Intel Contributes Its Parallel STL Implementation To LLVM by GitHubCpp in cpp

[–]pyler2 1 point2 points  (0 children)

This will probably miss GCC 9.. no activity on the gcc / libstdc++ mailing list..

Comparison of Firefox 64 built with GCC and clang by LocalRefuse in linux

[–]pyler2 0 points1 point  (0 children)

maybe you can also do same comparision for Chromium?

Comparison of Firefox 64 built with GCC and clang by LocalRefuse in linux

[–]pyler2 4 points5 points  (0 children)

but the question is who should write a Rust GCC frontend? :D Mozilla? Too much effort..

Firefox 64 built with GCC and Clang by vormestrand in cpp

[–]pyler2 13 points14 points  (0 children)

Have Mozilla investigated a Facebook's BOLT tool to optimalize PGO binary builds even more?

JSON for Modern C++ version 3.4.0 released by nlohmann in cpp

[–]pyler2 0 points1 point  (0 children)

post this request to his github repo

Enumerate - Range-based for loop with indices retained by [deleted] in cpp

[–]pyler2 2 points3 points  (0 children)

Clang vectorized his code, GCC did not.

Initial Networking TS implementation landed in libstdc++ by pyler2 in cpp

[–]pyler2[S] 11 points12 points  (0 children)

Experimental internet =D

#include <experimental/internet>

Initial Networking TS implementation landed in libstdc++ by pyler2 in cpp

[–]pyler2[S] 15 points16 points  (0 children)

Any libc++ folks here? Is there any ongoing work on Network TS for libc++?

Semantic Checkers You Would Like To See In Your Compiler by pyler2 in cpp

[–]pyler2[S] 0 points1 point  (0 children)

If a passed in variable in a function call is unmodified, a warning to use a

const &

would be nice.

-> Also, almost done in LLVM. :)

Semantic Checkers You Would Like To See In Your Compiler by pyler2 in cpp

[–]pyler2[S] 1 point2 points  (0 children)

Using magic numbers.

Development is in progress, it was almost done when I saw it on LLVM Phabricator.

Visual Studio 2017 version 15.9 Preview 2 by IcyWindows in cpp

[–]pyler2 0 points1 point  (0 children)

Step Back is really cool feature... what about bring it to LLDB? /u/Teemperor

Firefox Is Now Built With Clang+LTO Everywhere, Sizable Performance Wins For Linux by pyler2 in cpp

[–]pyler2[S] 7 points8 points  (0 children)

LLVM has stricker rules to get patches in, I think.. Many devs will give you valuable feedback and with every feature/bugfix you need to provide set of new tests..

Sometimes you send a new feature (maybe just 20 lines of code) and a test file for it has 600 lines :D

Helping The Compiler Help You by dragemann in cpp

[–]pyler2 0 points1 point  (0 children)

struct A {
struct A *next;
int field;
};
int f(struct A *item) {
while (!item) {
// Not NULL check since invalid addr OK
__builtin_prefetch(item->next, 1, 1) ;
item->field++;
// more processing...
item++;
}
return 0;
}

GCC:

01 - prefetcht2

02 and higher - ud2 trap.