FailedChanges

Summary

  1. Re-land [mangle] Fix mangling where an extra mangle context is required. This reverts r374268 (git commit c34385d07c7d59447bf836b740f032235391d121) I think I reverted this by mistake, so I'm relanding it. While my bisect found this revision, I think the crashes I'm seeing locally must be environmental. Maybe the version of clang I'm using miscompiles tot clang.
  2. Revert [mangle] Fix mangling where an extra mangle context is required. This reverts r374200 (git commit fd18e94697c987d5f24e25aa4e27adaffff3cce4) Causes crashes just compiling `int main() {}` on my machine.
  3. [codeview] Try to avoid emitting .cv_loc with line zero Summary: Visual Studio doesn't like it while stepping. It kicks you out of the source view of the file being stepped through and tries to fall back to the disassembly view. Fixes PR43530 The fix is incomplete, because it's possible to have a basic block with no source locations at all. In this case, we don't emit a .cv_loc, but that will result in wrong stepping behavior in the debugger if the layout predecessor of the location-less BB has an unrelated source location. We could try harder to find a valid location that dominates or post-dominates the current BB, but in general it's a dataflow problem, and one still might not exist. I left a FIXME about this. As an alternative, we might want to consider having the middle-end check if its emitting codeview and get it to stop using line zero. Reviewers: akhuang Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68747
  4. Use -fdebug-compilation-dir to form absolute paths in coverage mappings This allows users to explicitly request relative paths with `-fdebug-compilation-dir .`. Fixes PR43614 Reviewers: vsk, arphaman Differential Revision: https://reviews.llvm.org/D68733
  5. [ASan] Do not misrepresent high value address dereferences as null dereferences Dereferences with addresses above the 48-bit hardware addressable range produce "invalid instruction" (instead of "invalid access") hardware exceptions (there is no hardware address decoding logic for those bits), and the address provided by this exception is the address of the instruction (not the faulting address). The kernel maps the "invalid instruction" to SEGV, but fails to provide the real fault address. Because of this ASan lies and says that those cases are null dereferences. This downgrades the severity of a found bug in terms of security. In the ASan signal handler, we can not provide the real faulting address, but at least we can try not to lie. rdar://50366151 Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D68676
  6. [CUDA][HIP] Fix host/device check with -fopenmp CUDA/HIP program may be compiled with -fopenmp. In this case, -fopenmp is only passed to host compilation to take advantages of multi-threads computation. CUDA/HIP and OpenMP both use Sema::DeviceCallGraph to store functions to be analyzed and remove them once they decide the function is sure to be emitted. CUDA/HIP and OpenMP have different functions to determine if a function is sure to be emitted. To check host/device correctly for CUDA/HIP when -fopenmp is enabled, there needs a unified logic to determine whether a function is to be emitted. The logic needs to be aware of both CUDA and OpenMP logic. Differential Revision: https://reviews.llvm.org/D67837
  7. Conservatively add volatility and atomic checks in a few places As background, starting in D66309, I'm working on support unordered atomics analogous to volatile flags on normal LoadSDNode/StoreSDNodes for X86. As part of that, I spent some time going through usages of LoadSDNode and StoreSDNode looking for cases where we might have missed a volatility check or need an atomic check. I couldn't find any cases that clearly miscompile - i.e. no test cases - but a couple of pieces in code loop suspicious though I can't figure out how to exercise them. This patch adds defensive checks and asserts in the places my manual audit found. If anyone has any ideas on how to either a) disprove any of the checks, or b) hit the bug they might be fixing, I welcome suggestions. Differential Revision: https://reviews.llvm.org/D68419
  8. gn build: Merge r374245
  9. [WebAssembly] Fix tests missed in rL374235
  10. [sanitizer_common] Remove OnPrint from Go build. Summary: Go now uses __sanitizer_on_print instead. Reviewers: vitalybuka, dvyukov Reviewed By: vitalybuka Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68621
  11. AMDGPU: Don't fold copies to physregs In a future patch, this will help cleanup m0 handling. The register coalescer handles copies from a register that materializes an immediate, but doesn't handle move immediates itself. The virtual register uses will often be allocated to the same register, so there end up being no real copy.
  12. AMDGPU/GlobalISel: Fix crash on wide constant load with VGPR pointer This was ignoring the register bank of the input pointer, and isUniformMMO seems overly aggressive. This will now conservatively assume a VGPR in cases where the incoming bank hasn't been determined yet (i.e. is from a loop phi).
  13. AMDGPU: Relax register classes used
  14. AMDGPU: Fix typos
  15. GlobalISel: Implement fewerElementsVector for G_BUILD_VECTOR Turn it into a G_CONCAT_VECTORS of G_BUILD_VECTOR.
  16. gn build: (manually) merge r374219
  17. [libc++][test] Miscellaneous MSVC cleanups * Silence unused-local-typedef warnings: `map.cons/assign_initializer_list.pass.cpp` (and the `set.cons` variant) uses a local typedef only within `LIBCPP_ASSERT`s, so clang diagnoses it as unused when testing non-libc++. * Add missing include: `c.math/abs.pass.cpp` uses `std::numeric_limits` but failed to `#include <limits>`. * Don't test non-type: A "recent" change to `meta.trans.other/underlying_type.pass.cpp` unconditionally tests the type `F` which is conditionally defined. * Use `hash<long long>` instead of `hash<short>` with `int` in `unordered_meow` deduction guide tests to avoid truncation warnings. * Convert `3.14` explicitly in `midpoint.float.pass` since MSVC incorrectly diagnoses `float meow = 3.14;` as truncating. Differential Revision: https://reviews.llvm.org/D68681
  18. [GISel] Refactor and split PatternMatchTest. NFC Split the ConstantFold part into a separate file and make it use the fixture GISelMITest.
  19. [InstCombine] Fix PR43617 Check for `nullptr` before inspecting composite function.
  20. [AMDGPU] Fixed dpp combine of VOP1 If original instruction did not have source modifiers they were not added to the new DPP instruction as well, even if needed. Differential Revision: https://reviews.llvm.org/D68729
  21. [IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperator Also update Clang to call Builder.CreateFNeg(...) for UnaryMinus. Differential Revision: https://reviews.llvm.org/D61675
  22. [WebAssembly] Make returns variadic Summary: This is necessary and sufficient to get simple cases of multiple return working with multivalue enabled. More complex cases will require block and loop signatures to be generalized to potentially be type indices as well. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68684
  23. [SampleFDO] Add indexing for function profiles so they can be loaded on demand in ExtBinary format Currently for Text, Binary and ExtBinary format profiles, when we compile a module with samplefdo, even if there is no function showing up in the profile, we have to load all the function profiles from the profile input. That is a waste of compile time. CompactBinary format profile has already had the support of loading function profiles on demand. In this patch, we add the support to load profile on demand for ExtBinary format. It will work no matter the sections in ExtBinary format profile are compressed or not. Experiment shows it reduces the time to compile a server benchmark by 30%. When profile remapping and loading function profiles on demand are both used, extra work needs to be done so that the loading on demand process will take the name remapping into consideration. It will be addressed in a follow-up patch. Differential Revision: https://reviews.llvm.org/D68601
Revision 374269 by rnk:
Re-land [mangle] Fix mangling where an extra mangle context is required.

This reverts r374268 (git commit c34385d07c7d59447bf836b740f032235391d121)

I think I reverted this by mistake, so I'm relanding it. While my bisect
found this revision, I think the crashes I'm seeing locally must be
environmental. Maybe the version of clang I'm using miscompiles tot
clang.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/ASTContext.hclang.src/include/clang/AST/ASTContext.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.hclang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/AST/ASTContext.cppclang.src/lib/AST/ASTContext.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLambda.cppclang.src/lib/Sema/SemaLambda.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/mangle-lambdas.cppclang.src/test/CodeGenCXX/mangle-lambdas.cpp
Revision 374268 by rnk:
Revert [mangle] Fix mangling where an extra mangle context is required.

This reverts r374200 (git commit fd18e94697c987d5f24e25aa4e27adaffff3cce4)

Causes crashes just compiling `int main() {}` on my machine.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/ASTContext.hclang.src/include/clang/AST/ASTContext.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.hclang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/AST/ASTContext.cppclang.src/lib/AST/ASTContext.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLambda.cppclang.src/lib/Sema/SemaLambda.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/mangle-lambdas.cppclang.src/test/CodeGenCXX/mangle-lambdas.cpp
Revision 374267 by rnk:
[codeview] Try to avoid emitting .cv_loc with line zero

Summary:
Visual Studio doesn't like it while stepping. It kicks you out of the
source view of the file being stepped through and tries to fall back to
the disassembly view.

Fixes PR43530

The fix is incomplete, because it's possible to have a basic block with
no source locations at all. In this case, we don't emit a .cv_loc, but
that will result in wrong stepping behavior in the debugger if the
layout predecessor of the location-less BB has an unrelated source
location. We could try harder to find a valid location that dominates or
post-dominates the current BB, but in general it's a dataflow problem,
and one still might not exist. I left a FIXME about this.

As an alternative, we might want to consider having the middle-end check
if its emitting codeview and get it to stop using line zero.

Reviewers: akhuang

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68747
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cppllvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was added/llvm/trunk/test/DebugInfo/COFF/line-zero.llllvm.src/test/DebugInfo/COFF/line-zero.ll
The file was modified/llvm/trunk/test/DebugInfo/COFF/local-variables.llllvm.src/test/DebugInfo/COFF/local-variables.ll
Revision 374266 by rnk:
Use -fdebug-compilation-dir to form absolute paths in coverage mappings

This allows users to explicitly request relative paths with
`-fdebug-compilation-dir .`.

Fixes PR43614

Reviewers: vsk, arphaman

Differential Revision: https://reviews.llvm.org/D68733
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CoverageMappingGen.cppclang.src/lib/CodeGen/CoverageMappingGen.cpp
The file was modified/cfe/trunk/lib/CodeGen/CoverageMappingGen.hclang.src/lib/CodeGen/CoverageMappingGen.h
The file was added/cfe/trunk/test/CoverageMapping/debug-dir.cppclang.src/test/CoverageMapping/debug-dir.cpp
Revision 374265 by yln:
[ASan] Do not misrepresent high value address dereferences as null dereferences

Dereferences with addresses above the 48-bit hardware addressable range
produce "invalid instruction" (instead of "invalid access") hardware
exceptions (there is no hardware address decoding logic for those bits),
and the address provided by this exception is the address of the
instruction (not the faulting address).  The kernel maps the "invalid
instruction" to SEGV, but fails to provide the real fault address.

Because of this ASan lies and says that those cases are null
dereferences.  This downgrades the severity of a found bug in terms of
security.  In the ASan signal handler, we can not provide the real
faulting address, but at least we can try not to lie.

rdar://50366151

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D68676
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/asan/asan_errors.hcompiler-rt.src/lib/asan/asan_errors.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.hcompiler-rt.src/lib/sanitizer_common/sanitizer_common.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_linux.cpp
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_mac.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_mac.cpp
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_report.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_win.cpp
The file was added/compiler-rt/trunk/test/asan/TestCases/Posix/high-address-dereference.ccompiler-rt.src/test/asan/TestCases/Posix/high-address-dereference.c
Revision 374263 by yaxunl:
[CUDA][HIP] Fix host/device check with -fopenmp

CUDA/HIP program may be compiled with -fopenmp. In this case, -fopenmp is only passed to host compilation
to take advantages of multi-threads computation.

CUDA/HIP and OpenMP both use Sema::DeviceCallGraph to store functions to be analyzed and remove them
once they decide the function is sure to be emitted. CUDA/HIP and OpenMP have different functions to determine
if a function is sure to be emitted.

To check host/device correctly for CUDA/HIP when -fopenmp is enabled, there needs a unified logic to determine
whether a function is to be emitted. The logic needs to be aware of both CUDA and OpenMP logic.

Differential Revision: https://reviews.llvm.org/D67837
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Sema/Sema.hclang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Sema/SemaCUDA.cppclang.src/lib/Sema/SemaCUDA.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cppclang.src/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cppclang.src/lib/Sema/SemaOpenMP.cpp
The file was added/cfe/trunk/test/CodeGenCUDA/openmp-target.cuclang.src/test/CodeGenCUDA/openmp-target.cu
The file was modified/cfe/trunk/test/OpenMP/declare_target_messages.cppclang.src/test/OpenMP/declare_target_messages.cpp
The file was modified/cfe/trunk/test/SemaCUDA/call-device-fn-from-host.cuclang.src/test/SemaCUDA/call-device-fn-from-host.cu
The file was modified/cfe/trunk/test/SemaCUDA/host-device-constexpr.cuclang.src/test/SemaCUDA/host-device-constexpr.cu
The file was added/cfe/trunk/test/SemaCUDA/openmp-static-func.cuclang.src/test/SemaCUDA/openmp-static-func.cu
The file was added/cfe/trunk/test/SemaCUDA/openmp-target.cuclang.src/test/SemaCUDA/openmp-target.cu
Revision 374261 by reames:
Conservatively add volatility and atomic checks in a few places

As background, starting in D66309, I'm working on support unordered atomics analogous to volatile flags on normal LoadSDNode/StoreSDNodes for X86.

As part of that, I spent some time going through usages of LoadSDNode and StoreSDNode looking for cases where we might have missed a volatility check or need an atomic check. I couldn't find any cases that clearly miscompile - i.e. no test cases - but a couple of pieces in code loop suspicious though I can't figure out how to exercise them.

This patch adds defensive checks and asserts in the places my manual audit found. If anyone has any ideas on how to either a) disprove any of the checks, or b) hit the bug they might be fixing, I welcome suggestions.

