FailedChanges

Summary

  1. [CodeComplete] Member completion for concept-constrained types. (details)
  2. Add manually overriding of the darwin SDK version (details)
  3. [X86][SSE] Simplify PTEST/TESTP tests for D76984 (details)
  4. [X86][SSE] Add additional PTEST/TESTP inversion tests (details)
  5. Make FunctionDecl::isDefined non-virtual, NFC (details)
  6. [llvm-symbolizer] Delete unneeded option name comments. NFC (details)
  7. [NFC] Do not run CGProfilePass when not using integrated assembler (details)
  8. [MLIR] Add simple runner utilities for timing (details)
  9. [lldb/API] Add missing reproducer instrumentation to GetHostPlatform. (details)
  10. Fix 7093b92a136b0696cf9cfc3f9822973ed886be5b (details)
  11. [InstCombine] Deduce attributes for aligned_alloc in InstCombine (details)
  12. [SystemZ] Allow %r0 in address context for AsmParser (details)
  13. Revert "[lldb/Reproducers] Always collect the whole dSYM in the reproducer" (details)
  14. [libc++] Make sure substitutions are expanded inside FILE_DEPENDENCIES (details)
  15. [MLIR][NFC] Move test/Transforms/lower-affine.mlir -> test/Conversion (details)
  16. Add an opque payload field to lldb::Type (NFC). (details)
  17. [libc++] Move a bunch of tests from .sh.cpp to .pass.cpp (details)
  18. [clang-format] Correct line breaks in C# generic type constraints (details)
  19. [intel-pt] Fix existing support in LLDB (details)
  20. [InlineFunction] Handle return attributes on call within inlined body (details)
Commit a76e68c9704fb5b3faf25bb8d51e405b5310ff08 by sam.mccall
[CodeComplete] Member completion for concept-constrained types.

Summary:
The basic idea is to walk through the concept definition, looking for
t.foo() where t has the constrained type.

In this patch:
- nested types are recognized and offered after ::
- variable/function members are recognized and offered after the correct
   dot/arrow/colon trigger
- member functions are recognized (anything directly called). parameter
   types are presumed to be the argument types. parameters are unnamed.
- result types are available when a requirement has a type constraint.
   These are printed as constraints, except same_as<T> which prints as T.

Not in this patch:
- support for merging/overloading when two locations describe the same member.
   The last one wins, for any given name. This is probably important...
- support for nested template members (T::x<int>)
- support for completing members of (instantiations of) template template parameters

Reviewers: nridge, saar.raz

Subscribers: mgrang, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73649
The file was modifiedclang/include/clang/Sema/Scope.h
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/lib/Sema/CodeCompleteConsumer.cpp
The file was addedclang/test/CodeCompletion/concepts.cpp
Commit cba15d1b5c5416402ca47ceec2acbbc62f760228 by v.churavy
Add manually overriding of the darwin SDK version

Summary:
When doing cross-compilation from Linux to MacOS we don't have
access to have access to `xcodebuild` and therefore need a way
to set the SDK version from the outside.

Fixes https://reviews.llvm.org/D68292#1853594 for me.

Reviewers: delcypher, yln

Reviewed By: delcypher

Subscribers: #julialang, mgorny, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D77026
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
Commit 8b925440d11b64108935f4fceb30d372caa68211 by llvm-dev
[X86][SSE] Simplify PTEST/TESTP tests for D76984

We don't need to use an allones for the second operand - test the general case.
The file was modifiedllvm/test/CodeGen/X86/combine-testpd.ll
The file was modifiedllvm/test/CodeGen/X86/combine-ptest.ll
The file was modifiedllvm/test/CodeGen/X86/combine-testps.ll
Commit 30436a1ce7f3d2de8aaaa5f559060682a54fd16e by llvm-dev
[X86][SSE] Add additional PTEST/TESTP inversion tests
The file was modifiedllvm/test/CodeGen/X86/combine-testps.ll
The file was modifiedllvm/test/CodeGen/X86/combine-testpd.ll
The file was modifiedllvm/test/CodeGen/X86/combine-ptest.ll
Commit 753a3245f7231ffd86b8af02e57da6ceb2ec5669 by rnk
Make FunctionDecl::isDefined non-virtual, NFC

