Page MenuHomePhabricator

Meinersbur (Michael Kruse)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 17 2015, 7:07 AM (187 w, 4 d)

Recent Activity

Fri, Jan 11

Meinersbur added a comment to D56403: add pragmas to control Software Pipelining optimisation.

Would it be OK to integrate this patch in it`s current state and create another patch for warning about missed transformation for #pragma clang loop pipeline ?

Fri, Jan 11, 12:43 PM

Tue, Jan 8

Meinersbur added a comment to D56403: add pragmas to control Software Pipelining optimisation.

I recently added a WarnMissedTransformationsPass (lib/Transforms/Scalar/WarnMissedTransformations.cpp) which emits a warning if a #pragma clang loop has not been applied, for any reason. It would be nince if it would work for #pragma clang loop as well. For instance, if the target backend does not support yet. My implementation is located after the midend loop passes, so it cannot be adapted directly.

Tue, Jan 8, 12:02 PM

Dec 20 2018

Meinersbur committed rL349823: [CodeGen] Generate llvm.loop.parallel_accesses instead of llvm.mem..
[CodeGen] Generate llvm.loop.parallel_accesses instead of llvm.mem.
Dec 20 2018, 1:28 PM
Meinersbur committed rC349823: [CodeGen] Generate llvm.loop.parallel_accesses instead of llvm.mem..
[CodeGen] Generate llvm.loop.parallel_accesses instead of llvm.mem.
Dec 20 2018, 1:28 PM
Meinersbur closed D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata..
Dec 20 2018, 1:28 PM
Meinersbur created D55952: [libomptarget] Introduce LIBOMPTARGET_ENABLE_DEBUG cmake option..
Dec 20 2018, 1:06 PM
Meinersbur committed rL349774: [InstCombine] Preserve access-group metadata..
[InstCombine] Preserve access-group metadata.
Dec 20 2018, 9:14 AM

Dec 19 2018

Meinersbur committed rL349725: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
Introduce llvm.loop.parallel_accesses and llvm.access.group metadata.
Dec 19 2018, 9:01 PM
Meinersbur closed D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
Dec 19 2018, 9:01 PM
Meinersbur updated the diff for D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
  • Rename: isAccessGroup -> isValidAsAccessGroup
Dec 19 2018, 3:32 PM
Meinersbur updated the diff for D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata..
  • Fix typo
Dec 19 2018, 12:32 PM
Meinersbur updated the diff for D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
  • Address @hfinkel's review
  • clang-format
Dec 19 2018, 12:29 PM

Dec 18 2018

Meinersbur added a comment to D55851: Implement basic loop fusion pass.

Thanks for bringing us loop fusion! Here are some review comments, but I did not check the functionality yet.

Dec 18 2018, 10:06 PM
Meinersbur committed rL349513: [LoopVectorize] Rename pass options. NFC..
[LoopVectorize] Rename pass options. NFC.
Dec 18 2018, 9:49 AM
Meinersbur closed D55785: [LoopVectorize] Rename pass options. NFC..
Dec 18 2018, 9:49 AM
Meinersbur updated the diff for D55785: [LoopVectorize] Rename pass options. NFC..
  • Rebase after commit of D55716
Dec 18 2018, 9:39 AM
Meinersbur committed rL349509: [LoopUnroll] Honor '#pragma unroll' even with -fno-unroll-loops..
[LoopUnroll] Honor '#pragma unroll' even with -fno-unroll-loops.
Dec 18 2018, 9:19 AM
Meinersbur closed D55716: [LoopUnroll] Honor '#pragma unroll' even with -fno-unroll-loops..
Dec 18 2018, 9:19 AM

Dec 17 2018

Meinersbur created D55785: [LoopVectorize] Rename pass options. NFC..
Dec 17 2018, 12:47 PM
Meinersbur updated the diff for D55716: [LoopUnroll] Honor '#pragma unroll' even with -fno-unroll-loops..
  • Rename AlwaysUnroll -> !OnlyWhenForced
  • Add comments describing OnlyWhenForced
Dec 17 2018, 11:25 AM
Meinersbur accepted D55726: [test-suite] Adding CoMD Proxy App.

Thanks for updating the patch. It ran successfully on my machine. LGMT.

Dec 17 2018, 8:43 AM

Dec 14 2018

Meinersbur added a comment to D55726: [test-suite] Adding CoMD Proxy App.

The diff seems strange, no files are flagged as new. For instance, the .depend file is seen in Phabricator as "The contents of this file were not changed." I assume the file is empty? Can it be removed from the diff?

Dec 14 2018, 6:25 PM
Meinersbur added inline comments to D55716: [LoopUnroll] Honor '#pragma unroll' even with -fno-unroll-loops..
Dec 14 2018, 1:33 PM
Meinersbur created D55716: [LoopUnroll] Honor '#pragma unroll' even with -fno-unroll-loops..
Dec 14 2018, 1:29 PM
Meinersbur committed rL349184: [TransformWarning] Do not warn missed transformations in optnone functions..
[TransformWarning] Do not warn missed transformations in optnone functions.
Dec 14 2018, 11:49 AM
Meinersbur closed D55690: [TransformWarning] Do not warn missed transformations in optnone functions..
Dec 14 2018, 11:49 AM
Meinersbur committed rL349170: [Transforms] Preserve metadata when converting invoke to call..
[Transforms] Preserve metadata when converting invoke to call.
Dec 14 2018, 10:18 AM
Meinersbur closed D55666: [Transforms] Preserve metadata when converting invoke to call..
Dec 14 2018, 10:18 AM

Dec 13 2018

Meinersbur retitled D55666: [Transforms] Preserve metadata when converting invoke to call. from [Transforms] Preserve access metadata. to [Transforms] Preserve metadata when converting invoke to call..
Dec 13 2018, 9:42 PM
Meinersbur updated the diff for D55666: [Transforms] Preserve metadata when converting invoke to call..
  • Generalize copyMetadata
Dec 13 2018, 9:41 PM
Meinersbur created D55690: [TransformWarning] Do not warn missed transformations in optnone functions..
Dec 13 2018, 9:29 PM
Meinersbur updated the diff for D55666: [Transforms] Preserve metadata when converting invoke to call..

Add test case

Dec 13 2018, 1:01 PM
Meinersbur created D55666: [Transforms] Preserve metadata when converting invoke to call..
Dec 13 2018, 12:25 PM
Meinersbur added inline comments to D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
Dec 13 2018, 10:36 AM
Meinersbur updated the diff for D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
  • Reinsert parts of LangRef.rst that went missing after merge.
Dec 13 2018, 10:36 AM
Meinersbur updated the diff for D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
  • Rebase to trunk
Dec 13 2018, 10:25 AM

Dec 12 2018

Meinersbur closed D55288: [test] Fix tests for changed optimizer warning message.

Committed together with D49281 in rC348944.

Dec 12 2018, 12:40 PM
Meinersbur committed rL348949: [LV] Fix signed/unsigned comparison warning..
[LV] Fix signed/unsigned comparison warning.
Dec 12 2018, 10:11 AM
Meinersbur committed rL348947: [docs] Use correct ending quotes..
[docs] Use correct ending quotes.
Dec 12 2018, 10:03 AM
Meinersbur committed rL348944: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
[Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes.
Dec 12 2018, 9:39 AM
Meinersbur committed rC348944: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
[Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes.
Dec 12 2018, 9:39 AM
Meinersbur closed D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
Dec 12 2018, 9:38 AM

Dec 11 2018

Meinersbur updated the diff for D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
  • [test] Revise tests
    • Consistent disable_nonforced testing
    • Unify followup-attribute testing. The previous approach was to copy existing test cases and emulate the behavior of the loop transformation passes using followup attributes. This had the disadvantage that the pass would pass even if the followup-attribute was ignored (indeed, some were misspelled) since the result is the same. Instead, use a new "followup.ll" test per loop pass that checks the presence of new attributes specific for each followup.
  • [docs] Add followup attribute recommendations
Dec 11 2018, 9:27 PM

Dec 10 2018

Meinersbur committed rL348762: Use zip_longest for iterator range comparisons. NFC..
Use zip_longest for iterator range comparisons. NFC.
Dec 10 2018, 7:20 AM
Meinersbur committed rC348762: Use zip_longest for iterator range comparisons. NFC..
Use zip_longest for iterator range comparisons. NFC.
Dec 10 2018, 7:20 AM
Meinersbur closed D55468: Use zip_longest for iterator range comparisons. NFC..
Dec 10 2018, 7:19 AM

Dec 9 2018

Meinersbur added inline comments to D55468: Use zip_longest for iterator range comparisons. NFC..
Dec 9 2018, 3:38 PM
Meinersbur updated the diff for D55468: Use zip_longest for iterator range comparisons. NFC..
  • Fix xor
  • Store tuple elements in variables
Dec 9 2018, 3:20 PM
Meinersbur added inline comments to D55468: Use zip_longest for iterator range comparisons. NFC..
Dec 9 2018, 1:27 PM
Meinersbur updated the diff for D55468: Use zip_longest for iterator range comparisons. NFC..
Dec 9 2018, 1:26 PM

Dec 7 2018

Meinersbur retitled D55468: Use zip_longest for iterator range comparisons. NFC. from Use zip_longest for list comparisons. to Use zip_longest for iterator range comparisons. NFC..
Dec 7 2018, 7:48 PM
Meinersbur created D55468: Use zip_longest for iterator range comparisons. NFC..
Dec 7 2018, 7:31 PM
Meinersbur updated the diff for D55290: [docs] Update llvm.loop metadata documentation..
  • Add doc about DILocation nodes in LoopIDs
Dec 7 2018, 2:59 PM
Meinersbur added a reviewer for D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.: jdoerfert.
Dec 7 2018, 2:43 PM
Meinersbur added a reviewer for D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata.: jdoerfert.
Dec 7 2018, 2:42 PM
Meinersbur updated the summary of D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
Dec 7 2018, 2:42 PM
Meinersbur updated the summary of D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata..
Dec 7 2018, 2:40 PM
Meinersbur updated the diff for D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata..
  • 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 number of access groups is not minimized anymore.
Dec 7 2018, 2:38 PM
Meinersbur updated the diff for D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..
  • 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 another function. A memory access is considered parallel when at least one access group is listed in llvm.loop.parallel_accesses. This is prioritized over the 'intersect' case for combining instructions which would be dual. We only do best-effort here.
Dec 7 2018, 2:36 PM
Meinersbur updated the diff for D52117: Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata..
  • 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 another function. A memory access is considered parallel when at least one access group is listed in llvm.loop.parallel_accesses. This is prioritized over the 'intersect' case for combining instructions which would be dual. We only do best-effort here.
Dec 7 2018, 2:34 PM

Dec 4 2018

Meinersbur added inline comments to D55290: [docs] Update llvm.loop metadata documentation..
Dec 4 2018, 4:58 PM
Meinersbur updated the diff for D55290: [docs] Update llvm.loop metadata documentation..
  • Move 'necessarily'
Dec 4 2018, 4:57 PM
Meinersbur updated the diff for D55290: [docs] Update llvm.loop metadata documentation..
Dec 4 2018, 4:55 PM
Meinersbur committed rL348323: [ADT] Add zip_longest iterators..
[ADT] Add zip_longest iterators.
Dec 4 2018, 4:34 PM
Meinersbur committed rL348303: Revert "[ADT] Add zip_longest iterators".
Revert "[ADT] Add zip_longest iterators"
Dec 4 2018, 1:42 PM
Meinersbur committed rL348301: [ADT] Add zip_longest iterators.
[ADT] Add zip_longest iterators
Dec 4 2018, 1:09 PM
Meinersbur closed D48348: [ADT] Add zip_longest iterators..
Dec 4 2018, 1:09 PM
Meinersbur updated the diff for D55290: [docs] Update llvm.loop metadata documentation..
Dec 4 2018, 12:49 PM
Meinersbur added inline comments to D55290: [docs] Update llvm.loop metadata documentation..
Dec 4 2018, 12:45 PM
Meinersbur created D55290: [docs] Update llvm.loop metadata documentation..
Dec 4 2018, 12:25 PM
Meinersbur added a parent revision for D55288: [test] Fix tests for changed optimizer warning message: D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
Dec 4 2018, 11:59 AM
Meinersbur added a child revision for D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes.: D55288: [test] Fix tests for changed optimizer warning message.
Dec 4 2018, 11:59 AM
Meinersbur updated the diff for D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
  • Clear-up leftover transformation warning messages
Dec 4 2018, 11:58 AM
Meinersbur created D55288: [test] Fix tests for changed optimizer warning message.
Dec 4 2018, 11:56 AM

Dec 3 2018

Meinersbur added a comment to D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..

I am going to to prepare an RFC.

Dec 3 2018, 9:33 PM
Meinersbur added inline comments to D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
Dec 3 2018, 9:15 PM
Meinersbur updated the diff for D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
  • Add transformation order notice to llvm.loop.disable_nonforced.
  • Typos
Dec 3 2018, 9:15 PM
Meinersbur updated the diff for D48348: [ADT] Add zip_longest iterators..
  • Rename ZipLongestOptionalValueType to ZipLongestValueType
  • Remove unused ZipLongestDefaultValueType
Dec 3 2018, 4:42 PM
Meinersbur added inline comments to D48348: [ADT] Add zip_longest iterators..
Dec 3 2018, 4:35 PM
Meinersbur updated the diff for D48348: [ADT] Add zip_longest iterators..
  • Use brace initialization for Optional<StringRef>
Dec 3 2018, 4:34 PM
Meinersbur added inline comments to D48348: [ADT] Add zip_longest iterators..
Dec 3 2018, 4:15 PM
Meinersbur updated the diff for D48348: [ADT] Add zip_longest iterators..
  • Use StringRef for one side of zip_longest test case
  • Use size_t to avoid signed/unsigned comparison compiler warning
Dec 3 2018, 4:13 PM
Meinersbur updated the diff for D48348: [ADT] Add zip_longest iterators..
  • Remove ZipLongestFilter tests
  • Deconvolute ZipLongestBasic test
Dec 3 2018, 3:10 PM
Meinersbur added inline comments to D48348: [ADT] Add zip_longest iterators..
Dec 3 2018, 2:39 PM
Meinersbur updated the diff for D48348: [ADT] Add zip_longest iterators..
  • Rebase
  • Remove zip_longest_default, rename zip_longest_optional to zip_longest
  • Use adl_begin/adl_end instead of std::begin/std::end
  • Deconvolute zipped_and_filtered test
Dec 3 2018, 2:37 PM
Meinersbur updated the diff for D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
  • Rebress
  • Fix drop metadata regression
  • Apply dmgreen's patch suggestion
Dec 3 2018, 1:51 PM
Meinersbur added inline comments to D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
Dec 3 2018, 1:50 PM

Nov 30 2018

Meinersbur added a comment to D48348: [ADT] Add zip_longest iterators..

Thanks for accepting. I expected a discussion on whether zip_longest_default or zip_longest_optional is better (or make llvm::Optional support references and use zip_longest_optional with llvm::Optional<T&>). Should I commit both, as-is?

Nov 30 2018, 1:44 PM
Meinersbur updated the diff for D48348: [ADT] Add zip_longest iterators..
  • Rebase to trunk
  • Fix msvc build
Nov 30 2018, 1:39 PM
Meinersbur added a comment to D48348: [ADT] Add zip_longest iterators..

I /think/ this still doesn't meet the iterator requirements (that if "(*i).j" is valid, then "i->j" must be valid too - [input.iterators]p2, Table 95, "a->m is equivalent to (*a).m if a is dereferencable"). I believe the way standard iterators (like istream_iterator) implement this is by having an instance of the value type inside the iterator that has the current value in it, so operator-> can return a pointer to that. Would that be possible/practical?

Nov 30 2018, 12:13 PM

Nov 29 2018

Meinersbur updated the diff for D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
  • Address dmgreen's comments
  • Rebase
Nov 29 2018, 11:52 PM
Meinersbur added inline comments to D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..
Nov 29 2018, 11:51 PM

Nov 21 2018

Meinersbur added a comment to D48348: [ADT] Add zip_longest iterators..

ping

Nov 21 2018, 2:53 PM

Nov 20 2018

Meinersbur committed rL347369: [docs] Add C++ Performance Benchmark to test-suite proposals..
[docs] Add C++ Performance Benchmark to test-suite proposals.
Nov 20 2018, 4:36 PM

Nov 19 2018

Meinersbur added a comment to D49281: [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes..

ping

Nov 19 2018, 1:03 PM

Nov 1 2018

Meinersbur added a comment to D52116: Introduce llvm.loop.parallel_accesses and llvm.access.group metadata..

@hfinkel ping

Nov 1 2018, 8:53 AM

Oct 29 2018

Meinersbur committed rL345504: [git/svn] Ignore Visual Studio's CMakeSettings.json..
[git/svn] Ignore Visual Studio's CMakeSettings.json.
Oct 29 2018, 7:54 AM
Meinersbur closed D53775: [git/svn] Ignore Visual Studio's CMakeSettings.json..
Oct 29 2018, 7:54 AM

Oct 26 2018

Meinersbur created D53775: [git/svn] Ignore Visual Studio's CMakeSettings.json..
Oct 26 2018, 1:19 PM

Oct 24 2018

Meinersbur added a comment to rL345166: [docs] Add rawspeed to test-suite proposals..

Am Mi., 24. Okt. 2018 um 13:16 Uhr schrieb Roman Lebedev via
Phabricator <reviews@reviews.llvm.org>:

Nice, thanks!
Once the dataset issue is mostly solved on my end, i guess i can look into adding it into the test-suite?

Oct 24 2018, 12:42 PM