FailedChanges

Summary

  1. Attempt to fix appveyor build
  2. Accept archive files with no symbol table instad of warning on them. It seems virtually everyone who tries to do LTO build with Clang and LLD was hit by a mistake to forget using llvm-ar command to create archive files. I wasn't an exception. Since this is an annoying common issue, it is probably better to handle that gracefully rather than reporting an error and tell the user to redo build with different configuration. Differential Revision: https://reviews.llvm.org/D32721
  3. Qualify calls to __invoke, __apply_fuctor, and __mu
  4. [AArch64] Fix variable name ambiguity in r302078. ArchKind is passed to the function, but it's also a type.
  5. [TailCallElim] Remove an unused argument. NFCI
  6. [Driver] Update AArch64 testcase to match llvm r302078.
  7. [AArch64] Make the TargetParser add CPU exts provided by the arch. Otherwise, each CPU has to manually specify the extensions it supports, even though they have to be a superset of the base arch extensions. And when there's redundant data there's stale data, so most of the CPUs lie about the features they support (almost none lists AEK_FP). Instead, do the saner thing: add the optional extensions on top of the base extensions provided by the architecture. The ARM TargetParser has the same behavior. Differential Revision: https://reviews.llvm.org/D32780
  8. [AArch64] armv8-A doesn't have CRC. That's only a required extension as of v8.1a. Remove it from the "generic" CPU as well: it should only support the base ISA (and binutils agrees). Also unify the MC tests into crc.s and arm64-crc32.s
  9. [libFuzzer] exit without running atexit handlers in libfuzzer's crash handler Summary: It's not safe to assume that atexit handlers can be run once the app crashed. Patch by Jochen Eisinger. Reviewers: kcc, vitalybuka Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32640
  10. Refactored ABITestsuitBuilder to use UnifiedTreeBuilder, so it could track the changes in all dependent projects.
  11. Remove source code only if clean build has been requested by a property.
  12. [Hexagon] Use automatically-generated scheduling information for HVX Patch by Jyotsna Verma.
  13. [ScopInfo] Do not use LLVM names to identify statements, arrays, and parameters LLVM-IR names are commonly available in debug builds, but often not in release builds. Hence, using LLVM-IR names to identify statements or memory reference results makes the behavior of Polly depend on the compile mode. This is undesirable. Hence, we now just number the statements instead of using LLVM-IR names to identify them (this issue has previously been brought up by Zino Benaissa). However, as LLVM-IR names help in making test cases more readable, we add an option '-polly-use-llvm-names' to still use LLVM-IR names. This flag is by default set in the polly tests to make test cases more readable. This change reduces the time in ScopInfo from 32 seconds to 2 seconds for the following test case provided by Eli Friedman <efriedma@codeaurora.org> (already used in one of the previous commits): struct X { int x; }; void a(); #define SIG (int x, X **y, X **z) typedef void (*fn)SIG; #define FN { for (int i = 0; i < x; ++i) { (*y)[i].x += (*z)[i].x; } a(); } #define FN5 FN FN FN FN FN #define FN25 FN5 FN5 FN5 FN5 #define FN125 FN25 FN25 FN25 FN25 FN25 #define FN250 FN125 FN125 #define FN1250 FN250 FN250 FN250 FN250 FN250 void x SIG { FN1250 } For a larger benchmark I have on-hand (10000 loops), this reduces the time for running -polly-scops from 5 minutes to 4 minutes, a reduction by 20%. The reason for this large speedup is that our previous use of printAsOperand had a quadratic cost, as for each printed and unnamed operand the full function was scanned to find the instruction number that identifies the operand. We do not need to adjust the way memory reference ids are constructured, as they do not use LLVM values. Reviewed by: efriedma Tags: #polly Differential Revision: https://reviews.llvm.org/D32789
  14. Merge r296561 - Fix PR32097 - is_abstract doesn't work on class templates.
  15. Merge r300397 - Fix PR32642 - string::insert and string::append don't work with move_iterator.
  16. Remove unused private field.
