- User Since
- Jun 17 2015, 7:07 AM (204 w, 4 d)
Fri, May 10
Thu, May 9
Thu, May 2
Do you intent to use this interface for a specific external project, or is it to avoid direct references to Polly?
Tue, Apr 30
Generally, I'd prefer to use ScalarEvolution over inspecting (and expecting specific) instructions in a loop, whenever possible. Some canonicalization passes are designed for this. In particular, IndVarSimplify used to make canonical loops (i.e. start at zero, increment by one). r133502 introduced -disable-iv-rewrite to rely more on ScalarEvolution instead of "opcode/pattern matching" (cite from the commit message). -enable-iv-rewrite=false was made the default in r139579 after finding that it slows down many benchmarks. It was completely removed in r153260.
llvm_multisource has an option "PREFIX" that can be used to disambiguate target names. However, in my experience when using it collecting metrics does not work as reliable with this options.
Wed, Apr 24
Having both -- -disable-loop-vectorization and -vectorize-loops -- is somewhat confusing. Could we have a tri-state cl::opt which, when not specified, uses OptLevel > 1 && SizeLevel < 2 dis-/enable the vectorizer? Similar to -disable-loop-unrolling.
Tue, Apr 23
Apr 19 2019
Apr 18 2019
Thanks for coming up with this patch.
Apr 16 2019
Are you planning to add more users of this interface?
Apr 15 2019
Apr 11 2019
When applying this patch to the current trunk, I get:
CMake Error at tools/polly/lib/CMakeLists.txt:116 (add_llvm_loadable_module): Unknown CMake command "add_llvm_loadable_module".
Generally, LGTM; with some smaller suggestions.
Apr 5 2019
Like D59832, #pragma clang loop unroll/#pragma unroll might require a loop rotation as well to successfully unroll?
Apr 1 2019
@dmgreen Thank you for the review!
Mar 28 2019
Mar 27 2019
This might be a more general problem, other passes might expect a normalized form as well, such as UnrollAndJam and LoopDistribute.
Mar 26 2019
@grokos Thank you for the review!
Mar 25 2019
Done. Thanks for the patch!
- Add two test cases for all attributes combined (as inner and outer loop for of an unroll-and-jam)
- Of two nested unroll-and-jams, apply the inner first
- Typos and comment clarification
- Add missing llvm.loop.isvectorized when attributes are split between BeforeJam and AfterJam
Do you need help with landing the patch?
Mar 24 2019
Mar 19 2019
Mar 18 2019
Thank you for pushing this forward and sorry for the delay.
Mar 14 2019
Mar 12 2019
Mar 11 2019
- Undo whitespace change
Sorry for the delay. I missed your reply during the holidays.
- Define OMPTARGET_DEBUG preprocessor symbol if LIBOMPTARGET_ENABLE_DEBUG
- Fix regression test execution
The Polly-powered additional transformations now also generate this kind of metadata.
Mar 8 2019
Feb 25 2019
What is the motivation of the rename? What are the plans for more generic OptRemarks?
Feb 22 2019
Feb 19 2019
Feb 18 2019
Feb 13 2019
Feb 12 2019
Feb 11 2019
- Use APInt to construct constant in metadata
- Undo unnecessary test case changes
Feb 8 2019
Feb 4 2019
- Use a TemporaryMDNode instead of nullptr
Feb 1 2019
@lildmh Thanks for the patch. I can commit this patch for you. The tests run fine on my machine. However, for committing on other's behalf, we were asked to make the contributor aware that the contribution will be published under a new license. Are you OK with the new license?
Jan 31 2019
Jan 28 2019
Thanks for catching this. Looks like I did not think about calling getZExtValue on ConstantInt, but didn't notive because ConstantInt* converts to bool implicitly.
Jan 25 2019
Thanks for looking into my almost 6 year old bug!
The check hasVectorizeTransformation(L) in front checks whether vectorization is forced by the user. It is not necessary that the user also fixes the simd width/interleave count. Hence, the warning is valid in this case. It is the same behavior as before rL348944 (which I tried to replicate).