Differential Revision: https://reviews.llvm.org/D68419
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cppllvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 374260 by gnsyncbot:
gn build: Merge r374245
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gnllvm.src/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
Revision 374259 by tlively:
[WebAssembly] Fix tests missed in rL374235
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/MIR/WebAssembly/typed-immediate-operand-invalid0.mirllvm.src/test/CodeGen/MIR/WebAssembly/typed-immediate-operand-invalid0.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/WebAssembly/typed-immediate-operand-invalid1.mirllvm.src/test/CodeGen/MIR/WebAssembly/typed-immediate-operand-invalid1.mir
The file was modified/llvm/trunk/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cppllvm.src/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
Revision 374258 by morehouse:
[sanitizer_common] Remove OnPrint from Go build.

Summary: Go now uses __sanitizer_on_print instead.

Reviewers: vitalybuka, dvyukov

Reviewed By: vitalybuka

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68621
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_printf.cpp
Revision 374257 by arsenm:
AMDGPU: Don't fold copies to physregs

In a future patch, this will help cleanup m0 handling.

The register coalescer handles copies from a register that
materializes an immediate, but doesn't handle move immediates
itself. The virtual register uses will often be allocated to the same
register, so there end up being no real copy.
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/stack-pointer-offset-relative-frameindex.llllvm.src/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
Revision 374255 by arsenm:
AMDGPU/GlobalISel: Fix crash on wide constant load with VGPR pointer

