Page MenuHomePhabricator
Feed Advanced Search

Wed, Sep 21

Meinersbur accepted D132055: [LoopInterchange][PR57148] Ensure LCSSA form after loop interchnange.

LGTM

Wed, Sep 21, 8:21 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Sep 6

Meinersbur added a comment to D133344: [mlir][Math] Add constant folder for RoundEvenOp..

This caused the Windows build to fail:

Tue, Sep 6, 11:40 PM · Restricted Project, Restricted Project

Aug 25 2022

Meinersbur added a comment to D131919: Move googletest to the third-party directory.

Semi-OT: polly\lib\External has 3 more third-party libraries. Two of them have been heavily modified in-tree, the third has just a custom CMakeLists.txt.
Should these eventually also be moved?

Aug 25 2022, 11:11 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Aug 24 2022

Meinersbur committed rG71d80cd6ed77: [flang] Fix msvc 17.3 build. (authored by Meinersbur).
[flang] Fix msvc 17.3 build.
Aug 24 2022, 2:49 PM · Restricted Project, Restricted Project
Meinersbur closed D132594: [flang] Fix msvc 17.3 build..
Aug 24 2022, 2:48 PM · Restricted Project, Restricted Project
Meinersbur updated the diff for D132594: [flang] Fix msvc 17.3 build..

Add source comment explaining this is a workaround

Aug 24 2022, 1:49 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D132594: [flang] Fix msvc 17.3 build..

msvc bug report: https://developercommunity.visualstudio.com/t/Regression:-nested-closure-assumes-wrong/10130223

Aug 24 2022, 1:40 PM · Restricted Project, Restricted Project
Meinersbur requested review of D132594: [flang] Fix msvc 17.3 build..
Aug 24 2022, 12:38 PM · Restricted Project, Restricted Project

Aug 18 2022

Meinersbur accepted D131526: [OMPIRBuilder] Add support for safelen clause.

LGTM

Aug 18 2022, 8:39 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Aug 10 2022

Meinersbur added inline comments to D131526: [OMPIRBuilder] Add support for safelen clause.
Aug 10 2022, 7:54 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Aug 8 2022

Meinersbur added inline comments to D114336: [Polly] Generalize the pattern matching to the case of tensor contractions..
Aug 8 2022, 3:53 PM · Restricted Project, Restricted Project
Meinersbur committed rG8c0979c8f772: [flang][test] Don't require .exe suffix. (authored by Meinersbur).
[flang][test] Don't require .exe suffix.
Aug 8 2022, 2:57 PM · Restricted Project, Restricted Project

Aug 3 2022

Meinersbur added a comment to D130851: [MLIR][OpenMP] Unroll Construct operation.
  • The full clause does not have an operand, it is more similar to a flag like nowait.

nowait is unitAtt. full can be treated the same way. I am considering it as boolean with 0 as false and 1 as true <

Aug 3 2022, 10:05 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D129127: ManagedStatic: remove from DynamicLibrary.

I am responsible for one of the buildbots that failed (https://lab.llvm.org/buildbot/#/builders/172). If you don't have access to a Windows machine to reproduce the problem, I could help.

Aug 3 2022, 9:53 AM · Restricted Project, Restricted Project
Meinersbur added inline comments to D130615: [OpenMP][IRBuilder] Added if clause to task.
Aug 3 2022, 9:22 AM · Restricted Project, Restricted Project

Aug 2 2022

Meinersbur added a comment to D131000: [OpenMP][libomp] Detect if test compiler has omp.h.

The test doesn't become disabled. It uses the generated omp.h instead. This is the only test that attempts to use the system omp.h (or test compiler's omp.h). The original purpose was to test GCC compatibility of depobj which GCC defines differently than our omp.h.

Aug 2 2022, 3:42 PM · Restricted Project, Restricted Project
Meinersbur accepted D130188: [DependenceAnalysis][PR56275] Normalize dependence analysis results to be non-negative when required.

LGTM, but with a renaming suggestion.

Aug 2 2022, 12:08 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D130851: [MLIR][OpenMP] Unroll Construct operation.

I am not familiar with the MLIR tablegen format, but there might two issues:

Aug 2 2022, 12:04 PM · Restricted Project, Restricted Project
Meinersbur accepted D114336: [Polly] Generalize the pattern matching to the case of tensor contractions..

