Open jbush001 opened 5 years ago
NyuziToolchain/lib/Transforms/Vectorize/LoopVectorize.cpp
This is currently disabled by default in tools/clang/lib/Driver/ToolChains/Clang.cpp.
@@@ -4447,6 -4852,6 +4854,10 @@@ void Clang::ConstructJob(Compilation &C
// selected. For optimization levels that want vectorization we use the alias
// option to simplify the hasFlag logic.
bool EnableVec = shouldEnableVectorizerAtOLevel(Args, false);
++
++ // XXX Nyuzi
++ EnableVec = false;
++
OptSpecifier VectorizeAliasOption =
EnableVec ? options::OPT_O_Group : options::OPT_fvectorize;
if (Args.hasFlag(options::OPT_fvectorize, VectorizeAliasOption,
The following code:
With the "Loop Vectorization" pass enabled will generate a very large unrolled loop with 1024 instructions.
Also, it doesn't seem to actually be using vectors here. Probably need to tweak cost model to discourage it from doing this.