Revision 302084 by ericwf:
Attempt to fix appveyor build
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/appveyor.yml (diff)llvm-revision.src/libcxx/trunk/appveyor.yml
Revision 302083 by ruiu:
Accept archive files with no symbol table instad of warning on them.

It seems virtually everyone who tries to do LTO build with Clang and
LLD was hit by a mistake to forget using llvm-ar command to create
archive files. I wasn't an exception. Since this is an annoying common
issue, it is probably better to handle that gracefully rather than
reporting an error and tell the user to redo build with different
configuration.

Differential Revision: https://reviews.llvm.org/D32721
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/ELF/Config.h (diff)llvm-revision.src/lld/trunk/ELF/Config.h
The file was modified/lld/trunk/ELF/Driver.cpp (diff)llvm-revision.src/lld/trunk/ELF/Driver.cpp
The file was modified/lld/trunk/ELF/InputFiles.cpp (diff)llvm-revision.src/lld/trunk/ELF/InputFiles.cpp
The file was modified/lld/trunk/ELF/InputFiles.h (diff)llvm-revision.src/lld/trunk/ELF/InputFiles.h
The file was modified/lld/trunk/ELF/Relocations.cpp (diff)llvm-revision.src/lld/trunk/ELF/Relocations.cpp
The file was modified/lld/trunk/test/ELF/lto/archive-no-index.ll (diff)llvm-revision.src/lld/trunk/test/ELF/lto/archive-no-index.ll
Revision 302082 by ericwf:
Qualify calls to __invoke, __apply_fuctor, and __mu
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/functional (diff)llvm-revision.src/libcxx/trunk/include/functional
Revision 302081 by Ahmed Bougacha:
[AArch64] Fix variable name ambiguity in r302078.

ArchKind is passed to the function, but it's also a type.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/TargetParser.cpp (diff)llvm-revision.src/llvm/trunk/lib/Support/TargetParser.cpp
Revision 302080 by trentxintong:
[TailCallElim] Remove an unused argument. NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp
Revision 302079 by Ahmed Bougacha:
[Driver] Update AArch64 testcase to match llvm r302078.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Preprocessor/aarch64-target-features.c (diff)llvm-revision.src/cfe/trunk/test/Preprocessor/aarch64-target-features.c
Revision 302078 by Ahmed Bougacha:
[AArch64] Make the TargetParser add CPU exts provided by the arch.

Otherwise, each CPU has to manually specify the extensions it supports,
even though they have to be a superset of the base arch extensions.
And when there's redundant data there's stale data, so most of the CPUs
lie about the features they support (almost none lists AEK_FP).

Instead, do the saner thing: add the optional extensions on top of the
base extensions provided by the architecture.

The ARM TargetParser has the same behavior.

Differential Revision: https://reviews.llvm.org/D32780
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/AArch64TargetParser.def (diff)llvm-revision.src/llvm/trunk/include/llvm/Support/AArch64TargetParser.def
The file was modified/llvm/trunk/lib/Support/TargetParser.cpp (diff)llvm-revision.src/llvm/trunk/lib/Support/TargetParser.cpp
The file was modified/llvm/trunk/unittests/Support/TargetParserTest.cpp (diff)llvm-revision.src/llvm/trunk/unittests/Support/TargetParserTest.cpp
Revision 302077 by Ahmed Bougacha:
[AArch64] armv8-A doesn't have CRC.

That's only a required extension as of v8.1a.

Remove it from the "generic" CPU as well: it should only support the
base ISA (and binutils agrees).