This was ignoring the register bank of the input pointer, and
isUniformMMO seems overly aggressive.

This will now conservatively assume a VGPR in cases where the incoming
bank hasn't been determined yet (i.e. is from a loop phi).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
Revision 374254 by arsenm:
AMDGPU: Relax register classes used
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SILoadStoreOptimizer.cppllvm.src/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Revision 374253 by arsenm:
AMDGPU: Fix typos
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFixSGPRCopies.cppllvm.src/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
Revision 374252 by arsenm:
GlobalISel: Implement fewerElementsVector for G_BUILD_VECTOR

Turn it into a G_CONCAT_VECTORS of G_BUILD_VECTOR.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizerHelper.hllvm.src/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cppllvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir
Revision 374249 by nico:
gn build: (manually) merge r374219
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/utils/gn/secondary/clang/tools/clang-offload-wrapperllvm.src/utils/gn/secondary/clang/tools/clang-offload-wrapper
The file was added/llvm/trunk/utils/gn/secondary/clang/tools/clang-offload-wrapper/BUILD.gnllvm.src/utils/gn/secondary/clang/tools/clang-offload-wrapper/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang/tools/driver/BUILD.gnllvm.src/utils/gn/secondary/clang/tools/driver/BUILD.gn
Revision 374248 by caseycarter:
[libc++][test] Miscellaneous MSVC cleanups

