[PATCH] D33774: [CodeGen] Make __attribute__(const) calls speculatable

2017-06-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. Definition of `__attibute__((const))` from https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes > Many functions do not examine any values except their arguments, and have no > effects except the return value. Basically this

[PATCH] D47267: [UnrollAndJam] Add unroll_and_jam pragma handling

2018-05-24 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. Yes, this is what I had in mind. Thank you. I am preparing an RFC on what I am trying to do. This should clarify our goals and to what extend `#pragma clang loop` conflicts with it. https://reviews.llvm.org/D47267 ___

[PATCH] D47267: [UnrollAndJam] Add unroll_and_jam pragma handling

2018-05-23 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. This is straightforward in that it clones the implementation of `#pragma unroll` for `unroll_and_jam`. Hence, it also shares the same problem of clang's LoopHints, namely that the order of loop transformations (if there are multiple on the same loop: loop

[PATCH] D47267: [UnrollAndJam] Add unroll_and_jam pragma handling

2018-05-23 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D47267#1109912, @dmgreen wrote: > > Could we maybe disable the #pragma clang loop unroll_and_jam spelling ftm > > to avoid compatibility issues? > > Sure, I'm not against. It sounds like you have opinions on how this should > work. That's

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-12 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: hfinkel, TylerNowicki, ABataev, thakis, rjmccall, george.burgess.iv, nicholas, nlewycky. Herald added subscribers: atanasyan, zzheng. ... instead of prepending it at the beginning (the original behavior since implemented in r122535

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-12 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: lib/Sema/SemaOverload.cpp:6194 static SmallVector getOrderedEnableIfAttrs(const FunctionDecl *Function) { SmallVector Result; nicholas wrote: > This function shouldn't be necessary any more. All it's doing now

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-13 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 151209. Meinersbur added a comment. - Remove obsolete comment - Refactor getOrderedEnableIfAttrs Repository: rC Clang https://reviews.llvm.org/D48100 Files: include/clang/Sema/AttributeList.h lib/AST/ItaniumMangle.cpp lib/Parse/ParseDecl.cpp

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-13 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur marked 4 inline comments as done. Meinersbur added inline comments. Comment at: lib/AST/ItaniumMangle.cpp:710-711 Out << "Ua9enable_ifI"; // FIXME: specific_attr_iterator iterates in reverse order. Fix that and use // it here. +for

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-14 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur marked an inline comment as done. Meinersbur added a comment. In https://reviews.llvm.org/D48100#1132208, @aaron.ballman wrote: > Can you also simplify `hasSameOverloadableAttrs()` in ASTReaderDecl.cpp > similar to what you did in SemaOverload.cpp (the copy seems spurious)? Changed

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-14 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 151378. Meinersbur marked an inline comment as done. Meinersbur added a comment. - Remove FIXME - Add comment about O(n^2) execution time when adding attributes - Do not store enable_if attributes in temporary list Repository: rC Clang

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-19 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC335084: Append new attributes to the end of an AttributeList. (authored by Meinersbur, committed by ). Changed prior to commit: https://reviews.llvm.org/D48100?vs=151378=151998#toc Repository: rC

[PATCH] D47267: [UnrollAndJam] Add unroll_and_jam pragma handling

2018-06-05 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D47267#1122425, @dmgreen wrote: > I noticed in the paper that you used the name "unrollandjam", minus > underscores. Should I change this use that spelling here? I have no strong > opinion of one over the other (was just using what I had

[PATCH] D47267: [UnrollAndJam] Add unroll_and_jam pragma handling

2018-06-05 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D47267#1123013, @dmgreen wrote: > I see your point about the mix of underscores. "nounroll_and_jam" also comes > from the Intel docs, and theres already "nounroll" vs "unroll". The "no" > becomes a qualifier on "unroll_and_jam".

[PATCH] D47267: [UnrollAndJam] Add unroll_and_jam pragma handling

2018-06-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. The RFC: https://lists.llvm.org/pipermail/cfe-dev/2018-May/058141.html https://reviews.llvm.org/D47267 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-06-30 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: ABataev, hfinkel. Emit !llvm.mem.parallel_loop_access metadata for memory accesses even if the parallel loop is not the top on the loop stack. Fixes llvm.org/PR37558. Repository: rC Clang https://reviews.llvm.org/D48808 Files:

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-25 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D48100#1142866, @erichkeane wrote: > I'm currently attempting to remove the AttributeList's linked-listness. Thank you. This should also resolve the non-optimal asymptotic execution time to append new attributes at the end of the list.

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-06-25 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: test/Sema/attr-micromips.c:9 -__attribute__((micromips,mips16)) void foo5(); // expected-error {{'micromips' and 'mips16' attributes are not compatible}} \ +__attribute__((micromips,mips16)) void foo5(); // expected-error

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-07-02 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 153803. Meinersbur added a comment. - Adapt test file message. Repository: rC Clang https://reviews.llvm.org/D48808 Files: lib/CodeGen/CGLoopInfo.cpp test/CodeGenCXX/pragma-loop-safety-nested.cpp test/CodeGenCXX/pragma-loop-safety-outer.cpp

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-07-02 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D48808#1149549, @hfinkel wrote: > In https://reviews.llvm.org/D48808#1149534, @ABataev wrote: > > > > > > Michael, can you please add a test with two inner loops, one where more than > one is annotated, and one where only the outer loop is

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-07-02 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D48808#1149845, @hfinkel wrote: > We specifically defined the metadata to support nested loops. The LangRef > says, "The llvm.mem.parallel_loop_access metadata refers to a loop > identifier, or metadata containing a list of loop

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-07-02 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 153769. Meinersbur added a comment. - Allow multiple parallel annotations Repository: rC Clang https://reviews.llvm.org/D48808 Files: lib/CodeGen/CGLoopInfo.cpp test/CodeGenCXX/pragma-loop-safety-nested.cpp

[PATCH] D48734: [Sema] Consider all format_arg attributes.

2018-06-30 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 153642. Meinersbur added a comment. - Address Aaron's remarks Repository: rC Clang https://reviews.llvm.org/D48734 Files: lib/Sema/SemaChecking.cpp test/Sema/attr-format_arg.c Index: test/Sema/attr-format_arg.c

[PATCH] D48734: [Sema] Consider all format_arg attributes.

2018-06-30 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 153643. Meinersbur added a comment. - Reinsert test for the change in this patch Repository: rC Clang https://reviews.llvm.org/D48734 Files: lib/Sema/SemaChecking.cpp test/Sema/attr-format_arg.c Index: test/Sema/attr-format_arg.c

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-07-02 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D48808#1149534, @ABataev wrote: > I don't think that this is the intended behavior of the `#pragma clang loop`. > it is better to ask the author of this pragma is this correct or not. I understand it as the intended behavior of the

[PATCH] D48734: [Sema] Consider all format_arg attributes.

2018-07-03 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC336239: [Sema] Consider all format_arg attributes. (authored by Meinersbur, committed by ). Changed prior to commit: https://reviews.llvm.org/D48734?vs=153643=154038#toc Repository: rC Clang

[PATCH] D50216: Pass IsInherited when merging attribute lists [RFC]

2018-08-02 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Herald added subscribers: cfe-commits, eraman. Attempt to solve the the diagnostic marker order ('note: previous declaration here' pointing to a source location before the main error marker) from https://reviews.llvm.org/D48100. The approach is to pass a

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-08-02 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC338810: [CodeGen] Emit parallel_loop_access for each loop in the loop stack. (authored by Meinersbur, committed by ). Changed prior to commit: https://reviews.llvm.org/D48808?vs=155288=158912#toc

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-08-02 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL338800: Append new attributes to the end of an AttributeList. (authored by Meinersbur, committed by ). Herald added a subscriber: llvm-commits. Repository: rL LLVM https://reviews.llvm.org/D48100

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-08-02 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC338800: Append new attributes to the end of an AttributeList. (authored by Meinersbur, committed by ). Changed prior to commit: https://reviews.llvm.org/D48100?vs=158639=158880#toc Repository: rC

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-08-02 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. I have two approaches to tackle the wrong marker order: https://reviews.llvm.org/D50215 and https://reviews.llvm.org/D50216. IMHO both are too invasive to be justified for the small issue. Repository: rL LLVM https://reviews.llvm.org/D48100

[PATCH] D50214: Add inherited attributes before parsed attributes.

2018-08-02 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: hfinkel, aaron.ballman, nicholas, dlj, echristo, erichkeane. Currently, attributes from previous declarations ('inherited attributes') are added to the end of a declaration's list of attributes. Before r338800, the attribute list

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-07-26 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. ping Repository: rC Clang https://reviews.llvm.org/D48808 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D47267: [UnrollAndJam] Add unroll_and_jam pragma handling

2018-07-31 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur accepted this revision. Meinersbur added a comment. This revision is now accepted and ready to land. LGTM Comment at: lib/Sema/SemaStmtAttr.cpp:183 {nullptr, nullptr}}; - for (const auto *I : Attrs) { [nit] unrelated

[PATCH] D50055: Update the coding standard about NFC changes and whitespace

2018-08-04 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: docs/CodingStandards.rst:514-516 +line of code. Some common editors will automatically remove trailing whitespace +when saving a file which causes unrelated changes to appear in diffs and +commits. Just to note that

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-08-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. I am unsure how to proceed. Commit since already accepted? Wait for reconfirmation? Open new differential? Repository: rC Clang https://reviews.llvm.org/D48100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-08-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 158639. Meinersbur marked an inline comment as done. Meinersbur added a comment. - Remove TODOs about the attribute order Repository: rC Clang https://reviews.llvm.org/D48100 Files: include/clang/Sema/ParsedAttr.h lib/AST/ItaniumMangle.cpp

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-08-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 158610. Meinersbur added a comment. Rebase after de-listifying in r336945 Repository: rC Clang https://reviews.llvm.org/D48100 Files: include/clang/Sema/ParsedAttr.h lib/AST/ItaniumMangle.cpp lib/Parse/ParseDeclCXX.cpp lib/Parse/ParseObjc.cpp

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-08-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur reopened this revision. Meinersbur added a comment. This revision is now accepted and ready to land. Herald added a subscriber: jrtc27. Reopen after revert (and to be able to update the diff) Repository: rC Clang https://reviews.llvm.org/D48100

[PATCH] D48100: Append new attributes to the end of an AttributeList.

2018-08-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur marked an inline comment as done. Meinersbur added inline comments. Comment at: test/Sema/attr-ownership.c:22 void f15(int, int) - __attribute__((ownership_returns(foo, 1))) // expected-note {{declared with index 1 here}} - __attribute__((ownership_returns(foo,

[PATCH] D50214: Add inherited attributes before parsed attributes.

2018-08-03 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. For this patch the goal is to have the attributes in the AST in an order that is less surprising to consumers (including out-of-tree). If we change it now, new/revised code/diagnostics will be written to match this order. I agree that ideally, most attributes

[PATCH] D50214: Add inherited attributes before parsed attributes.

2018-08-13 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: lib/AST/DeclBase.cpp:854-859 + auto I = Attrs.begin(), E = Attrs.end(); + for (; I != E; ++I) { +if (!(*I)->isInherited()) + break; + } + Attrs.insert(I, A); aaron.ballman wrote: > The unfortunate part

[PATCH] D50805: [Sema] Don't warn on returning the address of a label

2018-08-16 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D50805#1201956, @Quuxplusone wrote: > If you added a new option `-Wret-addr-label` as suggested above (for a total > patch of +2 lines), then is it accurate to say: > > - if `-Wret-addr-label` was enabled by default, we know of at least

[PATCH] D50055: Update the coding standard about NFC changes and whitespace

2018-08-07 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: docs/CodingStandards.rst:514-516 +line of code. Some common editors will automatically remove trailing whitespace +when saving a file which causes unrelated changes to appear in diffs and +commits. JDevlieghere

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-07-17 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. ping Repository: rC Clang https://reviews.llvm.org/D48808 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48808: [CodeGen] Emit parallel_loop_access for each loop in the loop stack.

2018-07-12 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 155288. Meinersbur added a comment. - Hoist I->mayReadOrWriteMemory() condition. Repository: rC Clang https://reviews.llvm.org/D48808 Files: lib/CodeGen/CGLoopInfo.cpp test/CodeGenCXX/pragma-loop-safety-nested.cpp

[PATCH] D48734: [Sema] Consider all format_arg attributes.

2018-06-28 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: dlj, rsmith, Jean-Daniel. If a function has multiple format_arg attributes, clang only considers the first it finds (because AttributeLists are in reverse order, it is textual last) and ignores all others. Loop over all

[PATCH] D48734: [Sema] Consider all format_arg attributes.

2018-06-28 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: lib/Sema/SemaChecking.cpp:5534 + if (!IsFirst) +return CommonResult; + Not sure what should be returned here; To minimize surprises, this returns what the current version would have returned.

[PATCH] D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.

2018-10-04 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 168251. Meinersbur marked 2 inline comments as done. Meinersbur added a comment. - Address @pekka.jaaskelainen's review. Repository: rC Clang https://reviews.llvm.org/D52117 Files: lib/CodeGen/CGLoopInfo.cpp lib/CodeGen/CGLoopInfo.h

[PATCH] D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.

2018-10-03 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 168096. Meinersbur added a comment. - Upload diff for clang portion (instead of https://reviews.llvm.org/D52116) Repository: rC Clang https://reviews.llvm.org/D52117 Files: lib/CodeGen/CGLoopInfo.cpp lib/CodeGen/CGLoopInfo.h

[PATCH] D50214: Add inherited attributes before parsed attributes.

2018-09-19 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. ping Repository: rC Clang https://reviews.llvm.org/D50214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50214: Add inherited attributes before parsed attributes.

2018-09-24 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur closed this revision. Meinersbur added a comment. Commited as https://reviews.llvm.org/rL342861. Repository: rC Clang https://reviews.llvm.org/D50214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.

2018-09-26 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 167099. Meinersbur added a comment. Herald added subscribers: llvm-commits, dexonsmith, steven_wu, eraman, mehdi_amini. - Rebase - Use call access group if instruction's access group is not set Repository: rL LLVM https://reviews.llvm.org/D52117

[PATCH] D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes.

2018-12-12 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC348944: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. (authored by Meinersbur, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit:

[PATCH] D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.

2018-12-20 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC349823: [CodeGen] Generate llvm.loop.parallel_accesses instead of llvm.mem. (authored by Meinersbur, committed by ). Changed prior to commit: https://reviews.llvm.org/D52117?vs=178944=179141#toc

[PATCH] D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.

2018-12-07 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 177324. Meinersbur added a comment. - Fix wrong patch upload - Simplify access group emission ... .. possible due to the added possibility for instructions to belong to multiple access groups in D52116 . However, the

[PATCH] D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.

2018-12-07 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 177320. Meinersbur marked an inline comment as done. Meinersbur added a comment. - Allow multiple access groups per instructions, i.e. an instruction can be in multiple access groups. This allows a simple 'union' operation that occurs when inlining into

[PATCH] D55468: Use zip_longest for list comparisons.

2018-12-07 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: dblaikie, hfinkel. Use zip_longest in two locations that compare iterator ranges. zip_longest allows the iteration using a range-based for-loop and to be symmetric over both ranges instead of prioritizing one over the other. In that

[PATCH] D55468: Use zip_longest for iterator range comparisons. NFC.

2018-12-09 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: lib/Sema/SemaOverload.cpp:8979 +// has fewer enable_if attributes than Cand2, and vice versa. +if (std::get<0>(Pair) == None) return Comparison::Worse; dblaikie wrote: > I'd probably write this as "if

[PATCH] D55468: Use zip_longest for iterator range comparisons. NFC.

2018-12-09 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 177444. Meinersbur marked 4 inline comments as done. Meinersbur added a comment. - Address @dblaikie's review Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55468/new/ https://reviews.llvm.org/D55468 Files:

[PATCH] D55468: Use zip_longest for iterator range comparisons. NFC.

2018-12-10 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Meinersbur marked an inline comment as done. Closed by commit rC348762: Use zip_longest for iterator range comparisons. NFC. (authored by Meinersbur, committed by ). Changed prior to commit:

[PATCH] D55468: Use zip_longest for iterator range comparisons. NFC.

2018-12-09 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur marked 3 inline comments as done. Meinersbur added inline comments. Comment at: lib/Serialization/ASTReaderDecl.cpp:2922 +// Return false if the number of enable_if attributes is different. +if (std::get<0>(Pair).hasValue() != std::get<1>(Pair).hasValue()) +

[PATCH] D55468: Use zip_longest for iterator range comparisons. NFC.

2018-12-09 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 177447. Meinersbur added a comment. - Fix xor - Store tuple elements in variables Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55468/new/ https://reviews.llvm.org/D55468 Files: lib/Sema/SemaOverload.cpp

[PATCH] D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.

2018-09-14 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: hfinkel, amusman, ABataev, tyler.nowicki. Meinersbur added a dependency: D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata.. Instead of generating llvm.mem.parallel_loop_access metadata, generate

[PATCH] D52118: [Loopinfo] Remove one latch case in getLoopID. NFC.

2018-09-14 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: hfinkel, jdoerfert. getLoopID has different control flow for two cases: If there is a single loop latch and for any other number of loop latches (0 and more than one). The latter case should return the same result if there is a

[PATCH] D52118: [Loopinfo] Remove one latch case in getLoopID. NFC.

2018-09-17 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL342406: [Loopinfo] Remove one latch-case in getLoopID. NFC. (authored by Meinersbur, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D52118: [Loopinfo] Remove one latch case in getLoopID. NFC.

2018-09-17 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In https://reviews.llvm.org/D52118#1235897, @jdoerfert wrote: > > save an iteration over the loop's basic blocks (which is what getLoopLatch > > does) > > I'm not sure this is true. getLoopLatch() in LoopInfoImpl.h > only traverses the children of the header in the

[PATCH] D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.

2018-12-19 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 178944. Meinersbur added a comment. - Fix typo Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D52117/new/ https://reviews.llvm.org/D52117 Files: lib/CodeGen/CGLoopInfo.cpp lib/CodeGen/CGLoopInfo.h

[PATCH] D57978: [CodeGen] Generate follow-up metadata for loops with more than one transformation.

2019-04-01 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL357415: [CodeGen] Generate follow-up metadata for loops with more than oneā€¦ (authored by Meinersbur, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior

[PATCH] D57978: [CodeGen] Generate follow-up metadata for loops with more than one transformation.

2019-04-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. @dmgreen Thank you for the review! Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D57978/new/ https://reviews.llvm.org/D57978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D57978: [CodeGen] Generate follow-up metadata for loops with more than one transformation.

2019-03-25 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur updated this revision to Diff 192194. Meinersbur marked 5 inline comments as done. Meinersbur added a comment. - Rebase - 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

[PATCH] D57978: [CodeGen] Generate follow-up metadata for loops with more than one transformation.

2019-03-25 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In D57978#1440894 , @dmgreen wrote: > This could maybe do with a few extra tests. Am I correct in saying something > like this: > > #pragma unroll_and_jam(4) > for(int j = 0; j < n; j++) { > #pragma unroll(4) >

[PATCH] D58638: [OpenMP 5.0] Parsing/sema support for from clause with mapper modifier

2019-02-25 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL354817: [OpenMP 5.0] Parsing/sema support for from clause with mapper modifier. (authored by Meinersbur, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed

[PATCH] D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier

2019-02-22 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL354698: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier. (authored by Meinersbur, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior

[PATCH] D57978: [CodeGen] Generate follow-up metadata for loops with more than one transformation.

2019-03-19 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. ping Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D57978/new/ https://reviews.llvm.org/D57978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D57978: [CodeGen] Generate follow-up metadata for loops with more than one transformation.

2019-03-11 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. ping The Polly-powered additional transformations now also generate this kind of metadata. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D57978/new/ https://reviews.llvm.org/D57978

[PATCH] D57978: [CodeGen] Generate follow-up metadata for loops with more than one transformation.

2019-02-08 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: hfinkel, aaron.ballman, hsaito, dmgreen, anemet, rjmccall, Anastasia, pekka.jaaskelainen, meheff, tyler.nowicki. Herald added a subscriber: zzheng. Herald added a project: clang. Before this patch, CGLoop would dump all

[PATCH] D57978: [CodeGen] Generate follow-up metadata for loops with more than one transformation.

2019-02-18 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur marked an inline comment as done. Meinersbur added inline comments. Comment at: lib/CodeGen/CGLoopInfo.cpp:107 + FollowupLoopProperties.push_back( + MDNode::get(Ctx, MDString::get(Ctx, "llvm.loop.unroll.disable"))); + Anastasia wrote: > Will

[PATCH] D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive

2019-02-01 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC352906: [OpenMP 5.0] Parsing/sema support for omp declare mapper directive. (authored by Meinersbur, committed by ). Herald added a project: clang. Repository: rC Clang CHANGES SINCE LAST ACTION

[PATCH] D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive

2019-02-01 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. @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

[PATCH] D56928: Support attribute used in member funcs of class templates

2019-01-25 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. Thanks for looking into my almost 6 year old bug! Comment at: test/CodeGenCXX/attr-used-member-function-implicit-instantiation.cpp:1 +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -O0 -o - %s \ +// RUN: | FileCheck %s

[PATCH] D60749: [Test] Remove obsolete test.

2019-04-15 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur created this revision. Meinersbur added reviewers: hfinkel, aaron.ballman, tyler.nowicki, TylerNowicki. Meinersbur added a project: clang. The FIXME of this test case has been addressed in r335084/r338800. Its execution still does not succeed because of multiple syntax errors. First,

[PATCH] D60749: [Test] Remove obsolete test.

2019-04-16 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC358507: [Test] Remove obsolete test. (authored by Meinersbur, committed by ). Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60749/new/ https://reviews.llvm.org/D60749

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2019-06-05 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. Sorry, you might have tested it with `LLVM_LINK_POLLY_INTO_TOOLS=OFF` and/or `BUILD_SHARED_LIBS`/`LLVM_LINK_LLVM_DYLIV` where it might work, but unfortunately not with the default configuration using static component libraries. Repository: rG LLVM Github

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2019-06-03 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur requested changes to this revision. Meinersbur added a comment. This revision now requires changes to proceed. It still fails with the same error. `LINK_POLLY_INTO_TOOLS` is only set after the polly subdirectory is processed. Because it is an `option`, the ON value will be stored in

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2019-06-05 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. This fails with Polly/Linux regression tests: FAIL: Polly :: Simplify/gemm.ll (1148 of 1149) TEST 'Polly :: Simplify/gemm.ll' FAILED Script: -- : 'RUN: at line 1'; opt

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2019-06-06 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. Just an idea: We could avoid the explicit calls to 'initializeXYZPass' in opt/bugpoint/clang by adding Polly.cpp as a source file or object library to the executables. This would guarantee that its static initializer is called without dynamic library. Repository:

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2019-06-10 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur requested changes to this revision. Meinersbur added a comment. This revision now requires changes to proceed. In D61446#1533076 , @serge-sans-paille wrote: > That's what I tried to do when always adding Polly.cpp to PollyCore, but it >

[PATCH] D61509: [OpenMP] Set pragma start loc to `#pragma` loc

2019-05-22 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In D61509#1512311 , @jdenny wrote: > 2. I too think it likely makes sense to adjust them all eventually. But do > people think it's important to write patches adjusting all pragmas before > pushing the adjustment for any of

[PATCH] D61509: [OpenMP] Set pragma start loc to `#pragma` loc

2019-05-22 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. 1. Is there a diagnostic that would point to the `omp` token? As much as I like complete info (such as SourceLoc of semicolons), I cannot think of a use case for it. 2. I would like to see all of them all adjusted. There is an immediate improvement in that improves

[PATCH] D61509: [OpenMP] Set pragma start loc to `#pragma` loc

2019-05-22 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. In D61509#1512330 , @jdenny wrote: > In D61509#1512321 , @Meinersbur > wrote: > > > In D61509#1512311 , @jdenny wrote: > > > > > 2. I too think

[PATCH] D61643: [PragmaHandler] Expose `#pragma` location

2019-05-21 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. +1 Such a solution also came up in https://bugs.llvm.org/show_bug.cgi?id=41514#c1 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61643/new/ https://reviews.llvm.org/D61643

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2019-06-26 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: llvm/cmake/modules/AddLLVM.cmake:808 +if(NOT llvm-pass-plugins) +# Target used to hold global properties referencable from generator-expression [serious] I get the following error: ``` CMake Error at

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2019-07-10 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur requested changes to this revision. Meinersbur added a comment. This revision now requires changes to proceed. Windows seems to work. Good job! Linux works with static libraries, but not with `BUILD_SHARED_LIBS=ON`: $ bin/opt : CommandLine Error: Option

[PATCH] D64564: Loop pragma parsing. NFC.

2019-07-11 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: clang/lib/Parse/ParsePragma.cpp:1009 static std::string PragmaLoopHintString(Token PragmaName, Token Option) { - std::string PragmaString; - if (PragmaName.getIdentifierInfo()->getName() == "loop") { -PragmaString = "clang

[PATCH] D64564: Loop pragma parsing. NFC.

2019-08-13 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: clang/lib/Parse/ParsePragma.cpp:1010 + StringRef Str = PragmaName.getIdentifierInfo()->getName(); + StringRef ClangLoopStr = "clang loop " + Str.str(); + Str = llvm::StringSwitch(Str) [serious] Use-after-free here

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2019-07-31 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. Did you resolve the conflicting `llvmGetPassPluginInfo` symbols for windows? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61446/new/ https://reviews.llvm.org/D61446 ___ cfe-commits mailing list

[PATCH] D59474: [OpenMP 5.0] Codegen support for user-defined mappers

2019-08-03 Thread Michael Kruse via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL367773: [OpenMP 5.0] Codegen support for user-defined mappers. (authored by Meinersbur, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D64564: Loop pragma parsing. NFC.

2019-08-14 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur accepted this revision. Meinersbur added inline comments. This revision is now accepted and ready to land. Comment at: clang/lib/Parse/ParsePragma.cpp:1010 + StringRef Str = PragmaName.getIdentifierInfo()->getName(); + std::string ClangLoopStr = (Twine("clang loop

[PATCH] D66199: [docs] loop pragmas

2019-08-14 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments. Comment at: docs/LanguageExtensions.rst:3068-3069 +There are loop hints that control transformations (e.g. vectorization, loop +unrolling) and there loop hints that set transformation options (e.g. +``vectorize_width``, ``unroll_count``).

[PATCH] D66199: [docs] loop pragmas

2019-08-14 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. Since this is user documentation, we should only add it here once it is true. Comment at: docs/LanguageExtensions.rst:3068-3069 +There are loop hints that control transformations (e.g. vectorization, loop +unrolling) and there loop hints that set

  1   2   3   4   5   >