Also unify the MC tests into crc.s and arm64-crc32.s
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/AArch64TargetParser.def (diff)llvm-revision.src/llvm/trunk/include/llvm/Support/AArch64TargetParser.def
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64.td (diff)llvm-revision.src/llvm/trunk/lib/Target/AArch64/AArch64.td
The file was modified/llvm/trunk/test/MC/AArch64/basic-a64-instructions.s (diff)llvm-revision.src/llvm/trunk/test/MC/AArch64/basic-a64-instructions.s
The file was added/llvm/trunk/test/MC/AArch64/crc.sllvm-revision.src/llvm/trunk/test/MC/AArch64/crc.s
The file was removed/llvm/trunk/test/MC/AArch64/cyclone-crc.sllvm-revision.src/llvm/trunk/test/MC/AArch64/cyclone-crc.s
The file was modified/llvm/trunk/test/MC/AArch64/directive-arch-negative.s (diff)llvm-revision.src/llvm/trunk/test/MC/AArch64/directive-arch-negative.s
The file was modified/llvm/trunk/test/MC/Disassembler/AArch64/basic-a64-instructions.txt (diff)llvm-revision.src/llvm/trunk/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
Revision 302076 by Vitaly Buka:
[libFuzzer] exit without running atexit handlers in libfuzzer's crash handler

Summary:
It's not safe to assume that atexit handlers can be run once the app crashed.

Patch by Jochen Eisinger.

Reviewers: kcc, vitalybuka

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D32640
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp (diff)llvm-revision.src/llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp
Revision 302075 by gkistanova:
Refactored ABITestsuitBuilder to use UnifiedTreeBuilder, so it could track the changes in all dependent projects.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/buildbot/builders/ABITestsuitBuilder.py (diff)llvm-revision.src/zorg/trunk/zorg/buildbot/builders/ABITestsuitBuilder.py
Revision 302074 by gkistanova:
Remove source code only if clean build has been requested by a property.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/buildbot/builders/UnifiedTreeBuilder.py (diff)llvm-revision.src/zorg/trunk/zorg/buildbot/builders/UnifiedTreeBuilder.py
Revision 302073 by kparzysz:
[Hexagon] Use automatically-generated scheduling information for HVX