* Silence unused-local-typedef warnings: `map.cons/assign_initializer_list.pass.cpp` (and the `set.cons` variant) uses a local typedef only within `LIBCPP_ASSERT`s, so clang diagnoses it as unused when testing non-libc++.
* Add missing include: `c.math/abs.pass.cpp` uses `std::numeric_limits` but failed to `#include <limits>`.
* Don't test non-type: A "recent" change to `meta.trans.other/underlying_type.pass.cpp` unconditionally tests the type `F` which is conditionally defined.
* Use `hash<long long>` instead of `hash<short>` with `int` in `unordered_meow` deduction guide tests to avoid truncation warnings.
* Convert `3.14` explicitly in `midpoint.float.pass` since MSVC incorrectly diagnoses `float meow = 3.14;` as truncating.

Differential Revision: https://reviews.llvm.org/D68681
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpplibcxx.src/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
The file was modified/libcxx/trunk/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpplibcxx.src/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
The file was modified/libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.pass.cpplibcxx.src/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.pass.cpp
The file was modified/libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/deduct.pass.cpplibcxx.src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/deduct.pass.cpp
The file was modified/libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/deduct.pass.cpplibcxx.src/test/std/containers/unord/unord.set/unord.set.cnstr/deduct.pass.cpp
The file was modified/libcxx/trunk/test/std/numerics/c.math/abs.pass.cpplibcxx.src/test/std/numerics/c.math/abs.pass.cpp
The file was modified/libcxx/trunk/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpplibcxx.src/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.pass.cpplibcxx.src/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.pass.cpp
Revision 374245 by mggm:
[GISel] Refactor and split PatternMatchTest. NFC