This convenience wrapper was made virtual when it was introduced. I see
no overrides and no reason for it to be virtual, so make it non-virtual.
The file was modifiedclang/include/clang/AST/Decl.h
Commit 4799a1745b300710c800e4bfa55c6bb630edd58c by maskray
[llvm-symbolizer] Delete unneeded option name comments. NFC

Follow-up of D76733. The code documents itself.
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Commit 94d912296de21e965198ba1ddd1ca6714b3e4722 by zhizhouy
[NFC] Do not run CGProfilePass when not using integrated assembler

Summary:
CGProfilePass is run by default in certain new pass manager optimization pipeline. Assemblers other than llvm as (such as gnu as) cannot recognize the .cgprofile entries generated and emitted from this pass, causing build time error.

This patch adds new options in clang CodeGenOpts and PassBuilder options so that we can turn cgprofile off when not using integrated assembler.

Reviewers: Bigcheese, xur, george.burgess.iv, chandlerc, manojgupta

Reviewed By: manojgupta

Subscribers: manojgupta, void, hiraditya, dexonsmith, llvm-commits, tcwang, llozano

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D62627
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was addedllvm/test/Other/new-pm-cgprofile.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
Commit 7fca0e9797dccf44a1ae43328b94182d2f6188d9 by uday
[MLIR] Add simple runner utilities for timing

Add utilities print_flops, rtclock for timing / benchmarking. Add
mlir_runner_utils_dir test conf variable.

Signed-off-by: Uday Bondhugula <uday@polymagelabs.com>

Differential Revision: https://reviews.llvm.org/D76912
The file was modifiedmlir/test/lit.cfg.py
The file was addedmlir/test/mlir-cpu-runner/sgemm_naive_codegen.mlir
The file was modifiedmlir/test/lit.site.cfg.py.in
The file was modifiedmlir/lib/ExecutionEngine/RunnerUtils.cpp
The file was modifiedmlir/test/CMakeLists.txt
Commit 5c2bf577dcd34b0f4a20360d411e410d739b752f by Jonas Devlieghere
[lldb/API] Add missing reproducer instrumentation to GetHostPlatform.

SBPlatform::GetHostPlatform was missing the reproducer instrumentation
macros. Fixed by running lldb-instr on SBPlatform.cpp:

$ ./bin/lldb-instr ../llvm-project/lldb/source/API/SBPlatform.cpp
The file was modifiedlldb/source/API/SBPlatform.cpp
Commit cb0fa3234daf973c146b25ba8f9a95a40ee189e9 by tyker
Fix 7093b92a136b0696cf9cfc3f9822973ed886be5b
accidently pushed the wrong version of the patch.
The file was modifiedllvm/lib/IR/KnowledgeRetention.cpp
The file was modifiedllvm/include/llvm/IR/KnowledgeRetention.h
Commit dc817b2dea9f28e22470d1d74956f404fcec4e01 by uday
[InstCombine] Deduce attributes for aligned_alloc in InstCombine

Make InstCombine aware of the aligned_alloc library function.

Signed-off-by: Uday Bondhugula <uday@polymagelabs.com>

Depends on D76970.

Differential Revision: https://reviews.llvm.org/D76971
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/malloc-free-delete.ll
The file was modifiedllvm/test/Transforms/InstCombine/deref-alloc-fns.ll
Commit c726c920e04046da29e403d55aa9c0e466b13959 by ulrich.weigand
[SystemZ] Allow %r0 in address context for AsmParser

Registers used in any address (as well as in a few other contexts)
have special semantics when a "zero" register is used, which is
why the back-end defines extra register classes ADDR32, ADDR64 etc
to be used to prevent the register allocator from using %r0 there.

However, when writing assembler code "by hand", you sometimes need
to trigger that special semantics.  However, currently the AsmParser
will reject %r0 in those places.  In some cases it may be possible
to write that instruction differently - but in others it is currently
not possible at all.

