FailedChanges

Summary

  1. [LLDB] Only sent e-mail when the status changed
  2. [AArch64][GlobalISel] Support lowering variadic musttail calls This adds support for lowering variadic musttail calls. To do this, we have to... - Detect a musttail call in a variadic function before attempting to lower the call's formal arguments. This is done in the IRTranslator. - Compute forwarded registers in `lowerFormalArguments`, and add copies for those registers. - Restore the forwarded registers in `lowerTailCall`. Because there doesn't seem to be any nice way to wrap these up into the outgoing argument handler, the restore code in `lowerTailCall` is done separately. Also, irritatingly, you have to make sure that the registers don't overlap with any passed parameters. Otherwise, the scheduler doesn't know what to do with the extra copies and asserts. Add call-translator-variadic-musttail.ll to test this. This is pretty much the same as the X86 musttail-varargs.ll test. We didn't have as nice of a test to base this off of, but the idea is the same. Differential Revision: https://reviews.llvm.org/D68043
  3. [mips] Fix code indentation. NFC
  4. Add tests for rotate with demanded bits. NFC
  5. [InstCombine] add tests for negate disguised as mul; NFC
  6. [AMDGPU] SIFoldOperands should not fold register acrocc the EXEC definition Reviewers: rampitec Differential Revision: https://reviews.llvm.org/D67662
  7. [SSP] [3/3] cmpxchg and addrspacecast instructions can now trigger stack protectors. Fixes PR42238. Add test coverage for llvm.memset, as proxy for all llvm.mem* intrinsics. There are two issues here: (1) they could be lowered to a libc call, which could be intercepted, and do Bad Stuff; (2) with a non-constant size, they could overwrite the current stack frame. The test was mostly written by Matt Arsenault in r363169, which was later reverted; I tweaked what he had and added the llvm.memset part. Differential Revision: https://reviews.llvm.org/D67845
  8. [SSP] [2/3] Refactor an if/dyn_cast chain to switch on opcode. NFC Differential Revision: https://reviews.llvm.org/D67844
  9. [Clang] Use -main-file-name for source filename if not set -main-file-name is currently used to set the source name used in debug information. If the source filename is "-" and -main-file-name is set, then use the filename also for source_filename and ModuleID of the output. The argument is generally used outside the internal clang calls when running clang in a wrapper like icecc which gives the source via stdin but still wants to get a object file with the original source filename both in debug info and IR code. Patch by: the_jk (Joel Klinghed) Differential Revision: https://reviews.llvm.org/D67592
  10. [SSP] [1/3] Revert "StackProtector: Use PointerMayBeCaptured" "Captured" and "relevant to Stack Protector" are not the same thing. This reverts commit f29366b1f594f48465c5a2754bcffac6d70fd0b1. aka r363169. Differential Revision: https://reviews.llvm.org/D67842
  11. Fix breakage of sphinx builders. Sorry for leaving this broken over the weekend!
  12. Support MemoryLocation::UnknownSize in TargetLowering::IntrinsicInfo Summary: Previously IntrinsicInfo::size was an unsigned what can't represent the 64 bit value used by MemoryLocation::UnknownSize. Reviewers: jmolloy Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68219
  13. Correct function declarations; NFC. This header is included by C code so the functions need to have a prototype. Also, fix the function definitions so that they have C linkage rather than C++ linkage.
  14. [FileCheck] Remove implementation types from API Summary: Remove use of FileCheckPatternContext and FileCheckString concrete types from FileCheck API to allow moving it and the other implementation only only declarations into a private header file. Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68186
  15. [OPENMP] Fix comment, NFC.
  16. [llvm-exegesis][NFC] Move BenchmarkFailure to own file. Summary: And rename to exegesis::Failure, as it's used everytwhere. Reviewers: gchatelet Subscribers: tschuett, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68217
  17. [Alignment][NFC] Remove AllocaInst::setAlignment(unsigned) Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: jholewinski, arsenm, jvesely, nhaehnle, eraman, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D68141
  18. [ConstantRange] add helper function addWithNoWrap(). Differential Revision: https://reviews.llvm.org/D67339
  19. gn build: Merge r373202
  20. [llvm-exegesis][NFC] Refactor snippet file reading out of tool main. Summary: Add unit tests. Reviewers: gchatelet Subscribers: mgorny, tschuett, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68212
