[PATCH] D52653: [CodeGen, AArch64] Combine Interleaved Loads which are not covered by the Vectorizer

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 19 10:55:17 PST 2018


lebedev.ri added inline comments.


================
Comment at: llvm/trunk/lib/CodeGen/InterleavedLoadCombinePass.cpp:1043
+    for (unsigned i = 0; i < getDimension(); i++)
+      OS << ((i == 0) ? "[" : ", ") << EI[i].Ofs;
+    OS << "]";
----------------
This does not build. (gcc8, release with asserts).
```
FAILED: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InterleavedLoadCombinePass.cpp.o 
/usr/bin/g++  -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/CodeGen -I/build/llvm/lib/CodeGen -I/usr/include/libxml2 -Iinclude -I/build/llvm/include -pipe -O2 -g0 -UNDEBUG -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -pipe -O2 -g0 -UNDEBUG -fPIC   -UNDEBUG  -fno-exceptions -fno-rtti -MD -MT lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InterleavedLoadCombinePass.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InterleavedLoadCombinePass.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InterleavedLoadCombinePass.cpp.o -c /build/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
/build/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp: In member function ‘void {anonymous}::VectorInfo::print(llvm::raw_ostream&) const’:
/build/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp:1037:37: error: no match for ‘operator<<’ (operand types are ‘llvm::raw_ostream’ and ‘{anonymous}::Polynomial’)
       OS << ((i == 0) ? "[" : ", ") << EI[i].Ofs;
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
```
I will change this to
```
    for (unsigned i = 0; i < getDimension(); i++) {
      OS << ((i == 0) ? "[" : ", ");
      EI[i].Ofs.print(OS);
    }
```
to fix the build.

Also, it is weird that such a class is hidden in such place.



Repository:
  rL LLVM

https://reviews.llvm.org/D52653





More information about the llvm-commits mailing list