FailedChanges

Summary

  1. [opaque pointer types] Cleanup CGBuilder's Create*GEP. The various EltSize, Offset, DataLayout, and StructLayout arguments are all computable from the Address's element type and the DataLayout which the CGBuilder already has access to. After having previously asserted that the computed values are the same as those passed in, now remove the redundant arguments from CGBuilder's Create*GEP functions. Differential Revision: https://reviews.llvm.org/D57767
  2. [X86] Add tests for funnel undef argument combines If one of the shifted arguments is undef we should be folding to a regular shift.
  3. tsan: Implement pthread_exit() interceptor for Thread sanitizer This change is preparation for fiber support. Author: yuri (Yuri Per) Reviewed in: https://reviews.llvm.org/D57876 Context: https://reviews.llvm.org/D54889 llvm-svn: 353385
  4. [X86] CombineOr - fold to generic funnel shifts As discussed on D57389, this is a first step towards moving the SHLD/SHRD matching code to DAGCombiner using FSHL/FSHR instead. There's a bit of work to do before I can do that, so this just folds to FSHL/FSHR in the existing code (handling the different SHRD/FSHR argument ordering), which fixes the issue we had with i16 shift amounts not being correctly masked.
  5. [x86] add another test for setcc miscompile (PR40657); NFC
  6. [tsan] Remove debug logging and disable test on ppc64be
  7. [tsan] Remove debug logging and disable test on ppc64be
  8. Mark another test as flaky Reported on the NetBSD buildbot.
  9. gn build: Merge r353590
  10. llvm-lib: Implement /list flag Differential Revision: https://reviews.llvm.org/D57952
  11. [TargetLowering] add tests to show effect of setcc sub->shift; NFC There's effectively no difference for the cases with variables. We just trade a sub for an add on those. But the case with a subtract from constant would require an extra move instruction on x86, so this looks like a reasonable generic combine.
  12. [x86] add test for setcc sub->shift transform; NFC
  13. [tsan] Debug failing test on PPC bot
  14. [X86] Regenerate test.
  15. [TargetLowering] avoid miscompile in setcc transform (PR40657)
  16. [yaml2elf.cpp] - Fix compilation under linux. Fixes errors like: /home/ssglocal/clang-cmake-x86_64-sde-avx512-linux/clang-cmake-x86_64-sde-avx512-linux/llvm/tools/yaml2obj/yaml2elf.cpp:597:5: error: need ‘typename’ before ‘ELFT:: Xword’ because ‘ELFT’ is a dependent scope ELFT::Xword Tag = (ELFT::Xword)DE.Tag;
  17. [yaml2elf] - An attemp to fix s390x BB after r353607. s390x is big-endian and seems r353607 had an issue with endianess, Bot was unhappy: http://lab.llvm.org:8011/builders/clang-s390x-linux-lnt/builds/11168/steps/ninja%20check%201/logs/stdio This should fix it.
  18. Revert "[SelectionDAG] Extract [US]MULO expansion into TL method; NFC" This reverts commit r353611. Triggers an assertion during the libcall expansion on ARM.
  19. [SelectionDAG] Extract [US]MULO expansion into TL method; NFC In preparation for supporting vector expansion. Also drop a variant of ExpandLibCall, of which the MULO expansions were the only user.
  20. [X86][SSE] Generalize X86ISD::BLENDI support to more value types D42042 introduced the ability for the ExecutionDomainFixPass to more easily change between BLENDPD/BLENDPS/PBLENDW as the domains required. With this ability, we can avoid most bitcasts/scaling in the DAG that was occurring with X86ISD::BLENDI lowering/combining, blend with the vXi32/vXi64 vectors directly and use isel patterns to lower to the float vector equivalent vectors. This helps the shuffle combining and SimplifyDemandedVectorElts be more aggressive as we lose track of fewer UNDEF elements than when we go up/down through bitcasts. I've introduced a basic blend(bitcast(x),bitcast(y)) -> bitcast(blend(x,y)) fold, there are more generalizations I can do there (e.g. widening/scaling and handling the tricky v16i16 repeated mask case). The vector-reduce-smin/smax regressions will be fixed in a future improvement to SimplifyDemandedBits to peek through bitcasts and support X86ISD::BLENDV. Differential Revision: https://reviews.llvm.org/D57888
Revision 353629 by jyknight:
[opaque pointer types] Cleanup CGBuilder's Create*GEP.

The various EltSize, Offset, DataLayout, and StructLayout arguments
are all computable from the Address's element type and the DataLayout
which the CGBuilder already has access to.

After having previously asserted that the computed values are the same
as those passed in, now remove the redundant arguments from
CGBuilder's Create*GEP functions.

