SuccessChanges

Summary

  1. [NFC][libc++] Add missing EXPLICIT to pair and tuple synopsis The constructors for std::pair and std::tuple have been made conditionally explicit, however the synopsis in the headers do not reflect that.
  2. [runtimes] Don't depend on libpthread on Android r362048 added support for ELF dependent libraries, but broke Android build since Android does not have libpthread. Remove the dependency on the Android build. Differential Revision: https://reviews.llvm.org/D65098
  3. [X86] When using AND+PACKUS in lowerV16I8Shuffle, generate the build vector directly in v16i8 with the correct 0x00 or 0xFF elements rather than using another VT and bitcasting it. The build_vector will become a constant pool load. By using the desired type initially, it ensures we don't generate a bitcast of the constant pool load which will need to be folded with the load. While experimenting with another patch, I noticed that when the load type and the constant pool type don't match, then SimplifyDemandedBits can't handle it. While we should probably fix that, this was a simple way to fix the issue I saw.
  4. [NFC][PowerPC]Change ADDIStocHA to ADDIStocHA8 to follow 64-bit naming convention Summary: Since we are planning to add ADDIStocHA for 32bit in later patch, we decided to change 64bit one first to follow naming convention with 8 behind opcode. Patch by: Xiangling_L Differential Revision: https://reviews.llvm.org/D64814
  5. [libc++] Set __file_ to 0 in basic_filebuf::close() even if fclose fails This issue was detected by ASan in one of our tests. This test manually invokes basic_filebuf::cloe(). fclose(__h.release() returned a non-zero exit status, so __file_ wasn't set to 0. Later when basic_filebuf destructor ran, we would enter the if (__file_) block again leading to heap-use-after-free error. The POSIX specification for fclose says that independently of the return value, fclose closes the underlying file descriptor and any further access (including another call to fclose()) to the stream results in undefined behavior. This is exactly what happened in our test case. To avoid this issue, we have to always set __file_ to 0 independently of the fclose return value. Differential Revision: https://reviews.llvm.org/D64979
  6. [Attributor] NoAlias on return values. Porting function return value attribute noalias to attributor. This will be followed with a patch for callsite and function argumets. Reviewers: jdoerfert Subscribers: lebedev.ri, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D63067
  7. Stubs out TLOF for AIX and add support for common vars in assembly output. Stubs out a TargetLoweringObjectFileXCOFF class, implementing only SelectSectionForGlobal for common symbols. Also adds an override of EmitGlobalVariable in PPCAIXAsmPrinter which adds a number of defensive errors and adds support for emitting common globals.
Revision 366735 by Louis Dionne:
[NFC][libc++] Add missing EXPLICIT to pair and tuple synopsis

The constructors for std::pair and std::tuple have been made conditionally
explicit, however the synopsis in the headers do not reflect that.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/tuple (diff)libcxx.src/include/tuple
The file was modified/libcxx/trunk/include/utility (diff)libcxx.src/include/utility
Revision 366734 by kongyi:
[runtimes] Don't depend on libpthread on Android

r362048 added support for ELF dependent libraries, but broke Android
build since Android does not have libpthread. Remove the dependency on
the Android build.

Differential Revision: https://reviews.llvm.org/D65098
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/algorithm.cpp (diff)libcxx.src/src/algorithm.cpp
The file was modified/libcxx/trunk/src/chrono.cpp (diff)libcxx.src/src/chrono.cpp
The file was modified/libcxx/trunk/src/condition_variable.cpp (diff)libcxx.src/src/condition_variable.cpp
The file was modified/libcxx/trunk/src/debug.cpp (diff)libcxx.src/src/debug.cpp
The file was modified/libcxx/trunk/src/experimental/memory_resource.cpp (diff)libcxx.src/src/experimental/memory_resource.cpp
The file was modified/libcxx/trunk/src/filesystem/operations.cpp (diff)libcxx.src/src/filesystem/operations.cpp
The file was modified/libcxx/trunk/src/memory.cpp (diff)libcxx.src/src/memory.cpp
The file was modified/libcxx/trunk/src/mutex.cpp (diff)libcxx.src/src/mutex.cpp
The file was modified/libcxx/trunk/src/shared_mutex.cpp (diff)libcxx.src/src/shared_mutex.cpp
The file was modified/libcxx/trunk/src/thread.cpp (diff)libcxx.src/src/thread.cpp
The file was modified/libcxxabi/trunk/src/cxa_exception_storage.cpp (diff)N/A
The file was modified/libcxxabi/trunk/src/cxa_guard_impl.h (diff)N/A
The file was modified/libcxxabi/trunk/src/cxa_thread_atexit.cpp (diff)N/A
The file was modified/libcxxabi/trunk/src/fallback_malloc.cpp (diff)N/A
The file was modified/libunwind/trunk/src/AddressSpace.hpp (diff)N/A
The file was modified/libunwind/trunk/src/RWMutex.hpp (diff)N/A
Revision 366732 by ctopper:
[X86] When using AND+PACKUS in lowerV16I8Shuffle, generate the build vector directly in v16i8 with the correct 0x00 or 0xFF elements rather than using another VT and bitcasting it.

The build_vector will become a constant pool load. By using the
desired type initially, it ensures we don't generate a bitcast
of the constant pool load which will need to be folded with
the load.

While experimenting with another patch, I noticed that when the
load type and the constant pool type don't match, then
SimplifyDemandedBits can't handle it. While we should probably
fix that, this was a simple way to fix the issue I saw.
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/avg.ll (diff)llvm.src/test/CodeGen/X86/avg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store_trunc.ll (diff)llvm.src/test/CodeGen/X86/masked_store_trunc.ll
The file was modified/llvm/trunk/test/CodeGen/X86/mmx-arith.ll (diff)llvm.src/test/CodeGen/X86/mmx-arith.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/oddsubvector.ll (diff)llvm.src/test/CodeGen/X86/oddsubvector.ll
The file was modified/llvm/trunk/test/CodeGen/X86/psubus.ll (diff)llvm.src/test/CodeGen/X86/psubus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sse2-intrinsics-canonical.ll (diff)llvm.src/test/CodeGen/X86/sse2-intrinsics-canonical.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-and-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-or-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-xor-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-xor-bool.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v16.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-128-v16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-math-widen.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-math-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-math.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-math.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-widen.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc.ll
Revision 366731 by jasonliu:
[NFC][PowerPC]Change ADDIStocHA to ADDIStocHA8 to follow 64-bit naming convention

Summary:

Since we are planning to add ADDIStocHA for 32bit in later patch, we decided
to change 64bit one first to follow naming convention with 8 behind opcode.

Patch by: Xiangling_L

Differential Revision: https://reviews.llvm.org/D64814
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/P9InstrResources.td (diff)llvm.src/lib/Target/PowerPC/P9InstrResources.td
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (diff)llvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCFastISel.cpp (diff)llvm.src/lib/Target/PowerPC/PPCFastISel.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelDAGToDAG.cpp (diff)llvm.src/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstr64Bit.td (diff)llvm.src/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)llvm.src/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir (diff)llvm.src/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir
The file was modified/llvm/trunk/test/CodeGen/PowerPC/aantidep-def-ec.mir (diff)llvm.src/test/CodeGen/PowerPC/aantidep-def-ec.mir
The file was modified/llvm/trunk/test/CodeGen/PowerPC/licm-tocReg.ll (diff)llvm.src/test/CodeGen/PowerPC/licm-tocReg.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/no-rlwimi-trivial-commute.mir (diff)llvm.src/test/CodeGen/PowerPC/no-rlwimi-trivial-commute.mir
The file was modified/llvm/trunk/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir (diff)llvm.src/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir
Revision 366730 by phosek:
[libc++] Set __file_ to 0 in basic_filebuf::close() even if fclose fails