This check in AsmParser simply seems overly strict, so this patch
just removes the check completely.  This brings the behaviour of
AsmParser in line with the GNU assembler as well.

Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=45092
The file was modifiedllvm/test/MC/SystemZ/regs-bad.s
The file was modifiedllvm/test/MC/SystemZ/tokens.s
The file was modifiedllvm/test/MC/SystemZ/insn-bad-z13.s
The file was modifiedllvm/test/MC/SystemZ/insn-bad-z14.s
The file was modifiedllvm/test/MC/SystemZ/insn-good.s
The file was modifiedllvm/test/MC/SystemZ/insn-bad.s
The file was modifiedllvm/test/MC/SystemZ/insn-bad-zEC12.s
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modifiedllvm/test/MC/SystemZ/insn-bad-z196.s
Commit 75cfd382201978615cca1c91c2d9f14f8b7af56d by ditaliano
Revert "[lldb/Reproducers] Always collect the whole dSYM in the reproducer"

This reverts commit 38ddb49e5242920e44a982cff7bbe2e86bd23a69 as it
breaks the macOS bots.
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
The file was modifiedlldb/source/Utility/Reproducer.cpp
The file was modifiedlldb/include/lldb/Utility/Reproducer.h
The file was removedlldb/test/Shell/Reproducer/TestDSYM.test
Commit 89fe36d08a9ad01f7f5a4a704a6f7382e26b32f9 by Louis Dionne
[libc++] Make sure substitutions are expanded inside FILE_DEPENDENCIES
The file was modifiedlibcxx/utils/libcxx/test/format.py
The file was modifiedlibcxx/test/libcxx/selftest/test.file_dependencies.sh.cpp
Commit 5f9bf3f656146d1987b471f3c1aaf2f13e8c385a by uday
[MLIR][NFC] Move test/Transforms/lower-affine.mlir -> test/Conversion

Move lower-affine.mlir from test/Transforms to
test/Conversion/AffineToStandard/. Other related NFC.

Signed-off-by: Uday Bondhugula <uday@polymagelabs.com>

Differential Revision: https://reviews.llvm.org/D77008
The file was modifiedmlir/docs/Passes.md
The file was modifiedmlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
The file was removedmlir/test/Transforms/lower-affine.mlir
The file was addedmlir/test/Conversion/AffineToStandard/lower-affine.mlir
Commit 7b06cb4523083206ad79776c80a564cd26bd8326 by Adrian Prantl
Add an opque payload field to lldb::Type (NFC).

Differential Revision: https://reviews.llvm.org/D75562
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Symbol/Type.cpp
The file was modifiedlldb/include/lldb/Symbol/Type.h
Commit 38aebe5c04ab4cb3695dc1bcc60b9a7b55215aff by Louis Dionne
[libc++] Move a bunch of tests from .sh.cpp to .pass.cpp

Using the ADDITIONAL_COMPILE_FLAGS annotation, it is possible to move
these tests from .sh.cpp to .pass.cpp, making them suitable for running
on remote hosts more easily.
The file was removedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp
The file was addedlibcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp
The file was removedlibcxx/test/libcxx/input.output/filesystems/convert_file_time.sh.cpp
The file was addedlibcxx/test/libcxx/experimental/language.support/support.coroutines/version.pass.cpp
The file was addedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp
The file was removedlibcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp
The file was removedlibcxx/test/libcxx/numerics/c.math/fdelayed-template-parsing.sh.cpp
The file was addedlibcxx/test/libcxx/numerics/c.math/fdelayed-template-parsing.pass.cpp
The file was removedlibcxx/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.sh.cpp
The file was addedlibcxx/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.pass.cpp
The file was addedlibcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp
The file was removedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp
The file was addedlibcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
The file was removedlibcxx/test/libcxx/experimental/language.support/support.coroutines/version.sh.cpp
The file was removedlibcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.sh.cpp
The file was addedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp
Commit d1b412ae389e4e30706c326ddec192ffb2e272cf by jbcoe
[clang-format] Correct line breaks in C# generic type constraints

Reviewers: krasimir

Reviewed By: krasimir

Subscribers: cfe-commits

Tags: #clang-format, #clang