Differential Revision: https://reviews.llvm.org/D57767
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGAtomic.cpp (diff)clang.src/lib/CodeGen/CGAtomic.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGBlocks.cpp (diff)clang.src/lib/CodeGen/CGBlocks.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGBuilder.h (diff)clang.src/lib/CodeGen/CGBuilder.h
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpp (diff)clang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cpp (diff)clang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCleanup.cpp (diff)clang.src/lib/CodeGen/CGCleanup.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cpp (diff)clang.src/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExpr.cpp (diff)clang.src/lib/CodeGen/CGExpr.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprAgg.cpp (diff)clang.src/lib/CodeGen/CGExprAgg.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprComplex.cpp (diff)clang.src/lib/CodeGen/CGExprComplex.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGNonTrivialStruct.cpp (diff)clang.src/lib/CodeGen/CGNonTrivialStruct.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjC.cpp (diff)clang.src/lib/CodeGen/CGObjC.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (diff)clang.src/lib/CodeGen/CGObjCGNU.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCMac.cpp (diff)clang.src/lib/CodeGen/CGObjCMac.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp (diff)clang.src/lib/CodeGen/CGStmtOpenMP.cpp
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp (diff)clang.src/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cpp (diff)clang.src/lib/CodeGen/TargetInfo.cpp
Revision 353628 by rksimon:
[X86] Add tests for funnel undef argument combines

If one of the shifted arguments is undef we should be folding to a regular shift.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/funnel-shift.ll (diff)llvm.src/test/CodeGen/X86/funnel-shift.ll
Revision 353627 by Vitaly Buka:
tsan: Implement pthread_exit() interceptor for Thread sanitizer

This change is preparation for fiber support.

Author: yuri (Yuri Per)
Reviewed in: https://reviews.llvm.org/D57876
Context: https://reviews.llvm.org/D54889

llvm-svn: 353385
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc (diff)compiler-rt.src/lib/tsan/rtl/tsan_interceptors.cc
Revision 353626 by rksimon:
[X86] CombineOr - fold to generic funnel shifts

As discussed on D57389, this is a first step towards moving the SHLD/SHRD matching code to DAGCombiner using FSHL/FSHR instead.

There's a bit of work to do before I can do that, so this just folds to FSHL/FSHR in the existing code (handling the different SHRD/FSHR argument ordering), which fixes the issue we had with i16 shift amounts not being correctly masked.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/rot16.ll (diff)llvm.src/test/CodeGen/X86/rot16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/shift-double.ll (diff)llvm.src/test/CodeGen/X86/shift-double.ll
Revision 353625 by spatel:
[x86] add another test for setcc miscompile (PR40657); NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/setcc-combine.ll (diff)llvm.src/test/CodeGen/X86/setcc-combine.ll
Revision 353624 by Vitaly Buka:
[tsan] Remove debug logging and disable test on ppc64be
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/tsan/thread_exit.c (diff)compiler-rt.src/test/tsan/thread_exit.c
Revision 353623 by Vitaly Buka:
[tsan] Remove debug logging and disable test on ppc64be
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/tsan/thread_exit.c (diff)compiler-rt.src/test/tsan/thread_exit.c
Revision 353622 by kamil:
Mark another test as flaky

Reported on the NetBSD buildbot.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp (diff)libcxx.src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
Revision 353621 by nico:
gn build: Merge r353590
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/include/clang/Config/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang/test/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/test/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Support/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Revision 353620 by nico:
llvm-lib: Implement /list flag

Differential Revision: https://reviews.llvm.org/D57952
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ToolDrivers/llvm-lib/LibDriver.cpp (diff)llvm.src/lib/ToolDrivers/llvm-lib/LibDriver.cpp
The file was modified/llvm/trunk/lib/ToolDrivers/llvm-lib/Options.td (diff)llvm.src/lib/ToolDrivers/llvm-lib/Options.td
The file was added/llvm/trunk/test/tools/llvm-lib/list.testllvm.src/test/tools/llvm-lib/list.test
Revision 353619 by spatel:
[TargetLowering] add tests to show effect of setcc sub->shift; NFC

There's effectively no difference for the cases with variables.
We just trade a sub for an add on those. But the case with a
subtract from constant would require an extra move instruction
on x86, so this looks like a reasonable generic combine.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/setcc-combine.ll (diff)llvm.src/test/CodeGen/X86/setcc-combine.ll
Revision 353618 by spatel:
[x86] add test for setcc sub->shift transform; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/setcc-combine.ll (diff)llvm.src/test/CodeGen/X86/setcc-combine.ll
Revision 353617 by Vitaly Buka:
[tsan] Debug failing test on PPC bot
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/tsan/thread_exit.c (diff)compiler-rt.src/test/tsan/thread_exit.c
Revision 353616 by rksimon:
[X86] Regenerate test.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/pr30562.ll (diff)llvm.src/test/CodeGen/X86/pr30562.ll
Revision 353615 by spatel:
[TargetLowering] avoid miscompile in setcc transform (PR40657)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/setcc-combine.ll (diff)llvm.src/test/CodeGen/X86/setcc-combine.ll
Revision 353614 by grimar:
[yaml2elf.cpp] - Fix compilation under linux.

