Skip to content

Suspicious optimize pragmas in rts/Hash.c

rts/Hash.c currently contains:

/* This file needs to be compiled with vectorization enabled.  Unfortunately
   since we compile these things these days with cabal we can no longer
   specify optimization per file.  So we have to resort to pragmas.  */
#if defined(__GNUC__) || defined(__GNUG__)
#if !defined(DEBUG)
#pragma GCC push_options
#pragma GCC optimize ("O3")
#endif
#endif

This is not ideal as clang-based compilers don't support #pragma GCC. Instead a warning will be issued. This presumably means that clang builds aren't being as well-optimised as gcc builds.

Edited by Ben Gamari
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information