Differential Revision: https://reviews.llvm.org/D77064
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/unittests/Format/FormatTestCSharp.cpp
The file was modifiedclang/lib/Format/ContinuationIndenter.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit 128c0d037d32c929c58d63fd7f324038430f73ba by walter erquinigo
[intel-pt] Fix existing support in LLDB

Summary:
//reviews.llvm.org/D33035 added in 2017 basic support for intel-pt. I
plan to improve it and use it to support reverse debugging.

I fixed a couple of issues and now this plugin works again:
1. pythonlib needed to be linked against it for the SB framework.
Linking was failing because of this
2. the decoding functionality was broken because it lacked handling for
instruction events. It seems old versions of libipt, the actual decoding
library, didn't require these, but modern version require it (you can
read more here
https://github.com/intel/libipt/blob/master/doc/howto_libipt.md). These
events signal overflows of the internal PT buffer in the CPU,
enable/disable events of tracing, async cpu events, interrupts, etc.

I ended up refactoring a little bit the code to reduce code duplication.

In another diff I'll implement some basic tests.

This is a simple execution of the library:

(lldb) target create "/data/users/wallace/rr-project/a.out"
Current executable set to '/data/users/wallace/rr-project/a.out' (x86_64).
(lldb) plugin load liblldbIntelFeatures.so
(lldb) b main
Breakpoint 1: where = a.out`main + 8 at test.cpp:10, address = 0x00000000004007fa
(lldb) b test.cpp:14
Breakpoint 2: where = a.out`main + 50 at test.cpp:14, address = 0x0000000000400824
(lldb) r
Process 902754 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
    frame #0: 0x00000000004007fa a.out`main at test.cpp:10
   7    }
   8
   9    int main() {
-> 10     int z = 0;
   11     for(int i = 0; i < 10000; i++)
   12       z += fun(z);
   13

Process 902754 launched: '/data/users/wallace/rr-project/a.out' (x86_64)
(lldb) processor-trace start all
(lldb) c
Process 902754 resuming
Process 902754 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 2.1
    frame #0: 0x0000000000400824 a.out`main at test.cpp:14
   11     for(int i = 0; i < 10000; i++)
   12       z += fun(z);
   13
-> 14     cout << z<< endl;
   15     return 0;
   16   }

(lldb) processor-trace show-instr-log
thread #1: tid=902754
    0x7ffff72299b9 <+9>: addq   $0x8, %rsp
    0x7ffff72299bd <+13>: retq
    0x4007ed <+16>: addl   $0x1, %eax
    0x4007f0 <+19>: leave
    0x4007f1 <+20>: retq
    0x400814 <+34>: addl   %eax, -0x4(%rbp)
    0x400817 <+37>: addl   $0x1, -0x8(%rbp)
    0x40081b <+41>: cmpl   $0x270f, -0x8(%rbp)       ; imm = 0x270F
    0x400822 <+48>: jle    0x40080a                  ; <+24> at test.cpp:12
    0x400822 <+48>: jle    0x40080a                  ; <+24> at test.cpp:12
```

Subscribers: mgorny, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D76872
The file was modifiedlldb/tools/intel-features/CMakeLists.txt
The file was modifiedlldb/tools/intel-features/intel-pt/Decoder.h
The file was modifiedlldb/tools/intel-features/intel-pt/Decoder.cpp
Commit 28518d9ae39ff5c6044e230d58b6ae28b0252cae by anna
[InlineFunction] Handle return attributes on call within inlined body

Consider a callee function that has a call (C) within it which feeds
into the return.  When we inline that callee into a callsite that has
return attributes, we can backward propagate those attributes to the
call (C) within that inlined callee body.

This is safe to do so only if we can guarantee transfer of execution to
successor in the window of instructions between return value (i.e. the
call C) and the return instruction.

See added test cases.

Reviewed-By: reames, jdoerfert

Differential Revision: https://reviews.llvm.org/D76140
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedclang/test/CodeGen/builtins-systemz-zvector.c
The file was modifiedclang/test/CodeGen/rot-intrinsics.c
The file was addedllvm/test/Transforms/Inline/ret_attr_update.ll
The file was modifiedclang/test/CodeGen/movbe-builtins.c
The file was modifiedclang/test/CodeGen/builtins-systemz-zvector2.c