Revision 373227 by Jonas Devlieghere:
[LLDB] Only sent e-mail when the status changed
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmakezorg/zorg/jenkins/jobs/jobs/lldb-cmake
Revision 373226 by paquette:
[AArch64][GlobalISel] Support lowering variadic musttail calls

This adds support for lowering variadic musttail calls. To do this, we have
to...

- Detect a musttail call in a variadic function before attempting to lower the
  call's formal arguments. This is done in the IRTranslator.
- Compute forwarded registers in `lowerFormalArguments`, and add copies for
  those registers.
- Restore the forwarded registers in `lowerTailCall`.

Because there doesn't seem to be any nice way to wrap these up into the outgoing
argument handler, the restore code in `lowerTailCall` is done separately.

Also, irritatingly, you have to make sure that the registers don't overlap with
any passed parameters. Otherwise, the scheduler doesn't know what to do with the
extra copies and asserts.

Add call-translator-variadic-musttail.ll to test this. This is pretty much the
same as the X86 musttail-varargs.ll test. We didn't have as nice of a test to
base this off of, but the idea is the same.

Differential Revision: https://reviews.llvm.org/D68043
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cppllvm.src/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.cppllvm.src/lib/Target/AArch64/AArch64CallLowering.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/GlobalISel/call-translator-variadic-musttail.llllvm.src/test/CodeGen/AArch64/GlobalISel/call-translator-variadic-musttail.ll
Revision 373225 by atanasyan:
[mips] Fix code indentation. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.hllvm.src/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
Revision 373223 by deadalnix:
Add tests for rotate with demanded bits. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/rot16.llllvm.src/test/CodeGen/X86/rot16.ll
Revision 373222 by spatel:
[InstCombine] add tests for negate disguised as mul; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/mul.llllvm.src/test/Transforms/InstCombine/mul.ll
Revision 373221 by alex-t:
[AMDGPU] SIFoldOperands should not fold register acrocc the EXEC definition

      Reviewers: rampitec

      Differential Revision: https://reviews.llvm.org/D67662
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFoldOperands.cppllvm.src/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/bitreverse.llllvm.src/test/CodeGen/AMDGPU/bitreverse.ll
The file was added/llvm/trunk/test/CodeGen/AMDGPU/fold-over-exec.mirllvm.src/test/CodeGen/AMDGPU/fold-over-exec.mir
Revision 373220 by probinson:
[SSP] [3/3] cmpxchg and addrspacecast instructions can now
trigger stack protectors.  Fixes PR42238.

Add test coverage for llvm.memset, as proxy for all llvm.mem*
intrinsics. There are two issues here: (1) they could be lowered to a
libc call, which could be intercepted, and do Bad Stuff; (2) with a
non-constant size, they could overwrite the current stack frame.

The test was mostly written by Matt Arsenault in r363169, which was
later reverted; I tweaked what he had and added the llvm.memset part.

Differential Revision: https://reviews.llvm.org/D67845
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/StackProtector.cppllvm.src/lib/CodeGen/StackProtector.cpp
The file was added/llvm/trunk/test/CodeGen/X86/stack-protector-2.llllvm.src/test/CodeGen/X86/stack-protector-2.ll
Revision 373219 by probinson:
[SSP] [2/3] Refactor an if/dyn_cast chain to switch on opcode. NFC

Differential Revision: https://reviews.llvm.org/D67844
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/StackProtector.cppllvm.src/lib/CodeGen/StackProtector.cpp
Revision 373217 by tejohnson:
[Clang] Use -main-file-name for source filename if not set

-main-file-name is currently used to set the source name used in debug
information.

If the source filename is "-" and -main-file-name is set, then use the
filename also for source_filename and ModuleID of the output.

The argument is generally used outside the internal clang calls when
running clang in a wrapper like icecc which gives the source via stdin
but still wants to get a object file with the original source filename
both in debug info and IR code.

Patch by: the_jk (Joel Klinghed)