Fixes errors like:
/home/ssglocal/clang-cmake-x86_64-sde-avx512-linux/clang-cmake-x86_64-sde-avx512-linux/llvm/tools/yaml2obj/yaml2elf.cpp:597:5: error: need ‘typename’ before ‘ELFT:: Xword’ because ‘ELFT’ is a dependent scope
     ELFT::Xword Tag = (ELFT::Xword)DE.Tag;
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpp (diff)llvm.src/tools/yaml2obj/yaml2elf.cpp
Revision 353613 by grimar:
[yaml2elf] - An attemp to fix s390x BB after r353607.

s390x is big-endian and seems r353607 had an issue with endianess,
Bot was unhappy:
http://lab.llvm.org:8011/builders/clang-s390x-linux-lnt/builds/11168/steps/ninja%20check%201/logs/stdio

This should fix it.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpp (diff)llvm.src/tools/yaml2obj/yaml2elf.cpp
Revision 353612 by nikic:
Revert "[SelectionDAG] Extract [US]MULO expansion into TL method; NFC"

This reverts commit r353611.

Triggers an assertion during the libcall expansion on ARM.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Revision 353611 by nikic:
[SelectionDAG] Extract [US]MULO expansion into TL method; NFC

In preparation for supporting vector expansion.

Also drop a variant of ExpandLibCall, of which the MULO expansions
were the only user.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Revision 353610 by rksimon:
[X86][SSE] Generalize X86ISD::BLENDI support to more value types

D42042 introduced the ability for the ExecutionDomainFixPass to more easily change between BLENDPD/BLENDPS/PBLENDW as the domains required.

With this ability, we can avoid most bitcasts/scaling in the DAG that was occurring with X86ISD::BLENDI lowering/combining, blend with the vXi32/vXi64 vectors directly and use isel patterns to lower to the float vector equivalent vectors.

This helps the shuffle combining and SimplifyDemandedVectorElts be more aggressive as we lose track of fewer UNDEF elements than when we go up/down through bitcasts.

I've introduced a basic blend(bitcast(x),bitcast(y)) -> bitcast(blend(x,y)) fold, there are more generalizations I can do there (e.g. widening/scaling and handling the tricky v16i16 repeated mask case).

The vector-reduce-smin/smax regressions will be fixed in a future improvement to SimplifyDemandedBits to peek through bitcasts and support X86ISD::BLENDV.

Differential Revision: https://reviews.llvm.org/D57888
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86InstrSSE.td (diff)llvm.src/lib/Target/X86/X86InstrSSE.td
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-shuffles/partial_permute.ll (diff)llvm.src/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modified/llvm/trunk/test/CodeGen/X86/combine-sdiv.ll (diff)llvm.src/test/CodeGen/X86/combine-sdiv.ll
The file was modified/llvm/trunk/test/CodeGen/X86/insertelement-ones.ll (diff)llvm.src/test/CodeGen/X86/insertelement-ones.ll
The file was modified/llvm/trunk/test/CodeGen/X86/known-signbits-vector.ll (diff)llvm.src/test/CodeGen/X86/known-signbits-vector.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_load.ll (diff)llvm.src/test/CodeGen/X86/masked_load.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store.ll (diff)llvm.src/test/CodeGen/X86/masked_store.ll
The file was modified/llvm/trunk/test/CodeGen/X86/oddshuffles.ll (diff)llvm.src/test/CodeGen/X86/oddshuffles.ll
The file was modified/llvm/trunk/test/CodeGen/X86/packss.ll (diff)llvm.src/test/CodeGen/X86/packss.ll
The file was modified/llvm/trunk/test/CodeGen/X86/pr34592.ll (diff)llvm.src/test/CodeGen/X86/pr34592.ll
The file was modified/llvm/trunk/test/CodeGen/X86/prefer-avx256-mask-shuffle.ll (diff)llvm.src/test/CodeGen/X86/prefer-avx256-mask-shuffle.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sse2.ll (diff)llvm.src/test/CodeGen/X86/sse2.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-smax.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-smax.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-smin.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-smin.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-ashr-256.ll (diff)llvm.src/test/CodeGen/X86/vector-shift-ashr-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v8.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-128-v8.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v16.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-256-v16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v32.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-256-v32.ll