FailedChanges

Summary

  1. [ASAN] Add interceptor for __longjmp_chk Summary: glibc on Linux calls __longjmp_chk instead of longjmp (or _longjmp) when _FORTIFY_SOURCE is defined. Ensure that an ASAN-instrumented program intercepts this function when a system library calls it, otherwise the stack might remain poisoned and result in CHECK failures and false positives. Fixes https://github.com/google/sanitizers/issues/721 Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D32408
  2. DiagnosticsEngine should clear DelayedDiagID before reporting the delayed diagnostic This fix avoids an infinite recursion that was uncovered in one of our internal tests by r301992. The testcase is the most reduced version of that auto-generated test. This is an improved version of the reverted commit r302037. The previous fix actually managed to expose another subtle bug whereby `fatal_too_many_errors` error was reported twice, with the second report setting the `FatalErrorOccurred` flag. That prevented the notes that followed the diagnostic the caused `fatal_too_many_errors` to be emitted. This commit ensures that notes that follow `fatal_too_many_errors` but that belong to the diagnostic that caused `fatal_too_many_errors` won't be emitted by setting the `FatalErrorOccurred` when emitting `fatal_too_many_errors`. rdar://31962618
  3. [X86][AVX512] Fix VPABSD file checks Fix capitalization and string matching
  4. [X86][SSE] Add i686 triple tests for partial vector and re-association
  5. Refactoring with range-based for, NFC Patch by Wei-Ren Chen. Differential Revision: https://reviews.llvm.org/D32682
  6. [compiler-rt][mips] Add support for quad precision builtins for mips64 Match the builtins that GCC provides for IEEE754 quad precision on MIPS64. Also, enable building them with clang as PR20098 is resolved. Disable tests for xf and xc modes as MIPS doesn't support that mode in hardware or software. Reviewers: slthakur Differential Revision: https://reviews.llvm.org/D32794
  7. [SystemZ] Make copyPhysReg() add impl-use operands of super reg. When a 128 bit COPY is lowered into two instructions, an impl-use operand of the super-reg should be added to each new instruction in case one of the sub-regs is undefined. Review: Ulrich Weigand
Revision 302152 by lekensteyn:
[ASAN] Add interceptor for __longjmp_chk

Summary:
glibc on Linux calls __longjmp_chk instead of longjmp (or _longjmp) when
_FORTIFY_SOURCE is defined. Ensure that an ASAN-instrumented program
intercepts this function when a system library calls it, otherwise the
stack might remain poisoned and result in CHECK failures and false
positives.

Fixes https://github.com/google/sanitizers/issues/721

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D32408
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/asan/asan_interceptors.cc (diff)llvm-revision.src/compiler-rt/trunk/lib/asan/asan_interceptors.cc
The file was modified/compiler-rt/trunk/lib/asan/asan_interceptors.h (diff)llvm-revision.src/compiler-rt/trunk/lib/asan/asan_interceptors.h
The file was added/compiler-rt/trunk/test/asan/TestCases/Linux/longjmp_chk.cllvm-revision.src/compiler-rt/trunk/test/asan/TestCases/Linux/longjmp_chk.c
Revision 302151 by arphaman:
DiagnosticsEngine should clear DelayedDiagID before reporting the
delayed diagnostic

This fix avoids an infinite recursion that was uncovered in one of our internal
tests by r301992. The testcase is the most reduced version of that
auto-generated test.

This is an improved version of the reverted commit r302037. The previous fix
actually managed to expose another subtle bug whereby `fatal_too_many_errors`
error was reported twice, with the second report setting the
`FatalErrorOccurred` flag. That prevented the notes that followed the diagnostic
the caused `fatal_too_many_errors` to be emitted. This commit ensures that notes
that follow `fatal_too_many_errors` but that belong to the diagnostic that
caused `fatal_too_many_errors` won't be emitted by setting the
`FatalErrorOccurred` when emitting `fatal_too_many_errors`.

rdar://31962618
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Basic/Diagnostic.cpp (diff)llvm-revision.src/cfe/trunk/lib/Basic/Diagnostic.cpp
The file was modified/cfe/trunk/lib/Basic/DiagnosticIDs.cpp (diff)llvm-revision.src/cfe/trunk/lib/Basic/DiagnosticIDs.cpp
The file was added/cfe/trunk/test/Index/KeepGoingWithLotsOfErrors.mmllvm-revision.src/cfe/trunk/test/Index/KeepGoingWithLotsOfErrors.mm
Revision 302150 by rksimon:
[X86][AVX512] Fix VPABSD file checks

Fix capitalization and string matching
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/stack-folding-int-avx512.ll (diff)llvm-revision.src/llvm/trunk/test/CodeGen/X86/stack-folding-int-avx512.ll
Revision 302149 by rksimon:
[X86][SSE] Add i686 triple tests for partial vector and re-association
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/vec_partial.ll (diff)llvm-revision.src/llvm/trunk/test/CodeGen/X86/vec_partial.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_reassociate.ll (diff)llvm-revision.src/llvm/trunk/test/CodeGen/X86/vec_reassociate.ll
Revision 302148 by kparzysz:
Refactoring with range-based for, NFC

Patch by Wei-Ren Chen.

Differential Revision: https://reviews.llvm.org/D32682
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
Revision 302147 by sdardis:
[compiler-rt][mips] Add support for quad precision builtins for mips64

Match the builtins that GCC provides for IEEE754 quad precision
on MIPS64. Also, enable building them with clang as PR20098 is resolved.

Disable tests for xf and xc modes as MIPS doesn't support that mode in
hardware or software.

Reviewers: slthakur

Differential Revision: https://reviews.llvm.org/D32794
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/builtins/CMakeLists.txt (diff)llvm-revision.src/compiler-rt/trunk/lib/builtins/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/builtins/int_types.h (diff)llvm-revision.src/compiler-rt/trunk/lib/builtins/int_types.h
The file was modified/compiler-rt/trunk/test/builtins/Unit/divxc3_test.c (diff)llvm-revision.src/compiler-rt/trunk/test/builtins/Unit/divxc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunstfti_test.c (diff)llvm-revision.src/compiler-rt/trunk/test/builtins/Unit/fixunstfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsxfti_test.c (diff)llvm-revision.src/compiler-rt/trunk/test/builtins/Unit/fixunsxfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixxfti_test.c (diff)llvm-revision.src/compiler-rt/trunk/test/builtins/Unit/fixxfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floattixf_test.c (diff)llvm-revision.src/compiler-rt/trunk/test/builtins/Unit/floattixf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatuntixf_test.c (diff)llvm-revision.src/compiler-rt/trunk/test/builtins/Unit/floatuntixf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulxc3_test.c (diff)llvm-revision.src/compiler-rt/trunk/test/builtins/Unit/mulxc3_test.c
Revision 302146 by jonpa:
[SystemZ]  Make copyPhysReg() add impl-use operands of super reg.

When a 128 bit COPY is lowered into two instructions, an impl-use operand of
the super-reg should be added to each new instruction in case one of the
sub-regs is undefined.

Review: Ulrich Weigand
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/SystemZ/copy-physreg-128.llllvm-revision.src/llvm/trunk/test/CodeGen/SystemZ/copy-physreg-128.ll