Differential Revision: https://reviews.llvm.org/D67592
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/CC1Options.tdclang.src/include/clang/Driver/CC1Options.td
The file was modified/cfe/trunk/lib/CodeGen/ModuleBuilder.cppclang.src/lib/CodeGen/ModuleBuilder.cpp
The file was added/cfe/trunk/test/Frontend/stdin-input.cclang.src/test/Frontend/stdin-input.c
Revision 373216 by probinson:
[SSP] [1/3] Revert "StackProtector: Use PointerMayBeCaptured"
"Captured" and "relevant to Stack Protector" are not the same thing.

This reverts commit f29366b1f594f48465c5a2754bcffac6d70fd0b1.
aka r363169.

Differential Revision: https://reviews.llvm.org/D67842
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/StackProtector.hllvm.src/include/llvm/CodeGen/StackProtector.h
The file was modified/llvm/trunk/lib/CodeGen/StackProtector.cppllvm.src/lib/CodeGen/StackProtector.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/stack-protector.llllvm.src/test/CodeGen/X86/stack-protector.ll
The file was removed/llvm/trunk/test/Transforms/StackProtectorllvm.src/test/Transforms/StackProtector
The file was modified/llvm/trunk/tools/opt/opt.cppllvm.src/tools/opt/opt.cpp
Revision 373215 by kpn:
Fix breakage of sphinx builders. Sorry for leaving this broken over the
weekend!
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rstllvm.src/docs/LangRef.rst
Revision 373214 by tberghammer:
Support MemoryLocation::UnknownSize in TargetLowering::IntrinsicInfo

Summary:
Previously IntrinsicInfo::size was an unsigned what can't represent the
64 bit value used by MemoryLocation::UnknownSize.

Reviewers: jmolloy

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68219
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/SelectionDAG.hllvm.src/include/llvm/CodeGen/SelectionDAG.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.hllvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cppllvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Revision 373213 by aaronballman:
Correct function declarations; NFC.

This header is included by C code so the functions need to have a prototype. Also, fix the function definitions so that they have C linkage rather than C++ linkage.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang-c/FatalErrorHandler.hclang.src/include/clang-c/FatalErrorHandler.h
The file was modified/cfe/trunk/tools/libclang/FatalErrorHandler.cppclang.src/tools/libclang/FatalErrorHandler.cpp
Revision 373211 by thopre:
[FileCheck] Remove implementation types from API

Summary:
Remove use of FileCheckPatternContext and FileCheckString concrete types
from FileCheck API to allow moving it and the other implementation only
only declarations into a private header file.

Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68186
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/FileCheck.hllvm.src/include/llvm/Support/FileCheck.h
The file was modified/llvm/trunk/lib/Support/FileCheck.cppllvm.src/lib/Support/FileCheck.cpp
The file was modified/llvm/trunk/unittests/CodeGen/GlobalISel/GISelMITest.hllvm.src/unittests/CodeGen/GlobalISel/GISelMITest.h
The file was modified/llvm/trunk/utils/FileCheck/FileCheck.cppllvm.src/utils/FileCheck/FileCheck.cpp
Revision 373210 by abataev:
[OPENMP] Fix comment, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cppclang.src/lib/Sema/SemaOpenMP.cpp
Revision 373209 by courbet:
[llvm-exegesis][NFC] Move BenchmarkFailure to own file.

Summary: And rename to exegesis::Failure, as it's used everytwhere.

Reviewers: gchatelet