Patch by Jyotsna Verma.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/lib/Target/Hexagon/HexagonDepIICHVX.tdllvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonDepIICHVX.td
The file was added/llvm/trunk/lib/Target/Hexagon/HexagonDepIICScalar.tdllvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonDepIICScalar.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonDepITypes.h (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonDepITypes.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonDepITypes.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonDepITypes.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonDepInstrFormats.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonDepInstrFormats.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonDepInstrInfo.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonDepInstrInfo.td
The file was added/llvm/trunk/lib/Target/Hexagon/HexagonDepTimingClasses.hllvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonDepTimingClasses.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonIICHVX.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonIICHVX.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonIICScalar.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonIICScalar.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrFormats.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrFormats.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrFormatsV4.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrFormatsV4.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrFormatsV60.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrFormatsV60.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.h (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonMachineScheduler.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonMachineScheduler.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonPatterns.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonPatterns.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonPseudo.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonPseudo.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonSchedule.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonSchedule.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonScheduleV4.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonScheduleV4.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonScheduleV55.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonScheduleV55.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonScheduleV60.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonScheduleV60.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonScheduleV62.td (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonScheduleV62.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.h (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
The file was modified/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-matmul-bitext.ll (diff)llvm-revision.src/llvm/trunk/test/CodeGen/Hexagon/swp-matmul-bitext.ll
Revision 302072 by grosser:
[ScopInfo] Do not use LLVM names to identify statements, arrays, and parameters

LLVM-IR names are commonly available in debug builds, but often not in release
builds. Hence, using LLVM-IR names to identify statements or memory reference
results makes the behavior of Polly depend on the compile mode. This is
undesirable. Hence, we now just number the statements instead of using LLVM-IR
names to identify them (this issue has previously been brought up by Zino
Benaissa).

However, as LLVM-IR names help in making test cases more readable, we add an
option '-polly-use-llvm-names' to still use LLVM-IR names. This flag is by
default set in the polly tests to make test cases more readable.

This change reduces the time in ScopInfo from 32 seconds to 2 seconds for the
following test case provided by Eli Friedman <efriedma@codeaurora.org> (already
used in one of the previous commits):

  struct X { int x; };
  void a();
  #define SIG (int x, X **y, X **z)
  typedef void (*fn)SIG;
  #define FN { for (int i = 0; i < x; ++i) { (*y)[i].x += (*z)[i].x; } a(); }
  #define FN5 FN FN FN FN FN
  #define FN25 FN5 FN5 FN5 FN5
  #define FN125 FN25 FN25 FN25 FN25 FN25
  #define FN250 FN125 FN125
  #define FN1250 FN250 FN250 FN250 FN250 FN250
  void x SIG { FN1250 }

For a larger benchmark I have on-hand (10000 loops), this reduces the time for
running -polly-scops from 5 minutes to 4 minutes, a reduction by 20%.

The reason for this large speedup is that our previous use of printAsOperand
had a quadratic cost, as for each printed and unnamed operand the full function
was scanned to find the instruction number that identifies the operand.

We do not need to adjust the way memory reference ids are constructured, as
they do not use LLVM values.

Reviewed by: efriedma

Tags: #polly

Differential Revision: https://reviews.llvm.org/D32789
Change TypePath in RepositoryPath in Workspace
The file was modified/polly/trunk/include/polly/ScopInfo.h (diff)llvm-revision.src/polly/trunk/include/polly/ScopInfo.h
The file was modified/polly/trunk/include/polly/Support/GICHelper.h (diff)llvm-revision.src/polly/trunk/include/polly/Support/GICHelper.h
The file was modified/polly/trunk/lib/Analysis/ScopInfo.cpp (diff)llvm-revision.src/polly/trunk/lib/Analysis/ScopInfo.cpp
The file was modified/polly/trunk/lib/Support/GICHelper.cpp (diff)llvm-revision.src/polly/trunk/lib/Support/GICHelper.cpp
The file was added/polly/trunk/test/ScopInfo/unnamed_nonaffine.llllvm-revision.src/polly/trunk/test/ScopInfo/unnamed_nonaffine.ll
The file was added/polly/trunk/test/ScopInfo/unnamed_stmts.llllvm-revision.src/polly/trunk/test/ScopInfo/unnamed_stmts.ll
The file was modified/polly/trunk/test/lit.site.cfg.in (diff)llvm-revision.src/polly/trunk/test/lit.site.cfg.in
Revision 302071 by ericwf:
Merge r296561 - Fix PR32097 - is_abstract doesn't work on class templates.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/branches/release_40/include/type_traits (diff)llvm-revision.src/libcxx/branches/release_40/include/type_traits
The file was modified/libcxx/branches/release_40/test/std/utilities/meta/meta.unary/meta.unary.prop/is_abstract.pass.cpp (diff)llvm-revision.src/libcxx/branches/release_40/test/std/utilities/meta/meta.unary/meta.unary.prop/is_abstract.pass.cpp
Revision 302070 by ericwf:
Merge r300397 - Fix PR32642 - string::insert and string::append don't work with move_iterator.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/branches/release_40/include/string (diff)llvm-revision.src/libcxx/branches/release_40/include/string
The file was modified/libcxx/branches/release_40/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp (diff)llvm-revision.src/libcxx/branches/release_40/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
The file was modified/libcxx/branches/release_40/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp (diff)llvm-revision.src/libcxx/branches/release_40/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
Revision 302069 by zturner:
Remove unused private field.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h
The file was modified/llvm/trunk/lib/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.cpp
The file was modified/llvm/trunk/tools/llvm-pdbdump/llvm-pdbdump.cpp (diff)llvm-revision.src/llvm/trunk/tools/llvm-pdbdump/llvm-pdbdump.cpp