Split the ConstantFold part into a separate file and
make it use the fixture GISelMITest.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/CodeGen/GlobalISel/CMakeLists.txtllvm.src/unittests/CodeGen/GlobalISel/CMakeLists.txt
The file was added/llvm/trunk/unittests/CodeGen/GlobalISel/ConstantFoldingTest.cppllvm.src/unittests/CodeGen/GlobalISel/ConstantFoldingTest.cpp
The file was modified/llvm/trunk/unittests/CodeGen/GlobalISel/PatternMatchTest.cppllvm.src/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Revision 374243 by evandro:
[InstCombine] Fix PR43617

Check for `nullptr` before inspecting composite function.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cppllvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
Revision 374241 by rampitec:
[AMDGPU] Fixed dpp combine of VOP1

If original instruction did not have source modifiers they were
not added to the new DPP instruction as well, even if needed.

Differential Revision: https://reviews.llvm.org/D68729
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNDPPCombine.cppllvm.src/lib/Target/AMDGPU/GCNDPPCombine.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/dpp_combine.mirllvm.src/test/CodeGen/AMDGPU/dpp_combine.mir
Revision 374240 by mcinally:
[IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperator

Also update Clang to call Builder.CreateFNeg(...) for UnaryMinus.

Differential Revision: https://reviews.llvm.org/D61675
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGExprScalar.cppclang.src/lib/CodeGen/CGExprScalar.cpp
The file was modified/cfe/trunk/test/CodeGen/aarch64-neon-2velem.cclang.src/test/CodeGen/aarch64-neon-2velem.c
The file was modified/cfe/trunk/test/CodeGen/aarch64-neon-fma.cclang.src/test/CodeGen/aarch64-neon-fma.c
The file was modified/cfe/trunk/test/CodeGen/aarch64-neon-intrinsics.cclang.src/test/CodeGen/aarch64-neon-intrinsics.c
The file was modified/cfe/trunk/test/CodeGen/aarch64-neon-misc.cclang.src/test/CodeGen/aarch64-neon-misc.c
The file was modified/cfe/trunk/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.cclang.src/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c
The file was modified/cfe/trunk/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.cclang.src/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
The file was modified/cfe/trunk/test/CodeGen/aarch64-v8.2a-neon-intrinsics.cclang.src/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
The file was modified/cfe/trunk/test/CodeGen/arm-v8.2a-neon-intrinsics.cclang.src/test/CodeGen/arm-v8.2a-neon-intrinsics.c
The file was modified/cfe/trunk/test/CodeGen/arm_neon_intrinsics.cclang.src/test/CodeGen/arm_neon_intrinsics.c
The file was modified/cfe/trunk/test/CodeGen/avx512f-builtins.cclang.src/test/CodeGen/avx512f-builtins.c
The file was modified/cfe/trunk/test/CodeGen/avx512vl-builtins.cclang.src/test/CodeGen/avx512vl-builtins.c
The file was modified/cfe/trunk/test/CodeGen/builtins-ppc-vsx.cclang.src/test/CodeGen/builtins-ppc-vsx.c
The file was modified/cfe/trunk/test/CodeGen/complex-math.cclang.src/test/CodeGen/complex-math.c
The file was modified/cfe/trunk/test/CodeGen/exprs.cclang.src/test/CodeGen/exprs.c
The file was modified/cfe/trunk/test/CodeGen/fma-builtins.cclang.src/test/CodeGen/fma-builtins.c
The file was modified/cfe/trunk/test/CodeGen/fma4-builtins.cclang.src/test/CodeGen/fma4-builtins.c
The file was modified/cfe/trunk/test/CodeGen/fp16-ops.cclang.src/test/CodeGen/fp16-ops.c
The file was modified/cfe/trunk/test/CodeGen/zvector.cclang.src/test/CodeGen/zvector.c
The file was modified/cfe/trunk/test/CodeGen/zvector2.cclang.src/test/CodeGen/zvector2.c
The file was modified/llvm/trunk/include/llvm/IR/IRBuilder.hllvm.src/include/llvm/IR/IRBuilder.h
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.llllvm.src/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/divrem24-assume.llllvm.src/test/CodeGen/AMDGPU/divrem24-assume.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/cos-1.llllvm.src/test/Transforms/InstCombine/cos-1.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/fast-math.llllvm.src/test/Transforms/InstCombine/fast-math.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/fmul.llllvm.src/test/Transforms/InstCombine/fmul.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/select-crash.llllvm.src/test/Transforms/InstCombine/select-crash.ll
The file was modified/llvm/trunk/unittests/IR/InstructionsTest.cppllvm.src/unittests/IR/InstructionsTest.cpp
Revision 374235 by tlively:
[WebAssembly] Make returns variadic

Summary:
This is necessary and sufficient to get simple cases of multiple
return working with multivalue enabled. More complex cases will
require block and loop signatures to be generalized to potentially be
type indices as well.

Reviewers: aheejin, dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68684
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cppllvm.src/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cppllvm.src/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGStackify.cppllvm.src/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyFastISel.cppllvm.src/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cppllvm.src/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrControl.tdllvm.src/lib/Target/WebAssembly/WebAssemblyInstrControl.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInfo.tdllvm.src/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cppllvm.src/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyPeephole.cppllvm.src/lib/Target/WebAssembly/WebAssemblyPeephole.cpp
The file was modified/llvm/trunk/test/CodeGen/MIR/WebAssembly/int-type-register-class-name.mirllvm.src/test/CodeGen/MIR/WebAssembly/int-type-register-class-name.mir
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/atomic-fence.mirllvm.src/test/CodeGen/WebAssembly/atomic-fence.mir
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/eh-labels.mirllvm.src/test/CodeGen/WebAssembly/eh-labels.mir
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/explicit-locals.mirllvm.src/test/CodeGen/WebAssembly/explicit-locals.mir
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/function-info.mirllvm.src/test/CodeGen/WebAssembly/function-info.mir
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/llround-conv-i32.llllvm.src/test/CodeGen/WebAssembly/llround-conv-i32.ll
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/multivalue.llllvm.src/test/CodeGen/WebAssembly/multivalue.ll
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/reg-argument.mirllvm.src/test/CodeGen/WebAssembly/reg-argument.mir
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/reg-copy.mirllvm.src/test/CodeGen/WebAssembly/reg-copy.mir
The file was modified/llvm/trunk/test/DebugInfo/WebAssembly/dbg-value-move-clone.mirllvm.src/test/DebugInfo/WebAssembly/dbg-value-move-clone.mir
The file was modified/llvm/trunk/test/DebugInfo/WebAssembly/dbg-value-move-reg-stackify.mirllvm.src/test/DebugInfo/WebAssembly/dbg-value-move-reg-stackify.mir
Revision 374233 by wmi:
[SampleFDO] Add indexing for function profiles so they can be loaded on demand
in ExtBinary format

Currently for Text, Binary and ExtBinary format profiles, when we compile a
module with samplefdo, even if there is no function showing up in the profile,
we have to load all the function profiles from the profile input. That is a
waste of compile time.

CompactBinary format profile has already had the support of loading function
profiles on demand. In this patch, we add the support to load profile on
demand for ExtBinary format. It will work no matter the sections in ExtBinary
format profile are compressed or not. Experiment shows it reduces the time to
compile a server benchmark by 30%.

When profile remapping and loading function profiles on demand are both used,
extra work needs to be done so that the loading on demand process will take
the name remapping into consideration. It will be addressed in a follow-up
patch.

Differential Revision: https://reviews.llvm.org/D68601
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ProfileData/SampleProf.hllvm.src/include/llvm/ProfileData/SampleProf.h
The file was modified/llvm/trunk/include/llvm/ProfileData/SampleProfReader.hllvm.src/include/llvm/ProfileData/SampleProfReader.h
The file was modified/llvm/trunk/include/llvm/ProfileData/SampleProfWriter.hllvm.src/include/llvm/ProfileData/SampleProfWriter.h
The file was modified/llvm/trunk/lib/ProfileData/SampleProfReader.cppllvm.src/lib/ProfileData/SampleProfReader.cpp
The file was modified/llvm/trunk/lib/ProfileData/SampleProfWriter.cppllvm.src/lib/ProfileData/SampleProfWriter.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/SampleProfile.cppllvm.src/lib/Transforms/IPO/SampleProfile.cpp
The file was modified/llvm/trunk/test/Transforms/SampleProfile/Inputs/inline.extbinary.afdollvm.src/test/Transforms/SampleProfile/Inputs/inline.extbinary.afdo
The file was modified/llvm/trunk/test/Transforms/SampleProfile/Inputs/profsampleacc.extbinary.afdollvm.src/test/Transforms/SampleProfile/Inputs/profsampleacc.extbinary.afdo
The file was modified/llvm/trunk/unittests/ProfileData/SampleProfTest.cppllvm.src/unittests/ProfileData/SampleProfTest.cpp