Thank you Gareev. I think the description can still be improved, I but we should also move forward and can improve iteratively.

Aug 2 2022, 11:55 AM · Restricted Project, Restricted Project
Meinersbur accepted D130189: [LoopInterchange][PR56275] Fix legality in dependence vectors.

LGTM, thank you

Aug 2 2022, 11:24 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D130926: [OpenMP][libomp] Copy OpenMP headers to clang build directory.
Aug 2 2022, 11:21 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D131000: [OpenMP][libomp] Detect if test compiler has omp.h.

Rather than disabling the test, did you consider adding an -I${CMAKE_CURRENT_BINARY_DIR}/runtime/src (where omp.h resides) to the clang test flags? Even if there is an omp.h already on the system, libomp's header should be used instead since it may contain new symbols not yet present in the system's omp.h. It might even be -isystem to treat it like a system header.

Aug 2 2022, 11:21 AM · Restricted Project, Restricted Project

Aug 1 2022

Meinersbur added a comment to D130926: [OpenMP][libomp] Copy OpenMP headers to clang build directory.

Ideally, it would use the that comes with libomp (${CMAKE_BINARY_DIR}/runtime/src/omp.hin the build dir, generated from https://github.com/llvm/llvm-project/blob/main/openmp/runtime/src/include/omp.h.var). Only the install script copies it over to ${CMAKE_INSTALL_DIR}/lib/clang/15.0.0/include/omp.h where it can actually be found.

Aug 1 2022, 1:30 PM · Restricted Project, Restricted Project

Jul 29 2022

Meinersbur added inline comments to D129131: Remove uses of llvm_shutdown.
Jul 29 2022, 12:00 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D129368: [mlir][OpenMP] Lower simd if clause to LLVM IR.

LGTM, this turned out really nice. Thank you!

Jul 29 2022, 11:36 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jul 28 2022

Meinersbur added a comment to D115218: [CodeExtractor] Refactor extractCodeRegion, fix parameter index confusion..

ping

Jul 28 2022, 9:27 AM · Restricted Project, Restricted Project
Meinersbur added inline comments to D129368: [mlir][OpenMP] Lower simd if clause to LLVM IR.
Jul 28 2022, 8:46 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jul 26 2022

Meinersbur committed rGfe0e5b3e43b7: [Polly] Insert !dbg metadata for emitted CallInsts. (authored by Meinersbur).
[Polly] Insert !dbg metadata for emitted CallInsts.
Jul 26 2022, 5:45 PM · Restricted Project

Jul 25 2022

Meinersbur added inline comments to D130189: [LoopInterchange][PR56275] Fix legality in dependence vectors.
Jul 25 2022, 2:36 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur requested changes to D129368: [mlir][OpenMP] Lower simd if clause to LLVM IR.
Jul 25 2022, 2:28 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D130188: [DependenceAnalysis][PR56275] Normalize dependence analysis results to be non-negative when required.
Jul 25 2022, 1:53 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D128261: [Fortran] Relax relative tolerance for FCVS tests.

My conclusion is different. If gfortran's output is correct according to the Fortran standard, it should pass the test as well. Running the test-suite with other compilers than Clang/Flang was always helpful in testing the integrity of the tests themselves.

Jul 25 2022, 1:20 PM · Restricted Project, Restricted Project

Jul 22 2022

Meinersbur added inline comments to D130188: [DependenceAnalysis][PR56275] Normalize dependence analysis results to be non-negative when required.
Jul 22 2022, 1:12 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D130188: [DependenceAnalysis][PR56275] Normalize dependence analysis results to be non-negative when required.

I think I would prefer the request for normalization on the depends() call, rather that the DependenceInfo constructor. This keeps it closer to the code that either expects normalized dependencies, or dependencies that expect it to correspond to which instructions were passed as either Src or Dst. Also, If DependenceInfo would be used as an analysis in a pass manager, having a NeedsNormalize=true instance of DependenceInfo in the analysis cache will break any pass that expect the other interpretation.

Jul 22 2022, 1:05 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D130189: [LoopInterchange][PR56275] Fix legality in dependence vectors.

As mentioned in https://github.com/llvm/llvm-project/issues/56275#issuecomment-1183363002, I think both directions need to be considered. < or > of the Dependence object mingels relation between the Src/Dst argument. Here, it is interpreted as the direction of the loop.

Jul 22 2022, 1:04 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D130188: [DependenceAnalysis][PR56275] Normalize dependence analysis results to be non-negative when required.
Jul 22 2022, 12:26 PM · Restricted Project, Restricted Project, Restricted Project

Jul 19 2022

Meinersbur accepted D128877: [LoopCacheAnalysis] Fix a type mismatch bug in cost calculation.

Thanks Michael for your suggestion, I've updated the patch accordingly.

I'm just wondering if you meant A[trunc]=42 in your example? Also I'm a bit confused if the loop actually iterates over A twice? It looks to me the variable i loops from 0x0100 to 0x01FF, hence trunc loops from A[0x00] to A[0xFF] so seems like it just iterates once?

Jul 19 2022, 12:59 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D129992: [clang][OpenMP] Add IRBuilder support for taskgroup.

LGTM

Jul 19 2022, 12:54 PM · Restricted Project, Restricted Project

Jul 18 2022

Meinersbur committed rT6703097ffa34: [fpcmp] Use non-floating point parsing by default. (authored by Meinersbur).
[fpcmp] Use non-floating point parsing by default.
Jul 18 2022, 2:30 PM · Restricted Project
Meinersbur closed D129017: [fpcmp] Use non-floating point parsing by default..
Jul 18 2022, 2:30 PM · Restricted Project
Meinersbur added inline comments to D128877: [LoopCacheAnalysis] Fix a type mismatch bug in cost calculation.
Jul 18 2022, 12:47 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D129992: [clang][OpenMP] Add IRBuilder support for taskgroup.
Jul 18 2022, 12:46 PM · Restricted Project, Restricted Project
Meinersbur added inline comments to D129017: [fpcmp] Use non-floating point parsing by default..
Jul 18 2022, 12:30 PM · Restricted Project
Meinersbur updated the diff for D129017: [fpcmp] Use non-floating point parsing by default..
  • Collapse fprintf calls
Jul 18 2022, 12:30 PM · Restricted Project

Jul 11 2022

Meinersbur added a comment to D128811: [MLIR][Presburger] introduce MPInt to support fast arbitrary precision in Presburger.

This error is:

C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\MSVC\1431~1.311\bin\Hostx64\x64\cl.exe  /nologo /TP -DGTEST_HAS_RTTI=0 -DMLIR_CUDA_CONVERSIONS_ENABLED=0 -DMLIR_ROCM_CONVERSIONS_ENABLED=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\build\tools\mlir\lib\Analysis\Presburger -IC:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\lib\Analysis\Presburger -IC:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\build\include -IC:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\llvm\include -IC:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\include -IC:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\build\tools\mlir\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd4324 -w14062 -we4238 /Gw /MD /O2 /Ob2  /EHs-c- /GR- -UNDEBUG -std:c++17 /showIncludes /Fotools\mlir\lib\Analysis\Presburger\CMakeFiles\obj.MLIRPresburger.dir\MPInt.cpp.obj /Fdtools\mlir\lib\Analysis\Presburger\CMakeFiles\obj.MLIRPresburger.dir\ /FS -c C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\lib\Analysis\Presburger\MPInt.cpp
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\lib\Analysis\Presburger\MPInt.cpp(15): error C2039: 'hash_value': is not a member of 'mlir::presburger'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\include\mlir/Analysis/Presburger/MPInt.h(24): note: see declaration of 'mlir::presburger'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\lib\Analysis\Presburger\MPInt.cpp(16): error C2248: 'mlir::presburger::MPInt::isSmall': cannot access private member declared in class 'mlir::presburger::MPInt'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\include\mlir/Analysis/Presburger/MPInt.h(108): note: see declaration of 'mlir::presburger::MPInt::isSmall'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\include\mlir/Analysis/Presburger/MPInt.h(75): note: see declaration of 'mlir::presburger::MPInt'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\lib\Analysis\Presburger\MPInt.cpp(17): error C2248: 'mlir::presburger::MPInt::valSmall': cannot access private member declared in class 'mlir::presburger::MPInt'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\include\mlir/Analysis/Presburger/MPInt.h(78): note: see declaration of 'mlir::presburger::MPInt::valSmall'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\include\mlir/Analysis/Presburger/MPInt.h(75): note: see declaration of 'mlir::presburger::MPInt'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\lib\Analysis\Presburger\MPInt.cpp(18): error C2248: 'mlir::presburger::MPInt::valLarge': cannot access private member declared in class 'mlir::presburger::MPInt'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\include\mlir/Analysis/Presburger/MPInt.h(79): note: see declaration of 'mlir::presburger::MPInt::valLarge'
C:\Users\buildbot-worker\minipc-ryzen-win\flang-x86_64-windows\llvm-project\mlir\include\mlir/Analysis/Presburger/MPInt.h(75): note: see declaration of 'mlir::presburger::MPInt'
Jul 11 2022, 5:01 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D127399: [OpenMP] Ensure createXXX functions will always call updateToLocation.
if (!CGF.HaveInsertPoint())                                                                                                                                                                                                                              
   return;

appears 35 times in CGOpenMPRuntime.cpp

Jul 11 2022, 12:41 PM · Restricted Project, Restricted Project
Meinersbur accepted D129339: [SingleSource] Add initial vectorizer tests with recurrences..

The macro DEFINE_SCALAR_AND_VECTOR_FN2 will be confused if one of the arguments itself contains a comma. For instance, one cannot write int for2 = 22, for1 = 33; for int for2 = 22; int for1 = 33; in the patch. But the macro is not general-purpose anyway.

Jul 11 2022, 8:32 AM · Restricted Project
Meinersbur added a comment to D128877: [LoopCacheAnalysis] Fix a type mismatch bug in cost calculation.

I don't think we can rely on isKnownNegative

Jul 11 2022, 8:20 AM · Restricted Project, Restricted Project, Restricted Project

Jul 7 2022

Meinersbur accepted D129149: [OMPIRBuilder] Add support for simdlen clause.

LGTM

Jul 7 2022, 10:46 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D129297: [LSR] Fix bug - check if loop has preheader before calling isInductionPHI.

In the interest to not block @nathanchance with a crashing compiler, I suggest to commit as soon as possible. However, a complete patch would also include a regression test.

Jul 7 2022, 10:35 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D127399: [OpenMP] Ensure createXXX functions will always call updateToLocation.

Because that is the clang pattern and we want/need to be compatible.

Jul 7 2022, 10:30 AM · Restricted Project, Restricted Project

Jul 6 2022

Meinersbur added a comment to D114845: [llvm] [Debuginfod] DebuginfodCollection and DebuginfodServer for tracking local debuginfo..

I think this causes link errors in shared library builds:

Jul 6 2022, 1:58 PM · Restricted Project, Restricted Project
Meinersbur updated the diff for D129017: [fpcmp] Use non-floating point parsing by default..
  • Advance pointer on match
Jul 6 2022, 12:44 PM · Restricted Project
Meinersbur added a comment to D123177: [libomptarget] Add device RTL to regression test dependencies..

Openmp as a llvm_project as opposed to a llvm_runtime can be built with GCC to get the host side of openmp working without the target offloading part. However GCC can't build the devicertl.

Jul 6 2022, 12:32 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D129149: [OMPIRBuilder] Add support for simdlen clause.

Why not have simdlen an argument to applySimd (which can be null if not used)? In this case it happens to be just adding some metadata, but for others such as unrollLoopPartial it does not make sense to have the unroll factor set by a different method. It would also allow better consistency checks if passed as a parameter.

Jul 6 2022, 12:16 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D127037: [OpenMP][IRBuilder][OpenACC] Move common code from OpenACCToLLVMIRTranslation to Utils/DirectiveToLLVMIRTranslation so that it can be used between OpenACC and OpenMP..

Still working on a unittest for createTargetEnterData?

Jul 6 2022, 11:52 AM · Restricted Project, Restricted Project, Restricted Project

Jul 1 2022

Meinersbur requested review of D129017: [fpcmp] Use non-floating point parsing by default..
Jul 1 2022, 2:54 PM · Restricted Project
Meinersbur added a comment to D128262: [Fortran] Avoid digits in character constant.

I just saw that the reference output also contains floating point numbers (13.6, 12.4,15.25). Maybe we indeed new to process the file in floating-point mode?

Jul 1 2022, 11:47 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D128877: [LoopCacheAnalysis] Fix a type mismatch bug in cost calculation.

@bjope I think you are correct. This is what the source code documentation says:

/// Return a SCEV corresponding to a conversion of the input value to the
/// specified type. If the type must be extended, it is extended with
/// unspecified bits. The conversion must not be narrowing.
const SCEV *getNoopOrAnyExtend(const SCEV *V, Type *Ty);
Jul 1 2022, 11:44 AM · Restricted Project, Restricted Project, Restricted Project

Jun 30 2022

Meinersbur updated the summary of D124823: [OpenMPIRBuilder] Introduce OMPRegionInfo managing the stack of OpenMP region constructs..
Jun 30 2022, 2:48 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D127399: [OpenMP] Ensure createXXX functions will always call updateToLocation.

Why the pattern to just return without doing anything without an insert location? IMHO this should be an error instead of silently ignoring things.

Jun 30 2022, 2:44 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D127835: [SCEV] recognize llvm.annotation intrinsic.

I would like a LangRef patch to make the wording more explicit. I assume the semantics here are that it's always legal to replace llvm.annotation return value with its argument, but it's preferred not to do the replacement? Otherwise we could just mark the argument as returned.

Jun 30 2022, 2:25 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D128269: Teach fpcmp about the x. FP format.

I fear there is the problem that any single dot will be interpreted as a number. I tried strtod(".") (https://godbolt.org/z/Ke9n4zbn5) and it doesn't gobble it up. So we need to check that there are either digits before or after the period, but cannot omit both.

Jun 30 2022, 2:03 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D128262: [Fortran] Avoid digits in character constant.

I've scanned llvm-test-suite and I don't see any obvious way to use any other DIFFPROGR. So it sounds like we can only use fpcmp for now and this tool shouldn't be comparing strings, should it? Perhaps switching from SingleSource CMake logic in the test suite to e.g. TestFile would help, but that's IMO outside the scope of this patch.

Jun 30 2022, 1:44 PM · Restricted Project, Restricted Project
Meinersbur accepted D123919: [mlir][OpenMP] omp.task translation to LLVM IR.

LGTM, thank you.

Jun 30 2022, 1:31 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D128203: [OpenMP][IRBuilder] Add support for taskgroup.

Using it in Clang as well would certainly be nice in agreement with @peixin, I don't think required to get this patch in, or for the Flang implementation to wait until there is a use in Clang.

Jun 30 2022, 1:28 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D128261: [Fortran] Relax relative tolerance for FCVS tests.

See above. f18's runtime will emit a minimal representation that reads back to the same bit representation (of the same real kind) when Fortran allows it to do so (viz., list-directed and NAMELIST output).

The binary-to-decimal conversion algorithm in flang/lib/Decimal is not the whole story. See the code in flang/runtime/edit-output.cpp to see how the Decimal library is driven for all of Fortran's various output editing modes.

Jun 30 2022, 1:05 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D128877: [LoopCacheAnalysis] Fix a type mismatch bug in cost calculation.

Regarding Michael's question that whether SE.getNoopOrAnyExtend() is signed extension or unsigned extension: it is actually well handled in ScalarEvolution::getAnyExtendExpr() where it could do either signed or unsigned extension depending on the actual SCEV type of the value we want to extend. I'm wondering if it answers your question? @Meinersbur

Jun 30 2022, 10:32 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D128261: [Fortran] Relax relative tolerance for FCVS tests.

Some general remarks about floating point:

Jun 30 2022, 10:15 AM · Restricted Project, Restricted Project

Jun 29 2022

Meinersbur added a comment to D114336: [Polly] Generalize the pattern matching to the case of tensor contractions..
void foo(int n, double C[1024][1024], double A[1024][64][64], double B[64][1024][64]) {
for (int i = 0; i < 1024; i++)
    for (int j = 0; j < 1024; j++)
      for (int l = 0; l < 64; l++)
        for (int w = 0; w < 64; ++w)
           if (w != 0)
             C[i][j] += A[i][l][w] * B[w][j][l];
}

ScopBuilder generates the following memory accesses:

{ Stmt3[i0, i1, i2, i3] -> MemRef2[o0, o1] : o0 = i0 and o1 = i1 }
{ Stmt3[i0, i1, i2, i3] -> MemRef2[o0, o1] : o0 = i0 and o1 = i1 }
{ Stmt3[i0, i1, i2, i3] -> MemRef1[o0, o1, o2] : o0 = 1 + i3 and o1 = i1 and o2 = i2 }
{ Stmt3[i0, i1, i2, i3] -> MemRef0[o0, o1, o2] : o0 = i0 and o1 = i2 and o2 = 1 + i3 }

In the context of the previous discussion, I meant that memory accesses are modified in comparison to the previous considered case.

Where does it come from?

If we look at the domain for the i3 variable, we see that the value 0 from the domain of w-loop is excluded and the loop bounds are modified to start from 0. Memory accesses correspond to this.

Jun 29 2022, 9:01 PM · Restricted Project, Restricted Project
Meinersbur resigned from D125202: [Polly] Disable matmul pattern-match + -polly-parallel.

DependenceInfo is now abandoned after matmul optimization (rG6fa65f8a98967a5d2d2a6863e0f67a40d2961905)

Jun 29 2022, 3:25 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur committed rG6fa65f8a9896: [Polly][MatMul] Abandon dependence analysis. (authored by Meinersbur).
[Polly][MatMul] Abandon dependence analysis.
Jun 29 2022, 3:21 PM · Restricted Project
Meinersbur added a comment to D125805: [LoopInterchange] Support multi-level reduction loops.

Consider being less specific to only recognize nested loops, but PHINodes in the loop body in general.

Jun 29 2022, 1:46 PM · Restricted Project, Restricted Project
Meinersbur added inline comments to D125990: [LSR] Fix bug for optimizing unused IVs to final values.
Jun 29 2022, 8:14 AM · Restricted Project, Restricted Project
Meinersbur accepted D125990: [LSR] Fix bug for optimizing unused IVs to final values.

LGTM

Jun 29 2022, 7:27 AM · Restricted Project, Restricted Project

Jun 6 2022

Meinersbur added a comment to D126291: [flang][Driver] Update link job on windows.

I looked into Google Benchmark because it also has its main in a .lib library and how it handles it. Turns out it is using cmake which by default always adds /subsystem:console unless setting
WIN32_EXECUTABLE=ON.

Jun 6 2022, 4:00 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D127037: [OpenMP][IRBuilder][OpenACC] Move common code from OpenACCToLLVMIRTranslation to Utils/DirectiveToLLVMIRTranslation so that it can be used between OpenACC and OpenMP..

Do we need test cases for this patch?

Jun 6 2022, 2:12 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D123919: [mlir][OpenMP] omp.task translation to LLVM IR.
Jun 6 2022, 2:08 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D126626: [OpenMP][IRBuilder] Add final clause to task.

LGTM with a request to describe the llvm::Value argument more precisely.

Jun 6 2022, 1:46 PM · Restricted Project, Restricted Project

Jun 2 2022

Meinersbur added a comment to D126291: [flang][Driver] Update link job on windows.
In D126291#3552573, @rovka wrote://italic text//

I don't really know why link.exe doesn't work. According to the docs, it should find main and choose the subsystem on its own. The only hunch I have is that maybe it doesn't work because main is in a library as opposed to one of the object files, but I'm still going through the docs trying to figure this out. I don't have a lot of experience with link.exe so I might be missing something obvious.

Jun 2 2022, 9:02 AM · Restricted Project, Restricted Project, Restricted Project

Jun 1 2022

Meinersbur accepted D124745: [Delinearization] Refactoring of fixed-size array delinearization.

LGTM

Jun 1 2022, 2:06 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D125870: [Polly] Migrate -polly-mse to the new pass manager..

There were two compiler warnings I fixed before committing:

In file included from /home/meinersbur/src/llvm-project/polly/lib/Transform/MaximalStaticExpansion.cpp:14:
/home/meinersbur/src/llvm-project/polly/include/polly/MaximalStaticExpansion.h:14:9: warning: 'POLLY_MAXIMALSTATICEXPANSION_H' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef POLLY_MAXIMALSTATICEXPANSION_H
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/meinersbur/src/llvm-project/polly/include/polly/MaximalStaticExpansion.h:15:9: note: 'POLLY_MAXIMALSTATICEXPANSIO_H' is defined here; did you mean 'POLLY_MAXIMALSTATICEXPANSION_H'?
#define POLLY_MAXIMALSTATICEXPANSIO_H
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        POLLY_MAXIMALSTATICEXPANSION_H
/home/meinersbur/src/llvm-project/polly/lib/Transform/MaximalStaticExpansion.cpp:414:15: warning: field 'Dependences' will be initialized after field 'ORE' [-Wreorder-ctor]
      : S(S), Dependences(Dependences), ORE(ORE) {}
        ~~~~  ^~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~
        ORE(ORE) S(S)                   Dependences(Dependences)
2 warnings generated.
Jun 1 2022, 11:47 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur committed rG02f640672e28: [Polly] Migrate -polly-mse to the new pass manager. (authored by YangKeao).
[Polly] Migrate -polly-mse to the new pass manager.
Jun 1 2022, 11:43 AM · Restricted Project
Meinersbur closed D125870: [Polly] Migrate -polly-mse to the new pass manager..
Jun 1 2022, 11:43 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D126626: [OpenMP][IRBuilder] Add final clause to task.
Jun 1 2022, 11:06 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D123919: [mlir][OpenMP] omp.task translation to LLVM IR.

A bit-ness question

I didn’t understand this comment. Is this a typo or incomplete comment?

Jun 1 2022, 10:58 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D125670: [LSR] Early exit for RateFormula when it is already losing. NFC.

LGTM. Thanks you.

Jun 1 2022, 10:53 AM · Restricted Project, Restricted Project
Meinersbur added inline comments to D125990: [LSR] Fix bug for optimizing unused IVs to final values.
Jun 1 2022, 10:52 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D126291: [flang][Driver] Update link job on windows.

While the test passes now, I still get LINK : fatal error LNK1561: entry point must be defined when trying to actually link. Isn't it expected to not work yet?

Jun 1 2022, 9:39 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D110973: [DA] Handle mismatching loop levels by considering them non-linear.

LGTM

Jun 1 2022, 8:54 AM · Restricted Project, Restricted Project

May 27 2022

Meinersbur added a comment to D123919: [mlir][OpenMP] omp.task translation to LLVM IR.

A bit-ness question

May 27 2022, 8:54 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D126350: [LSR][TTI][PowerPC][SystemZ][X86] Add const-ness to TTI::isLSRCostLess. NFC.

Do you have commit access? Could you add "NFC" (Non-Functional Change) into the title before committing?

May 27 2022, 8:47 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D125670: [LSR] Early exit for RateFormula when it is already losing. NFC.

Can you already trigger the isValid with the current code or is intended for you future changes? If the former, is it possible to add a test case? If the latter, could you highlight that in the summery (maybe even add "NFC" in the title)?

May 27 2022, 8:43 AM · Restricted Project, Restricted Project
Meinersbur accepted D125870: [Polly] Migrate -polly-mse to the new pass manager..

Would you like me to commit for you?

May 27 2022, 8:38 AM · Restricted Project, Restricted Project, Restricted Project

May 26 2022

Meinersbur added inline comments to D126291: [flang][Driver] Update link job on windows.
May 26 2022, 3:41 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D123678: [polly] migrate -polly-show to the new pass manager.

I hope I fixed the race condition issue in rGcc871cf6b50f6a76f2083d192e2254a16832224b. Another possibility would have been to put both tests into the same file.

May 26 2022, 2:01 PM · Restricted Project, Restricted Project
Meinersbur committed rGcc871cf6b50f: [Polly][Test] Fix race condition while printing dot files. (authored by Meinersbur).
[Polly][Test] Fix race condition while printing dot files.
May 26 2022, 1:59 PM · Restricted Project
Meinersbur added inline comments to D123678: [polly] migrate -polly-show to the new pass manager.
May 26 2022, 1:01 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D123678: [polly] migrate -polly-show to the new pass manager.

I could only observe a single failure with my own buildbot was assuming it was something else.

May 26 2022, 12:54 PM · Restricted Project, Restricted Project

May 24 2022

Meinersbur committed rG360411957b6f: [flang][MSVC] Fix building with `/permissive-` flag (authored by MehdiChinoune).
[flang][MSVC] Fix building with `/permissive-` flag
May 24 2022, 9:36 PM · Restricted Project, Restricted Project