FailedChanges

Summary

  1. [Polly] Fix lib/Transform/ScheduleOptimizer.cpp compilation on Solaris (details)
  2. [llvm-objdump] Fix llvm-objdump --all-headers output order (details)
  3. [ARM] Add support for MVE vmaxv and vminv (details)
Commit 570c50aa922e39c91266aba0b68005cdb8aaebb4 by ro
[Polly] Fix lib/Transform/ScheduleOptimizer.cpp compilation on Solaris
lib/Transform/ScheduleOptimizer.cpp fails to compile on Solaris, both on
the 9.x branch (first noticed when running test-release.sh without
-no-polly) and on trunk:

/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/tools/polly/lib/Transform/ScheduleOptimizer.cpp:
In function ‘MicroKernelParamsTy getMicroKernelParams(const
llvm::TargetTransformInfo*, polly::MatMulInfoTy)’:

/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/tools/polly/lib/Transform/ScheduleOptimizer.cpp:914:62:
error: call of overloaded ‘sqrt(long unsigned int)’ is ambiguous
   914 |       ceil(sqrt(Nvec * LatencyVectorFma * ThroughputVectorFma)
/ Nvec) * Nvec;
       |                                                              ^
In file included from
/usr/gcc/9/lib/gcc/x86_64-pc-solaris2.11/9.1.0/include-fixed/math.h:24,
                  from /usr/gcc/9/include/c++/9.1.0/cmath:45,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/include/llvm-c/DataTypes.h:28,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/include/llvm/Support/DataTypes.h:16,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/include/llvm/ADT/Hashing.h:47,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/include/llvm/ADT/ArrayRef.h:12,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/tools/polly/include/polly/ScheduleOptimizer.h:12,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/tools/polly/lib/Transform/ScheduleOptimizer.cpp:48:

/usr/gcc/9/lib/gcc/x86_64-pc-solaris2.11/9.1.0/include-fixed/iso/math_iso.h:220:21:
note: candidate: ‘long double std::sqrt(long double)’
   220 |  inline long double sqrt(long double __X) { return
__sqrtl(__X); }
       |                     ^~~~

/usr/gcc/9/lib/gcc/x86_64-pc-solaris2.11/9.1.0/include-fixed/iso/math_iso.h:186:15:
note: candidate: ‘float std::sqrt(float)’
   186 |  inline float sqrt(float __X) { return __sqrtf(__X); }
       |               ^~~~

/usr/gcc/9/lib/gcc/x86_64-pc-solaris2.11/9.1.0/include-fixed/iso/math_iso.h:74:15:
note: candidate: ‘double std::sqrt(double)’
    74 | extern double sqrt __P((double));
       |               ^~~~

/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/tools/polly/lib/Transform/ScheduleOptimizer.cpp:915:67:
error: call of overloaded ‘ceil(long unsigned int)’ is ambiguous
   915 |   int Mr = ceil(Nvec * LatencyVectorFma * ThroughputVectorFma /
Nr);
       |                                                               
  ^
In file included from
/usr/gcc/9/lib/gcc/x86_64-pc-solaris2.11/9.1.0/include-fixed/math.h:24,
                  from /usr/gcc/9/include/c++/9.1.0/cmath:45,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/include/llvm-c/DataTypes.h:28,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/include/llvm/Support/DataTypes.h:16,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/include/llvm/ADT/Hashing.h:47,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/include/llvm/ADT/ArrayRef.h:12,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/tools/polly/include/polly/ScheduleOptimizer.h:12,
                  from
/var/llvm/llvm-9.0.0-rc4/rc4/llvm.src/tools/polly/lib/Transform/ScheduleOptimizer.cpp:48:

/usr/gcc/9/lib/gcc/x86_64-pc-solaris2.11/9.1.0/include-fixed/iso/math_iso.h:196:21:
note: candidate: ‘long double std::ceil(long double)’
   196 |  inline long double ceil(long double __X) { return
__ceill(__X); }
       |                     ^~~~

/usr/gcc/9/lib/gcc/x86_64-pc-solaris2.11/9.1.0/include-fixed/iso/math_iso.h:160:15:
note: candidate: ‘float std::ceil(float)’
   160 |  inline float ceil(float __X) { return __ceilf(__X); }
       |               ^~~~

/usr/gcc/9/lib/gcc/x86_64-pc-solaris2.11/9.1.0/include-fixed/iso/math_iso.h:76:15:
note: candidate: ‘double std::ceil(double)’
    76 | extern double ceil __P((double));
       |               ^~~~
Fixed by adding casts to disambiguate, checked that it now compiles on
both  amd64-pc-solaris2.11 and sparcv9-sun-solaris2.11 and on
x86_64-pc-linux-gnu.
Differential Revision: https://reviews.llvm.org/D67442
llvm-svn: 371825
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
Commit d70690833908f1fbb1fce1d18831901594e43860 by grimar
[llvm-objdump] Fix llvm-objdump --all-headers output order
Patch by Justice Adams!
Made llvm-objdump --all-headers output match the order of GNU objdump
for compatibility reasons.
Old order of the headers output:
* file header
* section header table
* symbol table
* program header table
* dynamic section
New order of the headers output (GNU compatible):
* file header information
* program header table
* dynamic section
* section header table
* symbol table
(Relevant BugZilla Bug: https://bugs.llvm.org/show_bug.cgi?id=41830)
Differential revision: https://reviews.llvm.org/D67357
llvm-svn: 371826
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/test/tools/llvm-objdump/all-headers.test
Commit 1572b68509571ef8e52db9e54ff7b0a284a23974 by sam.tebbs
[ARM] Add support for MVE vmaxv and vminv
This patch adds vecreduce_smax, vecredude_umax, vecreduce_smin,
vecreduce_umin and selection for vmaxv and minv.
Differential Revision: https://reviews.llvm.org/D66413
llvm-svn: 371827
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was addedllvm/test/CodeGen/Thumb2/mve-vmaxv.ll
The file was modifiedllvm/include/llvm/Target/TargetSelectionDAG.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td