This issue was detected by ASan in one of our tests. This test manually
invokes basic_filebuf::cloe(). fclose(__h.release() returned a non-zero
exit status, so __file_ wasn't set to 0. Later when basic_filebuf
destructor ran, we would enter the if (__file_) block again leading to
heap-use-after-free error.

The POSIX specification for fclose says that independently of the return
value, fclose closes the underlying file descriptor and any further
access (including another call to fclose()) to the stream results in
undefined behavior. This is exactly what happened in our test case.

To avoid this issue, we have to always set __file_ to 0 independently of
the fclose return value.

Differential Revision: https://reviews.llvm.org/D64979
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/fstream (diff)libcxx.src/include/fstream
The file was added/libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpplibcxx.src/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpp
Revision 366728 by sstefan:
[Attributor] NoAlias on return values.

Porting function return value attribute noalias to attributor.
This will be followed with a patch for callsite and function argumets.

Reviewers: jdoerfert

Subscribers: lebedev.ri, hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D63067
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was added/llvm/trunk/test/Transforms/FunctionAttrs/noalias_returned.llllvm.src/test/Transforms/FunctionAttrs/noalias_returned.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nonnull.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nonnull.ll
Revision 366727 by sfertile:
Stubs out TLOF for AIX and add support for common vars in assembly output.

Stubs out a TargetLoweringObjectFileXCOFF class, implementing only
SelectSectionForGlobal for common symbols. Also adds an override of
EmitGlobalVariable in PPCAIXAsmPrinter which adds a number of defensive errors
and adds support for emitting common globals.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/XCOFF.h (diff)llvm.src/include/llvm/BinaryFormat/XCOFF.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h (diff)llvm.src/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modified/llvm/trunk/include/llvm/MC/MCContext.h (diff)llvm.src/include/llvm/MC/MCContext.h
The file was modified/llvm/trunk/include/llvm/MC/MCSectionXCOFF.h (diff)llvm.src/include/llvm/MC/MCSectionXCOFF.h
The file was modified/llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp (diff)llvm.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modified/llvm/trunk/lib/MC/MCAsmInfoXCOFF.cpp (diff)llvm.src/lib/MC/MCAsmInfoXCOFF.cpp
The file was modified/llvm/trunk/lib/MC/MCContext.cpp (diff)llvm.src/lib/MC/MCContext.cpp
The file was modified/llvm/trunk/lib/MC/MCObjectFileInfo.cpp (diff)llvm.src/lib/MC/MCObjectFileInfo.cpp
The file was modified/llvm/trunk/lib/MC/MCSectionXCOFF.cpp (diff)llvm.src/lib/MC/MCSectionXCOFF.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (diff)llvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp (diff)llvm.src/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/aix-xcoff-common.llllvm.src/test/CodeGen/PowerPC/aix-xcoff-common.ll