Subscribers: tschuett, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68217
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/BenchmarkResult.cppllvm.src/tools/llvm-exegesis/lib/BenchmarkResult.cpp
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/BenchmarkRunner.cppllvm.src/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/BenchmarkRunner.hllvm.src/tools/llvm-exegesis/lib/BenchmarkRunner.h
The file was added/llvm/trunk/tools/llvm-exegesis/lib/Error.hllvm.src/tools/llvm-exegesis/lib/Error.h
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/Latency.cppllvm.src/tools/llvm-exegesis/lib/Latency.cpp
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/Latency.hllvm.src/tools/llvm-exegesis/lib/Latency.h
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/SnippetFile.cppllvm.src/tools/llvm-exegesis/lib/SnippetFile.cpp
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/SnippetGenerator.cppllvm.src/tools/llvm-exegesis/lib/SnippetGenerator.cpp
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/X86/Target.cppllvm.src/tools/llvm-exegesis/lib/X86/Target.cpp
The file was modified/llvm/trunk/tools/llvm-exegesis/llvm-exegesis.cppllvm.src/tools/llvm-exegesis/llvm-exegesis.cpp
Revision 373207 by gchatelet:
[Alignment][NFC] Remove AllocaInst::setAlignment(unsigned)

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: jholewinski, arsenm, jvesely, nhaehnle, eraman, hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D68141
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cppclang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cppclang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExpr.cppclang.src/lib/CodeGen/CGExpr.cpp
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cppclang.src/lib/CodeGen/TargetInfo.cpp
The file was modified/llvm/trunk/include/llvm/IR/Instructions.hllvm.src/include/llvm/IR/Instructions.h
The file was modified/llvm/trunk/lib/CodeGen/AtomicExpandPass.cppllvm.src/lib/CodeGen/AtomicExpandPass.cpp
The file was modified/llvm/trunk/lib/CodeGen/CodeGenPrepare.cppllvm.src/lib/CodeGen/CodeGenPrepare.cpp
The file was modified/llvm/trunk/lib/IR/Core.cppllvm.src/lib/IR/Core.cpp
The file was modified/llvm/trunk/lib/IR/Instructions.cppllvm.src/lib/IR/Instructions.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64StackTagging.cppllvm.src/lib/Target/AArch64/AArch64StackTagging.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULibCalls.cppllvm.src/lib/Target/AMDGPU/AMDGPULibCalls.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXLowerArgs.cppllvm.src/lib/Target/NVPTX/NVPTXLowerArgs.cpp
The file was modified/llvm/trunk/lib/Transforms/Coroutines/CoroFrame.cppllvm.src/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/Inliner.cppllvm.src/lib/Transforms/IPO/Inliner.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCasts.cppllvm.src/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cppllvm.src/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cppllvm.src/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/HWAddressSanitizer.cppllvm.src/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/GVNHoist.cppllvm.src/lib/Transforms/Scalar/GVNHoist.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/MemCpyOptimizer.cppllvm.src/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cppllvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/polly/trunk/lib/CodeGen/IslNodeBuilder.cppN/A
Revision 373205 by shchenz:
[ConstantRange] add helper function addWithNoWrap().
Differential Revision: https://reviews.llvm.org/D67339
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/ConstantRange.hllvm.src/include/llvm/IR/ConstantRange.h
The file was modified/llvm/trunk/lib/IR/ConstantRange.cppllvm.src/lib/IR/ConstantRange.cpp
The file was modified/llvm/trunk/unittests/IR/ConstantRangeTest.cppllvm.src/unittests/IR/ConstantRangeTest.cpp
Revision 373204 by gnsyncbot:
gn build: Merge r373202
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gnllvm.src/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/X86/BUILD.gnllvm.src/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/X86/BUILD.gn
Revision 373202 by courbet:
[llvm-exegesis][NFC] Refactor snippet file reading out of tool main.

Summary: Add unit tests.

Reviewers: gchatelet

Subscribers: mgorny, tschuett, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68212
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/CMakeLists.txtllvm.src/tools/llvm-exegesis/lib/CMakeLists.txt
The file was added/llvm/trunk/tools/llvm-exegesis/lib/SnippetFile.cppllvm.src/tools/llvm-exegesis/lib/SnippetFile.cpp
The file was added/llvm/trunk/tools/llvm-exegesis/lib/SnippetFile.hllvm.src/tools/llvm-exegesis/lib/SnippetFile.h
The file was modified/llvm/trunk/tools/llvm-exegesis/llvm-exegesis.cppllvm.src/tools/llvm-exegesis/llvm-exegesis.cpp
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/X86/CMakeLists.txtllvm.src/unittests/tools/llvm-exegesis/X86/CMakeLists.txt
The file was added/llvm/trunk/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cppllvm.src/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp