FailedChanges

Summary

  1. [BPF] Permit all user instructed offset relocatiions (details)
  2. [X86] Add test case for passing a v17i1 vector with avx512 (details)
  3. [X86] Break non-power of 2 vXi1 vectors into scalars for argument (details)
  4. [Support] Replace function with function_ref in writeFileAtomically. NFC (details)
  5. Revert "r372201: [Support] Replace function with function_ref in (details)
  6. [lldb] Print better diagnostics for user expressions and modules (details)
  7. [AArch64][DebugInfo] Do not recompute CalleeSavedStackSize (details)
  8. tsan: allow the Go runtime to return multiple stack frames for a single (details)
  9. [clang-tidy] Fix a potential infinite loop in (details)
  10. [Alignment] Add a None() member function (details)
  11. [AMDGPU] Allow FP inline constant in v_madak_f16 and v_fmaak_f16 (details)
  12. [cmake] Changes to get Windows self-host working with PGO (details)
  13. [lldb][CMake] Infer `Clang_DIR` if not passed explicitly (details)
  14. Fix -Wdocumentation "Unknown param" warning. NFCI. (details)
  15. Fix -Wdocumentation "@returns in a void function" warning. NFCI. (details)
  16. [lldb][CMake] Build LLDB.framework with -Wdocumentation in Xcode (details)
  17. Fix -Wdocumentation "empty paragraph passed to '\brief'" warning. NFCI. (details)
  18. Fix -Wdocumentation warning. NFCI. (details)
  19. [AST] CommentLexer - Remove (optional) Invalid parameter from (details)
  20. [mips] Reduce code duplication in the `loadAndAddSymbolAddress`. NFC (details)
  21. [mips] Mark tests for lw/sw expansion in PIC by a separate "check (details)
  22. [mips] Pass "xgot" flag as a subtarget feature (details)
  23. [lldb] Fix a test assertion after r372192 (details)
  24. Fix command-script-import.test on linux (details)
  25. [SDA] Don't stop divergence propagation at the IPD. (details)
  26. Fir TestAPILog for gcc (details)
  27. Revert r372082 "[Clang] Pragma vectorize_width() implies (details)
  28. Follow-up to r372209: Use single quotes for host_ldflags in the lit (details)
  29. [SimplifyLibCalls] fix crash with empty function name (PR43347) (details)
  30. Revert "[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize" (details)
  31. Recommit -r372180 (details)
  32. [Alignment][NFC] Use Align::None instead of 1 (details)
  33. [Alignment][NFC] Remove LogAlignment functions (details)
  34. [SampleFDO] Minimize performance impact when profile-sample-accurate is (details)
  35. unwind: remove a could of extraneous `else` (NFC) (details)
  36. [Alignment][NFC] Align(1) to Align::None() conversions (details)
  37. [OPENMP5.0]Allow multiple context selectors in the context selector (details)
  38. [InstSimplify] add tests for fma/fmuladd; NFC (details)
  39. [c++20] P1331R2: Allow transient use of uninitialized objects in (details)
  40. Data Dependence Graph Basics (details)
  41. gn build: Merge r372238 (details)
  42. [DDG] Break a cyclic dependency from Analysis to ScalarOpts (details)
  43. Revert "Revert "Implement std::condition_variable via (details)
  44. Fix compile-time regression caused by rL371928 (details)
  45. [NFC][InstCombine] More tests for PR42563 "Dropping pointless masking (details)
  46. [InstCombine] dropRedundantMaskingOfLeftShiftInput(): some cleanup (details)
  47. [clang-format][PR41964] Fix crash with SIGFPE when TabWidth is set to 0 (details)
  48. [Sema] Suppress -Wformat diagnostics for bool types when printed using (details)
  49. make -frewrite-includes also rewrite conditions in #if/#elif (details)
  50. [clang-format][PR41899] PointerAlignment: Left leads to useless space in (details)
Commit c68ee0ce70438c267f802b1c2f19cf011414c0c0 by yhs
[BPF] Permit all user instructed offset relocatiions
Currently, not all user specified relocations
(with clang intrinsic __builtin_preserve_access_index()) will turn into
relocations.
In the current implementation, a __builtin_preserve_access_index() chain
is turned into relocation only if the result of the clang intrinsic is
used in a function call or a nonzero offset computation of
getelementptr. For all other cases, the relocatiion request is ignored
and the __builtin_preserve_access_index() is turned into regular
getelementptr instructions. The main reason is to mimic bpf_probe_read()
requirement.
But there are other use cases where relocatable offset is generated but
not used for bpf_probe_read(). This patch relaxed previous constraints
when to generate relocations. Now, all user
__builtin_preserve_access_index() will have relocations generated.
Differential Revision: https://reviews.llvm.org/D67688
llvm-svn: 372198
The file was addedllvm/test/CodeGen/BPF/CORE/offset-reloc-end-load.ll
The file was addedllvm/test/CodeGen/BPF/CORE/offset-reloc-end-ret.ll
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
Commit 11082d53665df43899bac3ed516852301f005047 by craig.topper
[X86] Add test case for passing a v17i1 vector with avx512
llvm-svn: 372199
The file was modifiedllvm/test/CodeGen/X86/avx512-calling-conv.ll
Commit 93e1f73b6b2dc751a27568da5797cc2ba8436385 by craig.topper
[X86] Break non-power of 2 vXi1 vectors into scalars for argument
passing with avx512.
This generates worse code, but matches what is done for avx2 and
prevents crashes when more arguments are passed than we have registers
for.
llvm-svn: 372200
The file was modifiedllvm/test/CodeGen/X86/masked_store.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/masked_gather_scatter.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-calling-conv.ll
Commit edd5dfcd890dad921bb0c0edb1551597bd6124d7 by ibiryukov
[Support] Replace function with function_ref in writeFileAtomically. NFC
Summary: The latter is slightly more efficient and communicates the
intent of the API: writeFileAtomically does not own or copy the
callback, it merely calls it at some point.
Reviewers: jkorous
Reviewed By: jkorous
Subscribers: hiraditya, dexonsmith, jfb, llvm-commits, cfe-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67584
llvm-svn: 372201
The file was modifiedllvm/lib/Support/FileUtilities.cpp
The file was modifiedllvm/include/llvm/Support/FileUtilities.h
Commit 377aaa2ede8ce0bc73a85fb2f3b29cd07d79535c by ibiryukov
Revert "r372201: [Support] Replace function with function_ref in
writeFileAtomically. NFC"
function_ref causes calls to the function to be ambiguous, breaking
compilation.
Reverting for now.
llvm-svn: 372202
The file was modifiedllvm/include/llvm/Support/FileUtilities.h
The file was modifiedllvm/lib/Support/FileUtilities.cpp
Commit 1442efea9a045851a4c16908832f528574fb440e by Raphael Isemann
[lldb] Print better diagnostics for user expressions and modules
Summary: Currently our expression evaluators only prints very basic
errors that are not very useful when writing complex expressions.
For example, in the expression below the user made a type error, but
it's not clear from the diagnostic what went wrong:
```
(lldb) expr printf("Modulos are:", foobar%mo1, foobar%mo2, foobar%mo3)
error: invalid operands to binary expression ('int' and 'double')
```
This patch enables full Clang diagnostics in our expression evaluator.
After this patch the diagnostics for the expression look like this:
```
(lldb) expr printf("Modulos are:", foobar%mo1, foobar%mo2, foobar%mo3)
error: <user expression 1>:1:54: invalid operands to binary expression
('int' and 'float') printf("Modulos are:", foobar%mo1, foobar%mo2,
foobar%mo3)
                                              ~~~~~~^~~~
```
To make this possible, we now emulate a user expression file within our
diagnostics. This prevents that the user is exposed to our internal
wrapper code we inject.
Note that the diagnostics that refer to declarations from the debug
information (e.g. 'note' diagnostics pointing to a called function) will
not be improved by this as they don't have any source locations
associated with them, so caret or line printing isn't possible. We
instead just suppress these diagnostics as we already do with warnings
as they would otherwise just be a context message without any context
(and the original diagnostic in the user expression should be enough to
explain the issue).
Fixes rdar://24306342
Reviewers: JDevlieghere, aprantl, shafik, #lldb
Reviewed By: JDevlieghere, #lldb
Subscribers: usaxena95, davide, jingham, aprantl, arphaman, kadircet,
lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D65646
llvm-svn: 372203
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/objc/foundation/TestObjCMethods.py
The file was modifiedclang/include/clang/Basic/DiagnosticOptions.def
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/diagnostics/Makefile
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.h
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/diagnostics/TestExprDiagnostics.py
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
The file was modifiedclang/lib/Frontend/TextDiagnostic.cpp
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/diagnostics/main.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h
Commit dc2a7f5b39213bdc7574cabd3131ba0215c11e8e by sander.desmalen
[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize
This patch fixes a bug exposed by D65653 where a subsequent invocation
of `determineCalleeSaves` ends up with a different size for the callee
save area, leading to different frame-offsets in debug information.
In the invocation by PEI, `determineCalleeSaves` tries to determine
whether it needs to spill an extra callee-saved register to get an
emergency spill slot. To do this, it calls 'estimateStackSize' and
manually adds the size of the callee-saves to this. PEI then allocates
the spill objects for the callee saves and the remaining frame layout is
calculated accordingly.
A second invocation in LiveDebugValues causes estimateStackSize to
return the size of the stack frame including the callee-saves. Given
that the size of the callee-saves is added to this, these callee-saves
are counted twice, which leads `determineCalleeSaves` to believe the
stack has become big enough to require spilling an extra callee-save as
emergency spillslot. It then updates CalleeSavedStackSize with a larger
value.
Since CalleeSavedStackSize is used in the calculation of the frame
offset in getFrameIndexReference, this leads to incorrect offsets for
variables/locals when this information is recalculated after PEI.
Reviewers: omjavaid, eli.friedman, thegameg, efriedma
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D66935
llvm-svn: 372204
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was addedllvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/RegUsageInfoCollector.cpp
The file was modifiedllvm/test/DebugInfo/MIR/Mips/live-debug-values-reg-copy.mir
Commit d97865e530df4ad2ed9c2a999edf0a19ee567e79 by dvyukov
tsan: allow the Go runtime to return multiple stack frames for a single
PC
This fix allows tsan to report stack traces correctly even in the
presence of mid-stack inlining by the Go compiler.
See https://go-review.googlesource.com/c/go/+/195781 for the Go runtime
side of this change.
Author: randall77 (Keith Randall) Reviewed:
https://reviews.llvm.org/D67671 llvm-svn: 372205
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
Commit d94c7bf06e00582c07fc0e9d215710eb6866f79b by hokein
[clang-tidy] Fix a potential infinite loop in
readability-isolate-declaration check.
Reviewers: ilya-biryukov
Subscribers: xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67654
llvm-svn: 372206
The file was addedclang-tools-extra/test/clang-tidy/readability-isolate-declaration-no-infinite-loop.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/LexerUtils.h
Commit ef8ef1278af826f2489649c30b828e5542302eef by gchatelet
[Alignment] Add a None() member function
Summary: This will allow writing `if(A != llvm::Align::None())` which is
clearer than `if(A > llvm::Align(1))`
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: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67697
llvm-svn: 372207
The file was modifiedllvm/include/llvm/Support/Alignment.h
The file was modifiedllvm/unittests/Support/AlignmentTest.cpp
Commit 178611711122554be1e1a652cc151776cf1caca9 by tpr.llvm
[AMDGPU] Allow FP inline constant in v_madak_f16 and v_fmaak_f16
Differential Revision: https://reviews.llvm.org/D67680
Change-Id: Ic38f47cb2079c2c1070a441b5943854844d80a7c llvm-svn: 372208
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/twoaddr-fma.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/twoaddr-mad.mir
Commit a84b200e6048211ae74c511a1660fb2c2c5567da by russell.gallop
[cmake] Changes to get Windows self-host working with PGO
Fixes quoting of profile arguments to work on Windows Suppresses adding
profile arguments to linker flags when using lld-link Avoids
-fprofile-instr-use being added to rc.exe flags Removes duplicated
adding of -fprofile-instr-use to linker flags (since r355541) Move
handling LLVM_PROFDATA_FILE to HandleLLVMOptions.cmake
Differential Revision: https://reviews.llvm.org/D62063
llvm-svn: 372209
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
The file was modifiedllvm/CMakeLists.txt
Commit a206de8a0e6a657b5c5a48e894383590ef942fc7 by stefan.graenitz
[lldb][CMake] Infer `Clang_DIR` if not passed explicitly
Summary: If we only get `LLVM_DIR` and find Clang in the same provided
build-tree, automatically infer `Clang_DIR` like this:
``` LLVM_DIR = /path/to/build-llvm/lib/cmake/llvm Clang_DIR =
/paht/to/build-llvm/lib/cmake/clang
```
Reviewers: JDevlieghere, jingham, xiaobai, compnerd, labath
Reviewed By: JDevlieghere, labath
Subscribers: mgorny, lldb-commits, #lldb
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D65798
llvm-svn: 372210
The file was modifiedlldb/cmake/modules/LLDBStandalone.cmake
The file was modifiedlldb/docs/resources/build.rst
Commit 2dba9a2a9dfac822bd54f356fc96c60d85481c83 by llvm-dev
Fix -Wdocumentation "Unknown param" warning. NFCI.
llvm-svn: 372211
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 858d755c27216eea5c998f640885382025ca3031 by llvm-dev
Fix -Wdocumentation "@returns in a void function" warning. NFCI.
llvm-svn: 372212
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Commit 2c72b41757563eaf56f083f468f1b78545a9b549 by stefan.graenitz
[lldb][CMake] Build LLDB.framework with -Wdocumentation in Xcode
llvm-svn: 372213
The file was modifiedlldb/cmake/modules/LLDBFramework.cmake
Commit f8e3036522f3fba44d5e58caf6e29776614cd226 by llvm-dev
Fix -Wdocumentation "empty paragraph passed to '\brief'" warning. NFCI.
llvm-svn: 372214
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Commit 1541dd4841860589866ddf3befeac604fdd3d5ec by llvm-dev
Fix -Wdocumentation warning. NFCI.
llvm-svn: 372215
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Commit 4b8b7f249c627639d2c529d460e7f015fe47385f by llvm-dev
[AST] CommentLexer - Remove (optional) Invalid parameter from
getSpelling.
The static analyzer noticed that we were dereferencing it even when the
default null value was being used. Further investigation showed that we
never explicitly set the parameter so I've just removed it entirely.
llvm-svn: 372217
The file was modifiedclang/lib/AST/CommentLexer.cpp
The file was modifiedclang/include/clang/AST/CommentLexer.h
Commit 59d0cc82b5c0382c0d1768d43818ed4dda45ec56 by simon
[mips] Reduce code duplication in the `loadAndAddSymbolAddress`. NFC
llvm-svn: 372218
The file was modifiedllvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Commit 1ebdbad4751c5e0951974dd954a7e3b069ffd320 by simon
[mips] Mark tests for lw/sw expansion in PIC by a separate "check
prefix". NFC
That simplify adding XGOT tests later.
llvm-svn: 372219
The file was modifiedllvm/test/MC/Mips/mips-expansions.s
The file was modifiedllvm/test/MC/Mips/mips64-expansions.s
Commit 9c36de99caa5356c7ed8760ce43d8c70cd15b2e6 by simon
[mips] Pass "xgot" flag as a subtarget feature
We need "xgot" flag in the MipsAsmParser to implement correct expansion
of some pseudo instructions in case of using 32-bit GOT (XGOT).
MipsAsmParser does not have reference to MipsSubtarget but has a
reference to "feature bit set".
llvm-svn: 372220
The file was modifiedllvm/test/CodeGen/Mips/address-selection.ll
The file was modifiedllvm/test/CodeGen/Mips/biggot.ll
The file was modifiedclang/test/Driver/mips-integrated-as.s
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/mips-features.c
The file was modifiedllvm/lib/Target/Mips/MipsSubtarget.h
The file was modifiedllvm/test/CodeGen/Mips/mirparser/target-flags-pic-mxgot-tls.mir
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was modifiedclang/lib/Driver/ToolChains/Arch/Mips.cpp
The file was modifiedllvm/lib/Target/Mips/Mips.td
Commit 98c0dc39de24d85e3d7dca488babff952f35578c by krasimir
[lldb] Fix a test assertion after r372192
Summary: The `CHECK: frame:py: None` seems to have been a typo, causing
build bot failures:
```
# CHECK: frame:py: None
         ^
<stdin>:1:1: note: scanning from here
(lldb) command source -s 0
'E:/build_slave/lldb-x64-windows-ninja/build/tools/lldb\lit\lit-lldb-init'
^
<stdin>:23:1: note: possible intended match here
frame:py: No value
^
```
This update fixes the build bots.
--
Reviewers: bkramer
Reviewed By: bkramer
Differential Revision: https://reviews.llvm.org/D67702
llvm-svn: 372221
The file was modifiedlldb/lit/Commands/command-script-import.test
Commit fc1fd6bf9fcfac412b10b4193805ec5de0e8df57 by pavel
Fix command-script-import.test on linux
The test was expecting the value of "lldb.frame" to be None, because it
is cleared after each python interpreter session. However, this is not
true in the very first session, because lldb.py sets these values to
invalid objects (lldb.SBFrame(), etc.).
I have not investigated why is it that this test passes on darwin, but
my guess is that this is because we do extra work on darwin (loading the
objc runtime, etc), which causes us to enter the python interpreter
sooner.
This patch changes lldb.py to also initialize these values to None, as
that seems to make more sense. I also fixed some typos in the test while
I was in there.
llvm-svn: 372222
The file was modifiedlldb/lit/Commands/command-script-import.test
The file was modifiedlldb/scripts/lldb.swig
The file was modifiedlldb/lit/Commands/Inputs/frame.py
Commit c92e51d84bb78e4b32c229441af239f154daf75a by jay.foad
[SDA] Don't stop divergence propagation at the IPD.
Summary: This fixes B42473 and B42706.
This patch makes the SDA propagate branch divergence until the end of
the RPO traversal. Before, the SyncDependenceAnalysis propagated
divergence only until the IPD in rpo order. RPO is incompatible with
post dominance in the presence of loops. This made the SDA crash because
blocks were missed in the propagation.
Reviewers: foad, nhaehnle
Reviewed By: foad
Subscribers: jvesely, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65274
llvm-svn: 372223
The file was modifiedllvm/lib/Analysis/SyncDependenceAnalysis.cpp
The file was addedllvm/test/Analysis/DivergenceAnalysis/AMDGPU/b42473-r1-crash.ll
Commit 89ad7f7a1ba245fccf1f64f95a146ada6f6aaac6 by pavel
Fir TestAPILog for gcc
different compilers will put different things into __PRETTY_FUNCTION__.
For instance gcc will not put a " " in the "const char *" argument,
causing our regex matching to fail.
This patch relaxes the regexes in this test to account for this
difference.
llvm-svn: 372224
The file was modifiedlldb/packages/Python/lldbsuite/test/api/log/TestAPILog.py
Commit 858a1ae37d260ae454751bbf5d74742138f10676 by hans
Revert r372082 "[Clang] Pragma vectorize_width() implies
vectorize(enable)"
This broke the Chromium build. Consider the following code:
  float ScaleSumSamples_C(const float* src, float* dst, float scale, int
width) {
   float fsum = 0.f;
   int i;
#if defined(__clang__)
#pragma clang loop vectorize_width(4)
#endif
   for (i = 0; i < width; ++i) {
     float v = *src++;
     fsum += v * v;
     *dst++ = v * scale;
   }
   return fsum;
}
Compiling at -Oz, Clang  now warns:
  $ clang++ -target x86_64 -Oz -c /tmp/a.cc
/tmp/a.cc:1:7: warning: loop not vectorized: the optimizer was unable
to
perform the requested transformation; the transformation might be
disabled or
specified as part of an unsupported transformation ordering
[-Wpass-failed=transform-warning]
this suggests it's not actually enabling vectorization hard enough.
At -Os it asserts instead:
  $ build.release/bin/clang++ -target x86_64 -Os -c /tmp/a.cc
clang-10:
/work/llvm.monorepo/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:2734:
void
llvm::InnerLoopVectorizer::emitMemRuntimeChecks(llvm::Loop*,
llvm::BasicBlock*): Assertion `
!BB->getParent()->hasOptSize() && "Cannot emit memory checks when
optimizing for size"' failed.
Of course neither of these are what the developer expected from the
pragma.
> Specifying the vectorization width was supposed to implicitly enable
> vectorization, except that it wasn't really doing this. It was only
> setting the vectorize.width metadata, but not vectorize.enable.
>
> This should fix PR27643.
>
> Differential Revision: https://reviews.llvm.org/D66290
llvm-svn: 372225
The file was modifiedclang/lib/CodeGen/CGLoopInfo.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop-predicate.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop.cpp
Commit 40fdacbf4c9ab40fe41b9c4cb2a2d45fc57d4d0e by hans
Follow-up to r372209: Use single quotes for host_ldflags in the lit
config
HOST_LDFLAGS is now using double quotes, and that would break the lit
config file.
llvm-svn: 372226
The file was modifiedllvm/test/lit.site.cfg.py.in
Commit d46bf63fbbad623d73ec8c6889f9e8efa802ce40 by spatel
[SimplifyLibCalls] fix crash with empty function name (PR43347)
...and improve some variable names while here.
https://bugs.llvm.org/show_bug.cgi?id=43347
llvm-svn: 372227
The file was modifiedllvm/test/Transforms/InstCombine/sqrt.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit 2f1bba7fd0777477542f7f87d485994bf00453c3 by krasimir
Revert "[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize"
Summary: This reverts commit r372204.
This change causes build bot failures under msan:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/35236/steps/check-llvm%20msan/logs/stdio:
``` FAIL: LLVM :: DebugInfo/AArch64/asan-stack-vars.mir (19531 of 33579)
******************** TEST 'LLVM ::
DebugInfo/AArch64/asan-stack-vars.mir' FAILED ********************
Script:
--
: 'RUN: at line 1'; 
/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc -O0
-start-before=livedebugvalues -filetype=obj -o -
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
|
/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llvm-dwarfdump
-v - |
/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
-- Exit Code: 2
Command Output (stderr):
--
==62894==WARNING: MemorySanitizer: use-of-uninitialized-value
   #0 0xdfcafb in
llvm::AArch64FrameLowering::resolveFrameOffsetReference(llvm::MachineFunction
const&, int, bool, unsigned int&, bool, bool) const
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1658:3
   #1 0xdfae8a in resolveFrameIndexReference
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1580:10
   #2 0xdfae8a in
llvm::AArch64FrameLowering::getFrameIndexReference(llvm::MachineFunction
const&, int, unsigned int&) const
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1536
   #3 0x46642c1 in (anonymous
namespace)::LiveDebugValues::extractSpillBaseRegAndOffset(llvm::MachineInstr
const&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:582:21
   #4 0x4647cb3 in transferSpillOrRestoreInst
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:883:11
   #5 0x4647cb3 in process
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:1079
   #6 0x4647cb3 in (anonymous
namespace)::LiveDebugValues::ExtendRanges(llvm::MachineFunction&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:1361
   #7 0x463ac0e in (anonymous
namespace)::LiveDebugValues::runOnMachineFunction(llvm::MachineFunction&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:1415:18
   #8 0x4854ef0 in
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:73:13
   #9 0x53b0b01 in llvm::FPPassManager::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1648:27
   #10 0x53b15f6 in llvm::FPPassManager::runOnModule(llvm::Module&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1685:16
   #11 0x53b298d in runOnModule
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1750:27
   #12 0x53b298d in llvm::legacy::PassManagerImpl::run(llvm::Module&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1863
   #13 0x905f21 in compileModule(char**, llvm::LLVMContext&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/tools/llc/llc.cpp:601:8
   #14 0x8fdc4e in main
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/tools/llc/llc.cpp:355:22
   #15 0x7f67673632e0 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
   #16 0x882369 in _start
(/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc+0x882369)
MemorySanitizer: use-of-uninitialized-value
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1658:3
in
llvm::AArch64FrameLowering::resolveFrameOffsetReference(llvm::MachineFunction
const&, int, bool, unsigned int&, bool, bool) const Exiting error: -:
The file was not recognized as a valid object file FileCheck error: '-'
is empty. FileCheck command line:
/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
```
Reviewers: bkramer
Reviewed By: bkramer
Subscribers: sdardis, aprantl, kristof.beyls, jrtc27, atanasyan,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67710
llvm-svn: 372228
The file was modifiedllvm/test/DebugInfo/MIR/Mips/live-debug-values-reg-copy.mir
The file was modifiedllvm/lib/CodeGen/RegUsageInfoCollector.cpp
The file was removedllvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
Commit f124ab9fe11574b11d47397af70555766acf25f9 by erich.keane
Recommit -r372180
Commit message below, original caused the sphinx build bot to fail, this
one should fix it.
Create UsersManual section entitled 'Controlling Floating Point
Behavior'
Create a new section for documenting the floating point options. Move
all the floating point options into this section, and add new entries
for the floating point options that exist but weren't previously
described in the UsersManual.
Patch By: mibintc Differential Revision: https://reviews.llvm.org/D67517
llvm-svn: 372229
The file was modifiedclang/docs/UsersManual.rst
Commit 35b4b403b441c7105a58fcfe35748ccfd89faf53 by gchatelet
[Alignment][NFC] Use Align::None instead of 1
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: sdardis, nemanjai, hiraditya, kbarton, jrtc27, MaskRay,
atanasyan, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67704
llvm-svn: 372230
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
The file was modifiedllvm/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/MachineFrameInfo.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d4c4671aa70a3e18f97cd0fd00352a73b18b1d40 by gchatelet
[Alignment][NFC] Remove LogAlignment functions
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: arsenm, sdardis, nemanjai, jvesely, nhaehnle, hiraditya,
kbarton, jrtc27, MaskRay, atanasyan, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67620
llvm-svn: 372231
The file was modifiedllvm/lib/Target/X86/X86RetpolineThunks.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineBasicBlock.h
The file was modifiedllvm/lib/CodeGen/MIRPrinter.cpp
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCBranchSelector.cpp
The file was modifiedllvm/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBasicBlockInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
The file was modifiedllvm/lib/CodeGen/BranchRelaxation.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBasicBlockInfo.h
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZLongBranch.cpp
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
Commit 5f7e822dc7242c482bbcbcd84ac1bb6004b3b32f by wmi
[SampleFDO] Minimize performance impact when profile-sample-accurate is
enabled.
We can save memory and reduce binary size significantly by enabling
ProfileSampleAccurate. However when ProfileSampleAccurate is true,
function without sample will be regarded as cold and this could
potentially cause performance regression.
To minimize the potential negative performance impact, we want to be a
little conservative here saying if a function shows up in the profile,
no matter as outline instance, inline instance or call targets, treat
the function as not being cold. This will handle the cases such as most
callsites of a function are inlined in sampled binary (thus outline copy
don't get any sample) but not inlined in current build (because of
source code drift, imprecise debug information, or the callsites are all
cold individually but not cold accumulatively...), so that the outline
function showing up as cold in sampled binary will actually not be cold
after current build. After the change, such function will be treated as
not cold even profile-sample-accurate is enabled.
At the same time we lower the hot criteria of callsiteIsHot check when
profile-sample-accurate is enabled. callsiteIsHot is used to determined
whether a callsite is hot and qualified for early inlining. When
profile-sample-accurate is enabled, functions without profile will be
regarded as cold and much less inlining will happen in CGSCC inlining
pass, so we can worry less about size increase and be aggressive to
allow more early inlining to happen for warm callsites and it is helpful
for performance overall.
Differential Revision: https://reviews.llvm.org/D67561
llvm-svn: 372232
The file was addedllvm/test/Transforms/SampleProfile/Inputs/profsampleacc.extbinary.afdo
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was addedllvm/test/Transforms/SampleProfile/profile-sample-accurate.ll
Commit 8f16cc46f7d8983e0075ff698f23ffdb74fe7188 by Saleem Abdulrasool
unwind: remove a could of extraneous `else` (NFC)
Simplify `if return else return` by removing the unnecessary `else`.
llvm-svn: 372233
The file was modifiedlibunwind/src/libunwind.cpp
Commit 97a18dc70430a2dbd03ef794ca072c0e39033ff6 by gchatelet
[Alignment][NFC] Align(1) to Align::None() conversions
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: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67715
llvm-svn: 372234
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
The file was modifiedllvm/lib/CodeGen/MIRPrinter.cpp
Commit 0736f7f5d72f80a509f6913113ec9f9d5032c963 by a.bataev
[OPENMP5.0]Allow multiple context selectors in the context selector
sets.
According to OpenMP 5.0, context selector set might include several
context selectors, separated with commas. Patch fixes this problem.
llvm-svn: 372235
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.c
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
Commit e406a3f2d64ca3a047d7289add5932bd41e881a4 by spatel
[InstSimplify] add tests for fma/fmuladd; NFC
llvm-svn: 372236
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
Commit c667cdc850c2aa821ffeedbc08c24bc985c59edd by richard-llvm
[c++20] P1331R2: Allow transient use of uninitialized objects in
constant evaluation.
llvm-svn: 372237
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was modifiedclang/lib/AST/Interp/State.h
The file was modifiedclang/test/CXX/drs/dr14xx.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
Commit db800c267d8f3a4ce8dfc449b8d1d9c87708845a by bmahjour
Data Dependence Graph Basics
Summary: This is the first patch in a series of patches that will
implement data dependence graph in LLVM. Many of the ideas used in this
implementation are based on the following paper: D. J. Kuck, R. H. Kuhn,
D. A. Padua, B. Leasure, and M. Wolfe (1981). DEPENDENCE GRAPHS AND
COMPILER OPTIMIZATIONS. This patch contains support for a basic DDGs
containing only atomic nodes (one node for each instruction). The edges
are two fold: def-use edges and memory-dependence edges. The
implementation takes a list of basic-blocks and only considers
dependencies among instructions in those basic blocks. Any dependencies
coming into or going out of instructions that do not belong to those
basic blocks are ignored.
The algorithm for building the graph involves the following steps in
order:
  1. For each instruction in the range of basic blocks to consider,
create an atomic node in the resulting graph.
2. For each node in the graph establish def-use edges to/from other
nodes in the graph.
3. For each pair of nodes containing memory instruction(s) create
memory edges between them. This part of the algorithm goes through the
instructions in lexicographical order and creates edges in reverse order
if the sink of the dependence occurs before the source of it.
Authored By: bmahjour
Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert
Reviewed By: Meinersbur, fhahn, myhsu
Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya,
jfb, wuzish, llvm-commits, jsji, Whitney, etiotto
Tag: #llvm
Differential Revision: https://reviews.llvm.org/D65350
llvm-svn: 372238
The file was modifiedllvm/docs/SubsystemDocumentation.rst
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was addedllvm/include/llvm/Analysis/DDG.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was addedllvm/test/Analysis/DDG/basic-b.ll
The file was addedllvm/include/llvm/Analysis/DependenceGraphBuilder.h
The file was addedllvm/lib/Analysis/DependenceGraphBuilder.cpp
The file was addedllvm/docs/DependenceGraphs/uml_builder_pattern.png
The file was addedllvm/docs/DependenceGraphs/uml_nodes_and_edges.png
The file was addedllvm/lib/Analysis/DDG.cpp
The file was addedllvm/test/Analysis/DDG/basic-loopnest.ll
The file was addedllvm/docs/DependenceGraphs/index.rst
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was addedllvm/test/Analysis/DDG/basic-a.ll
The file was addedllvm/docs/DependenceGraphs/cycle_pi.png
The file was addedllvm/docs/DependenceGraphs/cycle.png
Commit fb6052c6516f7b9249d07e9e14418952a9fc005c by llvmgnsyncbot
gn build: Merge r372238
llvm-svn: 372239
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Commit 4b661f94e288b56f49579da2dea7a70cdf5b66e3 by benny.kra
[DDG] Break a cyclic dependency from Analysis to ScalarOpts
llvm-svn: 372240
The file was modifiedllvm/include/llvm/Analysis/DDG.h
Commit 85e26f56cbf3e1ae3aed155b817912f02172bbef by danalbert
Revert "Revert "Implement std::condition_variable via
pthread_cond_clockwait() where available""
With the fix for non-Linux.
This reverts commit c1c519d2f1a66dd2eeaa4c321d8d7b50f623eb71.
llvm-svn: 372242
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
The file was modifiedlibcxx/include/__mutex_base
The file was modifiedlibcxx/include/__config
Commit 1723364a68487c1c070ca58799a0a5c39adca85d by daniel_l_sanders
Fix compile-time regression caused by rL371928
Summary: Also fixup rL371928 for cases that occur on our out-of-tree
backend
There were still quite a few intermediate APInts and this caused the
compile time of MCCodeEmitter for our target to jump from 16s up to
~5m40s. This patch, brings it back down to ~17s by eliminating pretty
much all of them using two new APInt functions
(extractBitsAsZExtValue(), insertBits() but with a uint64_t). The exact
conditions for eliminating them is that the field extracted/inserted
must be <=64-bit which is almost always true.
Note: The two new APInt API's assume that APInt::WordSize is at least
64-bit because that means they touch at most 2 APInt words. They
statically assert that's true. It seems very unlikely that someone is
patching it to be smaller so this should be fine.
Reviewers: jmolloy
Reviewed By: jmolloy
Subscribers: hiraditya, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67686
llvm-svn: 372243
The file was modifiedllvm/utils/TableGen/CodeEmitterGen.cpp
The file was modifiedllvm/test/TableGen/BigEncoder.td
The file was modifiedllvm/unittests/ADT/APIntTest.cpp
The file was modifiedllvm/lib/Support/APInt.cpp
The file was modifiedllvm/include/llvm/ADT/APInt.h
Commit 8b719a3b8a4efc8f0b84400fcbb7cdfea6d3b2f3 by lebedev.ri
[NFC][InstCombine] More tests for PR42563 "Dropping pointless masking
before left shift"
For patterns c/d/e we too can deal with the pattern even if we can't
just drop the mask, we can just apply it afterwars:
  https://rise4fun.com/Alive/gslRa
llvm-svn: 372244
The file was addedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
The file was addedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.ll
The file was addedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
Commit ba4cad9039660d322937f7f44bcb30b4849c3d58 by lebedev.ri
[InstCombine] dropRedundantMaskingOfLeftShiftInput(): some cleanup
before upcoming patch
llvm-svn: 372245
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 79983be5a027c0ff8a7ef7a8f67481ce61efc523 by mydeveloperday
[clang-format][PR41964] Fix crash with SIGFPE when TabWidth is set to 0
and line starts with tab
Summary: clang-format 8.0 crashes with SIGFPE (floating point exception)
when formatting following file: app.cpp: void a() {
//line starts with '\t'
}
$ clang-format -style='{TabWidth: 0}' app.cpp
Reviewers: owenpan, klimek, russellmcc, timwoj
Reviewed By: klimek
Subscribers: cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D67670
llvm-svn: 372246
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
The file was modifiedclang/lib/Format/WhitespaceManager.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/Encoding.h
Commit 5741d19f046f24450ebda3a421a8ce49043ad2b8 by erik.pilkington
[Sema] Suppress -Wformat diagnostics for bool types when printed using
%hhd
Also, add a diagnostic under -Wformat for printing a boolean value as a
character.
rdar://54579473
Differential revision: https://reviews.llvm.org/D66856
llvm-svn: 372247
The file was addedclang/test/Sema/format-bool.c
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/lib/AST/FormatString.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 533434fc728ad457533fac2c8c4ef7b8906dd05e by l.lunak
make -frewrite-includes also rewrite conditions in #if/#elif
Those conditions may use __has_include, which needs to be rewritten. The
existing code has already tried to rewrite just __has_include, but it
didn't work with macro expansion, so e.g. Qt's
"#define QT_HAS_INCLUDE(x) __has_include(x)" didn't get handled
properly. Since the preprocessor run knows what each condition evaluates
to, just rewrite the entire condition. This of course requires that the
-frewrite-include pass has the same setup as the following compilation,
but that has always been the requirement.
Differential Revision: https://reviews.llvm.org/D63508
llvm-svn: 372248
The file was addedclang/test/Frontend/rewrite-includes-conditions.c
The file was modifiedclang/test/Frontend/rewrite-includes.c
The file was modifiedclang/test/Modules/preprocess-module.cpp
The file was modifiedclang/lib/Frontend/Rewrite/InclusionRewriter.cpp
Commit a767a0688b096f4c8188a484f08a3f77bab0ce73 by mydeveloperday
[clang-format][PR41899] PointerAlignment: Left leads to useless space in
lambda intializer expression
Summary: https://bugs.llvm.org/show_bug.cgi?id=41899
```auto lambda = [&a = a]() { a = 2; };```
is formatted as
```auto lambda = [& a = a]() { a = 2; };```
With an extra space if PointerAlignment is set to Left
> The space "& a" looks strange when there is no type in the lambda's
intializer expression. This can be worked around with by setting
"PointerAlignment: Right", but ideally "PointerAlignment: Left" would
not add a space in this case.
Reviewers: klimek, owenpan, krasimir, timwoj
Reviewed By: klimek
Subscribers: cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D67718
llvm-svn: 372249
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp