FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [XCOFF][AIX] Differentiate usage of label symbol and csect symbol (details)
  2. gn build: Merge 0dc0572b48e (details)
  3. [llvm-xray] Add AArch64 to llvm-xray extract (details)
  4. [clang-format] Ensure dump_format_style.py can generate (details)
  5. Hashing - fix uninitialized variable warnings. NFCI. (details)
  6. ReplacementItem - fix uninitialized variable warning. NFCI. (details)
  7. Timer - fix uninitialized variable warnings. NFCI. (details)
  8. directory_entry - fix uninitialized variable warning. NFCI. (details)
  9. OutputStream - fix static analyzer warnings. NFCI.  - uninitialized (details)
  10. find_interesting_reviews.py: avoid crash on non-ascii data. (details)
  11. [APInt] Add saturating truncation methods (details)
  12. [ConstantRange] Add umul_sat()/smul_sat() methods (details)
  13. [NFC] ConstantRange::subWithNoWrap(): fixup comment (details)
  14. [lldb] Skip parts of TestCallOverriddenMethod.py on Linux (details)
  15. libclc: Drop travis (details)
  16. libclc: Drop the old python based build system (details)
  17. YAMLTraits.h - fix uninitialized variable warning. NFCI. (details)
  18. raw_ostream - fix static analyzer warnings. NFCI.  - uninitialized (details)
  19. [PowerPC] Remove redundant CRSET/CRUNSET in custom lowering of known CR (details)
  20. [CostModel] Fixed isExtractSubvectorMask for undef index off end (details)
  21. [LICM] Hoisting of widenable conditions out of loops (details)
  22. [LICM] Support hosting of dynamic allocas out of loops (details)
  23. Redeclare Objective-C property accessors inside the ObjCImplDecl in (details)
  24. CrashRecoveryContextCleanup - fix uninitialized variable warnings. NFCI. (details)
  25. Obj2YamlError - fix uninitialized variable warning. NFCI. (details)
  26. TimeTraceProfiler - fix uninitialized variable warning. NFCI. (details)
  27. PODSmallVector - fix uninitialized variable warnings. NFCI. (details)
  28. [LVI] Normalize pointer behavior (details)
  29. Adapt LLDB to clang API change in ObjCMethodDecl::create(). (details)
  30. Fix two typos in one test name, three days before its 10th birthday! (details)
  31. [lldb] Prevent Asan/SIP workaround from affecting Python in (details)
  32. [lldb] Make Asan/SIP workaround work for Python 3 (details)
  33. Revert "[LVI] Normalize pointer behavior" (details)
  34. remove redundant LLVM version from version string when setting (details)
  35. [JumpThreading] Fix a comment typo (NFC) (details)
  36. [ELF] Suggest extern "C" when an undefined reference is mangled while (details)
  37. [ELF] Suggest extern "C" when the definition is mangled while an (details)
  38. Properly propagate is_variadic. (details)
  39. [PowerPC][compiler-rt][builtins]Fix __fixunstfti builtin on PowerPC (details)
  40. [cmake] Remove SVN support from VersionFromVCS.cmake (details)
  41. [ThinLTO] Fix bug when importing writeonly variables (details)
  42. Reapply "Fix crash on switch conditions of non-integer types in (details)
  43. [cmake] Remove LLVM_{BUILD,LINK}_LLVM_DYLIB options on Windows (details)
  44. [clang] Add VFS support for sanitizers' blacklists (details)
  45. Reapply [LVI] Normalize pointer behavior (details)
  46. [ELF] Fix stack-use-after-scope after D69592 and 69650 (details)
  47. Revert "[LV] Apply sink-after & interleave-groups as VPlan (details)
  48. [AArch64][X86] Don't assume __powidf2 is available on Windows. (details)
  49.     [DDG] Data Dependence Graph - Pi Block (details)
  50. gn build: Merge f0af11d86f8 (details)
  51. [clang-format] NFC allow Format.h to be clang-formatted but still (details)
  52. DebugInfo: Use separate macinfo contributions for each CU (details)
  53. Reland "[clang] Report sanitizer blacklist as a dependency in cc1" (details)
  54. Reland "[clang] Report sanitizer blacklist as a dependency in cc1" (details)
  55. [clang] Fix -fsanitize-system-blacklist processing in cc1 (details)
  56. [llvm-xray] Add basic test for AArch64 support (details)
  57. Basic: fix FileManager invalidation issue for file redirect (details)
  58. Add a testcase for .dSYM path remapping dictionaries. (details)
  59. Don't attempt to upgrade debug-info-tests to Python3. (details)
  60. [TargetLowering][DAGCombine][MSP430] Shift Amount Threshold in (details)
  61. Revert "Reapply "Fix crash on switch conditions of non-integer types in (details)
  62. clang-format: Add to the release notes the new --dry-run/-n option (details)
  63. Revert "Reland "[clang] Report sanitizer blacklist as a dependency in (details)
  64. Reland "[compiler-rt] Fix tests after 03b84e4f6d0" (details)
  65. clang-format: refresh the list of options (details)
  66. [www] More HTTPS and outdated link fixes. (details)
  67. [MC] Emit unused undefined symbol even if its binding is not set (details)
  68. [clangd] NFC, reuse the source manager variable in the RawStringLiteral (details)
  69. Debug Info: Nest Objective-C property function decls inside their (details)
  70. NVPTX: Don't insert an extra empty line at the end of the last section. (details)
  71. llvm-ranlib/nm: Don't print usage message except for usage errors (details)
  72. DebugInfo: Do not create a debug_macinfo section if no CUs have (details)
  73. DebugInfo: Remove redundant conditionals/checks from macro info emission (details)
  74. Test case to verify that lldb falls back to p/P if g is unsupported and (details)
  75. ThinLTO : Import always_inline functions irrespective of the threshold (details)
  76. [clang][IFS] Adds support for more decl types in clang interface stubs. (details)
  77. [clang][IFS][test] Fixing buildbot test fails for clang-ifs. (details)
  78. Revert "Add a testcase for .dSYM path remapping dictionaries." (details)
  79. Temporarily change the default for use-g-packet-for-reading to false, (details)
  80. [analyzer] Nullability: Don't infer nullable when passing as nullable (details)
  81. [analyzer] Fix skipping the call during inlined defensive check (details)
Commit 0dc0572b48ed889e6f750fd65b876a0420805377 by daltenty
[XCOFF][AIX] Differentiate usage of label symbol and csect symbol
Summary:
We are using symbols to represent label and csect interchangeably
before, and that could be a problem. There are cases we would need to
add storage mapping class to the symbol if that symbol is actually the
name of a csect, but it's hard for us to figure out whether that symbol
is a label or csect.
This patch intend to do the following:
   1. Construct a QualName (A name include the storage mapping class)
      MCSymbolXCOFF for every MCSectionXCOFF.
   2. Keep a pointer to that QualName inside of MCSectionXCOFF.
   3. Use that QualName whenever we need a symbol refers to that
      MCSectionXCOFF.
   4. Adapt the snowball effect from the above changes in
      XCOFFObjectWriter.cpp.
Reviewers: xingxue, DiggerLin, sfertile, daltenty,
hubert.reinterpretcast
Reviewed By: DiggerLin, daltenty
Subscribers: wuzish, nemanjai, mgorny, hiraditya, kbarton, jsji,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69633
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedllvm/lib/MC/MCContext.cpp
The file was modifiedllvm/include/llvm/MC/MCAsmInfoXCOFF.h
The file was modifiedllvm/lib/MC/MCSectionXCOFF.cpp
The file was modifiedllvm/lib/MC/MCAsmInfoXCOFF.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-lcomm.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/include/llvm/MC/MCAsmInfo.h
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was modifiedllvm/include/llvm/BinaryFormat/XCOFF.h
The file was modifiedllvm/include/llvm/MC/MCXCOFFStreamer.h
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
The file was addedllvm/lib/BinaryFormat/XCOFF.cpp
The file was modifiedllvm/lib/BinaryFormat/CMakeLists.txt
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
The file was modifiedllvm/lib/MC/MCXCOFFStreamer.cpp
The file was modifiedllvm/lib/MC/MCAsmInfo.cpp
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
The file was modifiedllvm/include/llvm/MC/MCSectionXCOFF.h
Commit f96de257395a806f49ab4e7b23d3ff274a4ae787 by llvmgnsyncbot
gn build: Merge 0dc0572b48e
The file was modifiedllvm/utils/gn/secondary/llvm/lib/BinaryFormat/BUILD.gn
Commit 1d321434a202b12b3afe6f305262b930bbf05665 by hiraditya
[llvm-xray] Add AArch64 to llvm-xray extract
This required adding support for resolving R_AARCH64_ABS64 relocations
to get accurate addresses for function names to resolve.
Authored by: ianlevesque (Ian Levesque) Reviewers: dberris, phosek,
smeenai, tetsuo-cpp Differential Revision:
https://reviews.llvm.org/D69967
The file was modifiedllvm/lib/XRay/InstrumentationMap.cpp
Commit eb00839c6eb4f5dc6adadc83be93f32bd6143362 by paul_hoad
[clang-format] Ensure dump_format_style.py can generate
ClangFormatStyleOptions.rst without manual intervention
Summary: This revision is the last in a series of revisions to return
`clang/doc/tools/dump_format_style.py` to be being able to parse
Format.h without needing to manually merge the
ClangFormatStyleOptions.rst file.
The final modification to dump_format_style.py is needed following the
addition of a  nested enumeration inside a nested structure following
the introduction of {D68296}
Prior  related revisions will allow for a fully clang-formatted
`clang/include/clang/Format/Format.h` to once again be used at the
source.
{D69951}
{D69433}
{D69404}
Reviewers: mitchell-stellar, klimek, sammccall, owenpan
Reviewed By: mitchell-stellar
Subscribers: cfe-commits
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D70003
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/docs/tools/dump_format_style.py
Commit 483ed6460dedbbfb3582a3fd95d70ea0aade9a74 by llvm-dev
Hashing - fix uninitialized variable warnings. NFCI.
The file was modifiedllvm/include/llvm/ADT/Hashing.h
Commit f6fa57cf5751fdd506dcd82fd8a170b2543798f7 by llvm-dev
ReplacementItem - fix uninitialized variable warning. NFCI.
The file was modifiedllvm/include/llvm/Support/FormatVariadic.h
Commit b2a1593f03b6c0d681b75fbbd1513d691722dbee by llvm-dev
Timer - fix uninitialized variable warnings. NFCI.
The file was modifiedllvm/include/llvm/Support/Timer.h
Commit c9021d749e2570ef43b8dc72e607d21ef756b455 by llvm-dev
directory_entry - fix uninitialized variable warning. NFCI.
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
Commit 43eeaa147f154b1e9bf241d34b14722a3b305f30 by llvm-dev
OutputStream - fix static analyzer warnings. NFCI.  - uninitialized
variables  - make getBufferCapacity() const
The file was modifiedllvm/include/llvm/Demangle/Utility.h
Commit 1f592ecf82381f8689c4a4c6c863591679b2f665 by kristof.beyls
find_interesting_reviews.py: avoid crash on non-ascii data.
The file was modifiedllvm/utils/Reviewing/find_interesting_reviews.py
Commit 9ca363d89c103b06b986f87c0eaf3e8a00b06947 by lebedev.ri
[APInt] Add saturating truncation methods
Summary: The signed one is needed for implementation of
`ConstantRange::smul_sat()`, unsigned is for completeness only.
Reviewers: nikic, RKSimon, spatel
Reviewed By: nikic
Subscribers: hiraditya, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69993
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 5a9fd76d2f7cd831cb02a33ea6a267256e37f69c by lebedev.ri
[ConstantRange] Add umul_sat()/smul_sat() methods
Summary: To be used in `ConstantRange::mulWithNoOverflow()`, may in
future be useful for when saturating shift/mul ops are added.
These are precise as far as i can tell.
I initially though i will need `APInt::[us]mul_sat()` for these, but it
turned out much simpler to do what `ConstantRange::multiply()` does -
perform multiplication in twice the bitwidth, and then truncate. Though
here we want saturating signed truncation.
Reviewers: nikic, reames, spatel
Reviewed By: nikic
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69994
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
Commit 7dddfa2a9c14d9627d76474c05542a5675c7716e by lebedev.ri
[NFC] ConstantRange::subWithNoWrap(): fixup comment
The file was modifiedllvm/lib/IR/ConstantRange.cpp
Commit cdc38c93fa22f0bee1bd7b84a27c32abb4a3aba8 by Raphael Isemann
[lldb] Skip parts of TestCallOverriddenMethod.py on Linux
The function call and the constructor call fail now several Linux bots
(Swift CI, my own bot and Stella's Debian system), so let's disable the
relevant test parts until we can figure out why it is failing.
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py
Commit 00eca0bf0bd9a70735a4d6d39ab3776c858d915c by jano.vesely
libclc: Drop travis
It only works for standalone repos.
Reviewer: tstellar Differential Revision:
https://reviews.llvm.org/D69965
The file was removedlibclc/.travis.yml
Commit d6e0e6d255a7d54a3873b7a5d048eee00ef6bb6d by jano.vesely
libclc: Drop the old python based build system
Reviewer: tstellar Differential Revision:
https://reviews.llvm.org/D69966
The file was removedlibclc/configure.py
The file was removedlibclc/build/ninja_syntax.py
The file was removedlibclc/build/metabuild.py
Commit c8f0bb40214c5671e90b91e39c3857357a6ca918 by llvm-dev
YAMLTraits.h - fix uninitialized variable warning. NFCI.
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h
Commit 9ee76ab37f1efa91432ec4efcba05819ccaeb2b1 by llvm-dev
raw_ostream - fix static analyzer warnings. NFCI.  - uninitialized
variables  - make BufferKind a scoped enum class
The file was modifiedllvm/lib/Support/raw_ostream.cpp
The file was modifiedllvm/include/llvm/Support/raw_ostream.h
Commit a3db9c08ebdf1f39ed89f4a7afa09fc153cf98c5 by yi-hong.lyu
[PowerPC] Remove redundant CRSET/CRUNSET in custom lowering of known CR
bit spills
We lower known CR bit spills (CRSET/CRUNSET) to load and spill the known
value but forgot to remove the redundant spills.
e.g., This sequence was used to spill a CRUNSET:
   crclr   4*cr5+lt
   mfocrf  r3,4
   rlwinm  r3,r3,20,0,0
   stw     r3,132(r1)
Custom lowering of known CR bit spills lower it to:
   crxor 4*cr5+lt, 4*cr5+lt, 4*cr5+lt
   li  r3,0
   stw r3,132(r1)
crxor is redundant if there is no use of 4*cr5+lt so we should remove it
Differential revision: https://reviews.llvm.org/D67722
The file was modifiedllvm/test/CodeGen/PowerPC/knowCRBitSpill.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
Commit 0703db39892949ced56590a1ec8586bf20bffdb4 by tpr
[CostModel] Fixed isExtractSubvectorMask for undef index off end
ShuffleVectorInst::isExtractSubvectorMask, introduced in
[CostModel] Add SK_ExtractSubvector handling to
getInstructionThroughput (PR39368)
erroneously thought that
%340 = shufflevector <4 x float> %339, <4 x float> undef, <3 x i32> <i32
2, i32 3, i32 undef>
is a subvector extract, even though it goes off the end of the parent
vector with the undef index. That then caused an assert in
BasicTTIImplBase::getExtractSubvectorOverhead.
This commit fixes that, by not considering the above a subvector
extract.
Differential Revision: https://reviews.llvm.org/D70005
Change-Id: I87b8b00b24bef19ffc9a1b82ef4eca3b8a246eaf
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
Commit 787dba7aae1d01f3fcf1e471f733f00a6ba66e33 by listmail
[LICM] Hoisting of widenable conditions out of loops
The change itself is straight forward and obvious, but ... there's an
existing test checking for exactly the opposite. Both I and Artur think
this is simply conservatism in the initial implementation.  If anyone
bisects a problem to this, a counter example will be very interesting.
Differential Revision: https://reviews.llvm.org/D69907
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/test/Transforms/LICM/explicit_guards.ll
Commit 8d22100f66c4170510c6ff028c60672acfe1cff9 by listmail
[LICM] Support hosting of dynamic allocas out of loops
This patch implements a correct, but not terribly useful, transform. In
particular, if we have a dynamic alloca in a loop which is guaranteed to
execute, and provably not captured, we hoist the alloca out of the loop.
The capture tracking is needed so that we can prove that each previous
stack region dies before the next one is allocated. The transform
decreases the amount of stack allocation needed by a linear factor (e.g.
the iteration count of the loop).
Now, I really hope no one is actually using dynamic allocas. As such,
why this patch?
Well, the actual problem I'm hoping to make progress on is allocation
hoisting. There's a large draft patch out for review
(https://reviews.llvm.org/D60056), and this patch was the smallest chunk
of testable functionality I could come up with which takes a step
vaguely in that direction.
Once this is in, it makes motivating the changes to capture tracking
mentioned in TODOs testable. After that, I hope to extend this to
trivial malloc free regions (i.e. free dominating all loop exits) and
allocation functions for GCed languages.
Differential Revision: https://reviews.llvm.org/D69227
The file was addedllvm/test/Transforms/LICM/hoist-alloca.ll
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
Commit 2073dd2da702baca447efaf1879cb6151e8c6100 by Adrian Prantl
Redeclare Objective-C property accessors inside the ObjCImplDecl in
which they are synthesized.
This patch is motivated by (and factored out from)
https://reviews.llvm.org/D66121 which is a debug info bugfix. Starting
with DWARF 5 all Objective-C methods are nested inside their containing
type, and that patch implements this for synthesized Objective-C
properties.
1. SemaObjCProperty populates a list of synthesized accessors that may
  need to inserted into an ObjCImplDecl.
2. SemaDeclObjC::ActOnEnd inserts forward-declarations for all
  accessors for which no override was provided into their
  ObjCImplDecl. This patch does *not* synthesize AST function
  *bodies*. Moving that code from the static analyzer into Sema may
  be a good idea though.
3. Places that expect all methods to have bodies have been updated.
I did not update the static analyzer's inliner for synthesized
properties to point back to the property declaration (see
test/Analysis/Inputs/expected-plists/nullability-notes.m.plist), which I
believed to be more bug than a feature.
Differential Revision: https://reviews.llvm.org/D68108
rdar://problem/53782400
The file was modifiedclang/lib/CodeGen/CGObjCMac.cpp
The file was modifiedclang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
The file was modifiedclang/lib/Analysis/BodyFarm.cpp
The file was modifiedclang/test/CodeGenObjC/instance-method-metadata.m
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CodeGenObjC/debuginfo-properties.m
The file was modifiedclang/test/CodeGenObjC/debug-property-synth.m
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/include/clang/AST/DeclBase.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
The file was modifiedclang/lib/Sema/SemaDeclObjC.cpp
The file was modifiedclang/test/SemaObjC/iboutlet.m
The file was modifiedclang/lib/CodeGen/CGObjCGNU.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/test/AST/ast-dump-decl-json.m
The file was modifiedclang/test/Analysis/Inputs/expected-plists/nullability-notes.m.plist
The file was modifiedclang/lib/Sema/SemaObjCProperty.cpp
The file was modifiedclang/test/CodeGenObjC/debug-info-synthesis.m
The file was modifiedclang/lib/Index/IndexDecl.cpp
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/lib/Sema/SemaPseudoObject.cpp
The file was modifiedclang/include/clang/AST/DeclObjC.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
The file was modifiedclang/lib/AST/DeclObjC.cpp
The file was modifiedclang/lib/Frontend/Rewrite/RewriteObjC.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit 24d507f4468a361ced298f1880485cebef8424a8 by llvm-dev
CrashRecoveryContextCleanup - fix uninitialized variable warnings. NFCI.
Remove default values from constructor.
The file was modifiedllvm/include/llvm/Support/CrashRecoveryContext.h
Commit 66f63d18e1d08dd7364f2c267264b7103673cde6 by llvm-dev
Obj2YamlError - fix uninitialized variable warning. NFCI.
The file was modifiedllvm/tools/obj2yaml/Error.h
Commit abe9dd4e58d28c0d456fb61559ada1403c49c86b by llvm-dev
TimeTraceProfiler - fix uninitialized variable warning. NFCI.
The file was modifiedllvm/lib/Support/TimeProfiler.cpp
Commit 1471a7ddeed030eff707942c8687ebd32456d1ae by llvm-dev
PODSmallVector - fix uninitialized variable warnings. NFCI.
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
Commit 15bc4dc9a8949f9cffd46ec647baf0818d28fb28 by nikita.ppv
[LVI] Normalize pointer behavior
Related to D69686. As noted there, LVI currently behaves differently for
integer and pointer values: For integers, the block value is always
valid inside the basic block, while for pointers it is only valid at the
end of the basic block. I believe the integer behavior is the correct
one, and CVP relies on it via its getConstantRange() uses.
The reason for the special pointer behavior is that LVI checks whether a
pointer is dereferenced in a given basic block and marks it as non-null
in that case. Of course, this information is valid only after the
dereferencing instruction, or in conservative approximation, at the end
of the block.
This patch changes the treatment of dereferencability: Instead of
including it inside the block value, we instead treat it as something
similar to an assume (it essentially is a non-nullness assume) and
incorporate this information in
intersectAssumeOrGuardBlockValueConstantRange() if the context
instruction is the terminator of the basic block. This happens either
when determining an edge-value internally in LVI, or when a terminator
was explicitly passed to getValueAt(). The latter case makes this change
not fully NFC, because we can now fold terminator icmps based on the
dereferencability information in the same block. This is the reason why
I changed one JumpThreading test
(it would optimize the condition away without the change).
Of course, we do not want to recompute dereferencability on each
intersectAssume call, so we need a new cache for this. The
dereferencability analysis requires walking the entire basic block and
computing underlying objects of all memory operands. This was previously
done separately for each queried pointer value. In the new
implementation (both because this makes the caching simpler, and because
it is faster), I instead only walk the full BB once and cache all the
dereferenced pointers. So the traversal is now performed only once per
BB, instead of once per queried pointer value.
I think the overall model now makes more sense than before, and there
will be no more pitfalls due to differing integer/pointer behavior.
Differential Revision: https://reviews.llvm.org/D69914
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/combine-metadata.ll
Commit 454acae97ca4ad25cac582afe66c616ad46e4dd1 by Adrian Prantl
Adapt LLDB to clang API change in ObjCMethodDecl::create().
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
Commit 9e48a946b7b5cb90690bbeb196b185eda2fd8982 by Adrian Prantl
Fix two typos in one test name, three days before its 10th birthday!
(NFC)
The file was addedclang/test/SemaObjC/atomic-property-synthesis-rules.m
The file was removedclang/test/SemaObjC/atomoic-property-synnthesis-rules.m
Commit 6b44a41fefc7a62a5024c64fb7453f5ee93f3bb6 by Jonas Devlieghere
[lldb] Prevent Asan/SIP workaround from affecting Python in
/usr/local/bin
The code that works around SIP was unintentionally being triggered for
/usr/local/bin/python as well. That caused trouble on GreenDragon where
we were swapping out a Python 3 executable with the system's Python 2
executable.
The file was modifiedlldb/test/API/lldbtest.py
Commit 4d0e07f7862b832fb49a466feb8046770ea5b792 by Jonas Devlieghere
[lldb] Make Asan/SIP workaround work for Python 3
Make the check generic instead of hard-coding the path to Python 2. This
also fixes the print-syntax to be compatible with both versions.
The file was modifiedlldb/test/API/lldbtest.py
Commit 43ae5f4386b81077cd7bd451d215f116566ff478 by nikita.ppv
Revert "[LVI] Normalize pointer behavior"
This reverts commit 15bc4dc9a8949f9cffd46ec647baf0818d28fb28.
clang-cmake-x86_64-sde-avx512-linux buildbot reported quite a few
compile-time regressions in test-suite, will investigate.
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/combine-metadata.ll
Commit 51adeae1c90c966f5ae7eb1aa8a380fcc7cd4806 by ndesaulniers
remove redundant LLVM version from version string when setting
CLANG_VENDOR
Summary: When downstream LLVM distributions (like AOSP) set the
CLANG_VENDOR cmake variable, the version string printed by the clang
driver looks like:
$ clang --version
[CLANG_VENDOR] clang version X.X.X ([CLANG_REPOSITORY_STRING] sha)
(based on LLVM X.X.X)
Rather than the more standard:
$ clang --version clang version X.X.X ([CLANG_REPOSITORY_STRING] sha)
Based on feedback the the version string is a little long, the trailing
"(based on LLVM X.X.X)" is redundant and makes less sense after moving
LLVM to the monorepo. And it is only added should vendors set the cmake
variable CLANG_VENDOR. Let's remove it.
Reviewers: jyknight, eli.friedman, rsmith, rjmccall, efriedma
Reviewed By: efriedma
Subscribers: arphaman, efriedma, cfe-commits, srhines
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69925
The file was modifiedclang/lib/Basic/Version.cpp
Commit 9aff5e1c188445190249f5cb78a574a4bedc55b0 by kazu
[JumpThreading] Fix a comment typo (NFC)
Reviewers: kazu
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70013
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit 70e62a4fa6c2146fb49ee4460dad8e04152ce0a6 by maskray
[ELF] Suggest extern "C" when an undefined reference is mangled while
the definition is not
When missing an extern "C" declaration, an undefined reference may be
mangled while the definition is not. Suggest the missing extern "C" and
the base name.
Reviewed By: ruiu
Differential Revision: https://reviews.llvm.org/D69592
The file was modifiedlld/ELF/CMakeLists.txt
The file was modifiedlld/ELF/Relocations.cpp
The file was addedlld/test/ELF/undef-suggest-extern-c.s
Commit 59d3fbc227cca41e3e7b213ea744ca3a48d5244f by maskray
[ELF] Suggest extern "C" when the definition is mangled while an
undefined reference is not
The definition may be mangled while an undefined reference is not. This
may come up when (1) the reference is from a C file or (2) the
definition misses an extern "C".
(2) is more common. Suggest an arbitrary mangled name that matches the
undefined reference, if such a definition exists.
  ld.lld: error: undefined symbol: foo
>>> referenced by a.o:(.text+0x1)
>>> did you mean to declare foo(int) as extern "C"?
>>> defined in: a1.o
Reviewed By: dblaikie, ruiu
Differential Revision: https://reviews.llvm.org/D69650
The file was addedlld/test/ELF/undef-suggest-extern-c2.s
The file was modifiedlld/ELF/Relocations.cpp
Commit 8204d9ff7ef59bbec9137a5b6679718d03b9cb1b by Adrian Prantl
Properly propagate is_variadic.
This fixes a copy&paste error made when adapting to new clang API which
was promptly caught by the bots.
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit 71f4761431a79794b5be24c1d863bcc0c4577e60 by lei
[PowerPC][compiler-rt][builtins]Fix __fixunstfti builtin on PowerPC
__fixunstfti converts a long double (IBM double-double) to an unsigned
128 bit integer.  This patch enables it to handle a previously unhandled
case in which a negative low double may impact the result of the
conversion.
Collaborated with @masoud.ataei and @renenkel. Patch By: Baptiste Saleil
Differential Revision: https://reviews.llvm.org/D69193
The file was modifiedcompiler-rt/test/builtins/Unit/ppc/fixunstfti_test.h
The file was modifiedcompiler-rt/lib/builtins/ppc/fixunstfti.c
Commit caad2170aed76d1df8b4305b1b7d81c4943626db by tstellar
[cmake] Remove SVN support from VersionFromVCS.cmake
Reviewers: phosek
Subscribers: mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69682
The file was modifiedllvm/cmake/modules/VersionFromVCS.cmake
The file was modifiedllvm/CMakeLists.txt
Commit 7f92d66f378574ab2a02935b6614560ae9000539 by eleviant
[ThinLTO] Fix bug when importing writeonly variables
Patch enables import of write-only variables with non-trivial
initializers to fix linker errors. Initializers of imported variables
are converted to
'zeroinitializer' to avoid promotion of referenced objects.
Differential revision: https://reviews.llvm.org/D70006
The file was addedllvm/test/ThinLTO/X86/Inputs/writeonly-with-refs.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionImport.cpp
The file was modifiedllvm/lib/IR/ModuleSummaryIndex.cpp
The file was modifiedllvm/lib/Transforms/Utils/FunctionImportUtils.cpp
The file was addedllvm/test/ThinLTO/X86/writeonly-with-refs.ll
Commit 759948467ea3181615d44d80f74ffeb260180fd0 by melanie.blower
Reapply "Fix crash on switch conditions of non-integer types in
templates"
This patch reapplies commit 76945821b9cad3. The first version broke
buildbots due to clang-tidy test fails. The fails are because some
errors in templates are now diagnosed earlier (does not wait till
instantiation). I have modified the tests to add checks for these
diagnostics/prevent these diagnostics. There are no additional code
changes.
Summary of code changes:
Clang currently crashes for switch statements inside a template when the
condition is a non-integer field member because contextual implicit
conversion is skipped when parsing the condition. This conversion is
however later checked in an assert when the case statement is handled.
The conversion is skipped when parsing the condition because the field
member is set as type-dependent based on its containing class. This
patch sets the type dependency based on the field's type instead.
This patch fixes Bug 40982.
Reviewers: rnk, gribozavr2
Patch by: Elizabeth Andrews (eandrews)
Differential revision: https://reviews.llvm.org/D69950
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/misc-unused-parameters.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-string-integer-assignment.cpp
The file was modifiedclang/test/SemaTemplate/dependent-names.cpp
The file was modifiedclang/test/SemaTemplate/enum-argument.cpp
The file was addedclang/test/SemaTemplate/non-integral-switch-cond.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaTemplate/member-access-expr.cpp
Commit 3ffbf9720fb01d156f09b0eabdeafc548711fb19 by tstellar
[cmake] Remove LLVM_{BUILD,LINK}_LLVM_DYLIB options on Windows
Summary: The options aren't supported so they can be removed.
Reviewers: beanz, smeenai, compnerd
Reviewed By: compnerd
Subscribers: mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69877
The file was modifiedllvm/docs/BuildingADistribution.rst
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/docs/CMake.rst
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/docs/GettingStarted.rst
Commit 590f279c456bbde632eca8ef89a85c478f15a249 by Jan Korous
[clang] Add VFS support for sanitizers' blacklists
Differential Revision: https://reviews.llvm.org/D69648
The file was modifiedclang/lib/Basic/SanitizerBlacklist.cpp
The file was modifiedllvm/include/llvm/Support/SpecialCaseList.h
The file was modifiedclang/lib/Basic/SanitizerSpecialCaseList.cpp
The file was addedclang/test/CodeGen/ubsan-blacklist-vfs.c
The file was addedclang/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml
The file was modifiedllvm/lib/Support/SpecialCaseList.cpp
The file was modifiedclang/include/clang/Basic/SanitizerSpecialCaseList.h
Commit 885a05f48a5d320946c89590b73a764e5884fe4f by nikita.ppv
Reapply [LVI] Normalize pointer behavior
Fix cache invalidation by not guarding the dereferenced pointer cache
erasure by SeenBlocks. SeenBlocks is only populated when actually
caching a value in the block, which doesn't necessarily have to happen
just because dereferenced pointers were calculated.
-----
Related to D69686. As noted there, LVI currently behaves differently for
integer and pointer values: For integers, the block value is always
valid inside the basic block, while for pointers it is only valid at the
end of the basic block. I believe the integer behavior is the correct
one, and CVP relies on it via its getConstantRange() uses.
The reason for the special pointer behavior is that LVI checks whether a
pointer is dereferenced in a given basic block and marks it as non-null
in that case. Of course, this information is valid only after the
dereferencing instruction, or in conservative approximation, at the end
of the block.
This patch changes the treatment of dereferencability: Instead of
including it inside the block value, we instead treat it as something
similar to an assume (it essentially is a non-nullness assume) and
incorporate this information in
intersectAssumeOrGuardBlockValueConstantRange() if the context
instruction is the terminator of the basic block. This happens either
when determining an edge-value internally in LVI, or when a terminator
was explicitly passed to getValueAt(). The latter case makes this change
not fully NFC, because we can now fold terminator icmps based on the
dereferencability information in the same block. This is the reason why
I changed one JumpThreading test
(it would optimize the condition away without the change).
Of course, we do not want to recompute dereferencability on each
intersectAssume call, so we need a new cache for this. The
dereferencability analysis requires walking the entire basic block and
computing underlying objects of all memory operands. This was previously
done separately for each queried pointer value. In the new
implementation (both because this makes the caching simpler, and because
it is faster), I instead only walk the full BB once and cache all the
dereferenced pointers. So the traversal is now performed only once per
BB, instead of once per queried pointer value.
I think the overall model now makes more sense than before, and there
will be no more pitfalls due to differing integer/pointer behavior.
Differential Revision: https://reviews.llvm.org/D69914
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/combine-metadata.ll
Commit 5b47efa20e0c482a60af5fea8dd7e3fae94c1a7e by maskray
[ELF] Fix stack-use-after-scope after D69592 and 69650
The file was modifiedlld/ELF/Relocations.cpp
Commit 9f08ce0d2197d4f163dfa4633eae2347ce8fc881 by gil.rapaport
Revert "[LV] Apply sink-after & interleave-groups as VPlan
transformations (NFCI)"
This reverts commit 11ed1c0239fd51fd2f064311dc7725277ed0a994 - causes an
assert failure.
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
Commit 5df3a87224ef5843a3374a5b87e57495b3f714c4 by efriedma
[AArch64][X86] Don't assume __powidf2 is available on Windows.
We had some code for this for 32-bit ARM, but this doesn't really need
to be in target-specific code; generalize it.
(I think this started showing up recently because we added an
optimization that converts pow to powi.)
Differential Revision: https://reviews.llvm.org/D69013
The file was addedllvm/test/CodeGen/X86/powi-windows.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/powi-windows.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit f0af11d86f81620096a87ffeb50267598d88e5b6 by bmahjour
    [DDG] Data Dependence Graph - Pi Block
    Summary:
   This patch adds Pi Blocks to the DDG. A pi-block represents a group
of DDG
   nodes that are part of a strongly-connected component of the graph.
   Replacing all the SCCs with pi-blocks results in an acyclic
representation
   of the DDG. For example if we have:
      {a -> b}, {b -> c, d}, {c -> a}
   the cycle a -> b -> c -> a is abstracted into a pi-block "p" as
follows:
      {p -> d} with "p" containing: {a -> b}, {b -> c}, {c -> a}
   In this implementation the edges between nodes that are part of the
pi-block
   are preserved. The crossing edges (edges where one end of the edge is
in the
   set of nodes belonging to an SCC and the other end is outside that
set) are
   replaced with corresponding edges to/from the pi-block node instead.
    Authored By: bmahjour
    Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton,
jdoerfert
    Reviewed By: Meinersbur
    Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya,
jfb, wuzish, llvm-commits, jsji, Whitney, etiotto, ppc-slack
    Tag: #llvm
    Differential Revision: https://reviews.llvm.org/D68827
The file was addedllvm/include/llvm/ADT/EnumeratedArray.h
The file was modifiedllvm/test/Analysis/DDG/basic-loopnest.ll
The file was modifiedllvm/test/Analysis/DDG/basic-a.ll
The file was modifiedllvm/test/Analysis/DDG/root-node.ll
The file was modifiedllvm/include/llvm/Analysis/DependenceGraphBuilder.h
The file was modifiedllvm/unittests/ADT/CMakeLists.txt
The file was modifiedllvm/lib/Analysis/DDG.cpp
The file was addedllvm/unittests/ADT/EnumeratedArrayTest.cpp
The file was modifiedllvm/include/llvm/Analysis/DDG.h
The file was modifiedllvm/lib/Analysis/DependenceGraphBuilder.cpp
The file was modifiedllvm/test/Analysis/DDG/basic-b.ll
Commit fa03665e8666e72ca1c5c2f78aa86e8de64bdd1e by llvmgnsyncbot
gn build: Merge f0af11d86f8
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Commit 860ee4f3ebf56f4d2e387ceec9b8028636e72d2c by paul_hoad
[clang-format] NFC allow Format.h to be clang-formatted but still
maintain the same doc layout in ClangFormatStyleOptions.rst
Summary: Format.h is used to generate ClangFormatStyleOptions.rst, the
layout of the comments is critical to the rst file. Accidentally
clang-formatting Format.h can lead to the .rst changing.
This revision simply add // clang-format off/on statement around the
areas who formatting needs to be maintained, mainly around the options
that are related to what happens when the line breaks due to
`ColumnLimit` (which is what is happening to the comment)
This allows Format.h to be clang-formatted without causing a change in
the documentation when dump_format_style.py is rerun, which is also part
of the revision.
Reviewers: mitchell-stellar, klimek, sammccall, owenpan
Reviewed By: mitchell-stellar
Subscribers: cfe-commits
Tags: #clang, #clang-format
Differential Revision: https://reviews.llvm.org/D69951
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/include/clang/Format/Format.h
Commit 39c308f6b8f06710b2b98d0b126c9175e4bafc20 by dblaikie
DebugInfo: Use separate macinfo contributions for each CU
The macinfo support was broken for LTO situations, by terminating
macinfo lists only once - multiple macinfo contributions were correctly
labeled, but they all continued/flowed into later contributions until
only one terminator appeared at the end of the section.
Correctly terminate each contribution & fix the parsing to handle this
situation too. The parsing fix is also necessary for dumping linked
binaries - the previous code would stop at the end of the first
contribution - missing all later contributions in a linked binary.
It'd be nice to improve the dumping to print the offsets of each
contribution so it'd be easier to know which CU AT_macro_info refers to
which macinfo contribution.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-addr-class.ll
The file was modifiedllvm/test/DebugInfo/X86/empty_macinfo.ll
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
The file was modifiedllvm/test/DebugInfo/X86/debug-macro.ll
The file was modifiedllvm/test/MC/WebAssembly/debug-info.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-file-loc.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/cu-range-hole.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
Commit 6d28588cc0f223cc06fc103493b1f16cb7e579f8 by Jan Korous
Reland "[clang] Report sanitizer blacklist as a dependency in cc1"
This reverts commit 9b8413ac6e56e7a6e0ba884773d13bcf9414bd43.
The file was modifiedclang/include/clang/Driver/SanitizerArgs.h
The file was modifiedclang/test/Driver/fsanitize-blacklist.c
The file was modifiedclang/test/Frontend/dependency-gen.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
Commit cae4a28864f4e8a55920e2b94e2cd43617902dec by Jan Korous
Reland "[clang] Report sanitizer blacklist as a dependency in cc1"
This reverts commit 3182027282c59c51d5080d83365917fccd695854.
The file was modifiedclang/test/Driver/fsanitize-blacklist.c
The file was modifiedclang/include/clang/Driver/SanitizerArgs.h
The file was modifiedclang/test/Frontend/dependency-gen.c
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit 555c6be041d468cfc2baaf69a6ae5d1cf889dc9e by Jan Korous
[clang] Fix -fsanitize-system-blacklist processing in cc1
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 56cd447eec8eec71a6e61d2dd142bf5dadfc154a by smeenai
[llvm-xray] Add basic test for AArch64 support
Based on a test provided by Ian Levesque <ianlevesque@fb.com>.
The file was addedllvm/test/tools/llvm-xray/AArch64/Inputs/elf64-pic.yaml
The file was addedllvm/test/tools/llvm-xray/AArch64/extract-instrmap-aarch64.test
Commit b314414570c0db6cd3a2712d7b26942fe38278db by Saleem Abdulrasool
Basic: fix FileManager invalidation issue for file redirect
Insertion into SeenFileEntries can invalidate iterators, we need to do
another lookup on the re-intern path.
The file was modifiedclang/lib/Basic/FileManager.cpp
Commit 2bbc4fdd8fa0ed58d610ab6260cb664c7cfef204 by Adrian Prantl
Add a testcase for .dSYM path remapping dictionaries.
rdar://problem/56924558
The file was addedlldb/packages/Python/lldbsuite/test/macosx/DBGSourcePathRemapping/TestDSYMSourcePathRemapping.py
The file was addedlldb/packages/Python/lldbsuite/test/macosx/DBGSourcePathRemapping/Makefile
The file was addedlldb/packages/Python/lldbsuite/test/macosx/DBGSourcePathRemapping/Inputs/main.c
Commit d0416b91f0390f6e69dacf3d5d076531221e0767 by Adrian Prantl
Don't attempt to upgrade debug-info-tests to Python3.
There was CMake code that would attempt to detect Python 3 even if LLVM
was configured with Python 2, but it messed with the environment for the
other LLVM projects. This commit removes this functionality and just
lkeaves a hard error if Python < 3 is detected and debuginfo-tests are
required.
The file was modifieddebuginfo-tests/CMakeLists.txt
Commit fe0763d28a572f72007637c7bd097bc19cbb58fc by joan.lluch
[TargetLowering][DAGCombine][MSP430] Shift Amount Threshold in
DAGCombine (3) (baseline tests)
Summary: This is baseline tests for D69326
Incorporates a command line flag for the MSP430 and adds a test cases to
help showing the effects of applying D69326
More details and motivation for this patch in D69326
Reviewers: spatel, asl, lebedev.ri
Reviewed By: spatel, asl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69975
The file was addedllvm/test/CodeGen/MSP430/shift-amount-threshold-b.ll
The file was modifiedllvm/lib/Target/MSP430/MSP430ISelLowering.cpp
The file was modifiedllvm/lib/Target/MSP430/MSP430ISelLowering.h
Commit d0b3e73175041306474bfb1914ef565e042fb50a by melanie.blower
Revert "Reapply "Fix crash on switch conditions of non-integer types in
templates""
This reverts commit 759948467ea3181615d44d80f74ffeb260180fd0. There were
build bot failures in clang-tidy
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/misc-unused-parameters.cpp
The file was removedclang/test/SemaTemplate/non-integral-switch-cond.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/SemaTemplate/member-access-expr.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaTemplate/enum-argument.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-string-integer-assignment.cpp
The file was modifiedclang/test/SemaTemplate/dependent-names.cpp
Commit 4c44fd3de374fdce383ca1b0313b2418d1f1d370 by sylvestre
clang-format: Add to the release notes the new --dry-run/-n option
The file was modifiedclang/docs/ReleaseNotes.rst
Commit d52cff88367df4d6bc57949d5e8a61aec0c301e8 by Jan Korous
Revert "Reland "[clang] Report sanitizer blacklist as a dependency in
cc1""
This reverts commit cae4a28864f4e8a55920e2b94e2cd43617902dec.
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedclang/test/Frontend/dependency-gen.c
The file was modifiedclang/include/clang/Driver/SanitizerArgs.h
The file was modifiedclang/test/Driver/fsanitize-blacklist.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 99e2cba219aea80b3f11de2aa4e0192b28852de4 by Jan Korous
Reland "[compiler-rt] Fix tests after 03b84e4f6d0"
This reverts commit d6be9273c6035c07b25dd1494f76cd61d523b878.
The file was modifiedcompiler-rt/test/asan/TestCases/default_blacklist.cpp
The file was modifiedcompiler-rt/test/msan/default_blacklist.cpp
Commit 3a3255a22398f34dec16b57beef9e2ff60a108e3 by sylvestre
clang-format: refresh the list of options
The file was modifiedclang/docs/ClangFormat.rst
Commit 3a7a22445e806c08f80cf6d83d1760f7ff732ed0 by stl
[www] More HTTPS and outdated link fixes.
Resolves D69981.
The file was modifiedllvm/docs/_templates/layout.html
The file was modifiedpolly/www/performance.html
The file was modifiedclang/www/UniversalDriver.html
The file was modifiedpolly/www/publications.html
The file was modifiedpolly/www/index.html
The file was modifiedclang/www/analyzer/available_checks.html
The file was modifiedpolly/www/contributors.html
Commit 8f089f2099d39021bbfb76a2cd575612382a7cf6 by maskray
[MC] Emit unused undefined symbol even if its binding is not set
Recommit r373168, which was reverted by r373242. This actually exposed a
boringssl bug which has been fixed for more than one month.
For the following two cases, we currently suppress the symbols. This
patch emits them (compatible with GNU as).
* `test2_a = undef`: if `undef` is otherwise unused.
* `.hidden hidden`: if `hidden` is unused. This is the main point of the
patch, because omitting the symbol would cause a linker semantic
difference.
It causes a behavior change that is not compatible with GNU as:
.weakref foo1, bar1
When neither foo1 nor bar1 is used, we now emit bar1, which is arguably
more consistent.
Another change is that we will emit .TOC. for .TOC.@tocbase .  For this
directive, suppressing .TOC. can be seen as a size optimization, but we
choose to drop it for simplicity and consistency.
The file was modifiedllvm/test/MC/ELF/undef.s
The file was modifiedllvm/test/MC/ELF/weakref.s
The file was modifiedlld/test/ELF/ppc64-abs64-dyn.s
The file was modifiedlld/test/ELF/ppc64-relocs.s
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
Commit e1b07aac3d1c92f58e05cb5c37c0707842da5839 by Alex Lorenz
[clangd] NFC, reuse the source manager variable in the RawStringLiteral
apply method
Differential Revision: https://reviews.llvm.org/D69544
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/RawStringLiteral.cpp
Commit 901cc4a4bc5257d100338e6c318b96b022d554ee by Adrian Prantl
Debug Info: Nest Objective-C property function decls inside their
container.
This has the nice side-effect of also fixing a crash in Clang.
Starting with DWARF 5 we are emitting ObjC method declarations as
children of their containing entity. This worked for interfaces, but
didn't consider the case of synthessized properties. When a property of
a protocol is synthesized in an interface implementation the
ObjCMethodDecl that was passed to CGF::StartFunction was the property
*declaration* which obviously couldn't have a containing interface. This
patch passes the containing interface all the way through to
CGDebugInfo, so the function declaration can be created with the correct
parent (= the class implementing the protocol).
rdar://problem/53782400
Differential Revision: https://reviews.llvm.org/D66121
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
The file was addedclang/test/CodeGenObjC/debug-info-objc-property-dwarf5.m
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 3951245c38ce2bcb4173a99d00278d704fcdeac1 by dblaikie
NVPTX: Don't insert an extra empty line at the end of the last section.
This was arbitrarily appearing in only the last section emitted - which
made tests more sensitive than they needed to be (removing the last
section - like the macinfo section change that's coming after this)
would, surprisingly, move the blank line to the previous section.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/DebugInfo/NVPTX/cu-range-hole.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-addr-class.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-file-loc.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
Commit 6278fba9b11751b97c6091049341c51226c5b434 by sbc
llvm-ranlib/nm: Don't print usage message except for usage errors
Also, fix a bug in ranlib where it didn't correctly detect being run
without any argument and would try to operate on the empty string.
Differential Revision: https://reviews.llvm.org/D70021
The file was addedllvm/test/tools/llvm-ranlib/help-message.test
The file was modifiedllvm/test/tools/llvm-ar/invalid-object-file.test
The file was addedllvm/test/tools/llvm-ranlib/bad-usage.test
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
Commit 736273c7fe3e88baf548cd555f21eb123f81381d by dblaikie
DebugInfo: Do not create a debug_macinfo section if no CUs have
associated macros
Patch based on Sourabh Singh's D69839 patch.
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-addr-class.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-file-loc.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/cu-range-hole.ll
The file was modifiedllvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
The file was modifiedllvm/test/MC/WebAssembly/debug-info.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/test/DebugInfo/X86/length_symbol_difference.ll
The file was modifiedllvm/test/DebugInfo/X86/empty_macinfo.ll
Commit db797bfb2bd24e40d8f0ed422fd4087894ed0eab by dblaikie
DebugInfo: Remove redundant conditionals/checks from macro info emission
These checks fall out naturally from the current implementation without
needing to be explicitly considered anymore.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 1478f36f27cfe06c5da75ef11fab2d409f2beafe by Jason Molenda
Test case to verify that lldb falls back to p/P if g is unsupported and
that lldb uses the expedited register values in the ? packet aka stop
packet (T11 etc) and does not re-fetch them with the p packet.
This test is currently failing from the "[lldb-server] Add setting to
force 'g' packet use" commit; I'm marking it as @expectedFailureAll
until we can get this fixed.
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestNoGPacketSupported.py
Commit b11391bb47d6fb75639c331378440b405e64be7a by tejohnson
ThinLTO : Import always_inline functions irrespective of the threshold
Summary: A user can force a function to be inlined by specifying the
always_inline attribute. Currently, thinlto implementation is not aware
of always_inline functions and does not guarantee import of such
functions, which in turn can prevent inlining of such functions.
Patch by Bharathi Seshadri <bseshadr@cisco.com>
Reviewers: tejohnson
Reviewed By: tejohnson
Subscribers: mehdi_amini, inglorion, hiraditya, steven_wu, dexonsmith,
arphaman, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70014
The file was addedllvm/test/ThinLTO/X86/Inputs/funcimport_alwaysinline.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionImport.cpp
The file was modifiedllvm/test/ThinLTO/X86/dot-dumper.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Analysis/ModuleSummaryAnalysis.cpp
The file was addedllvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
The file was modifiedllvm/lib/IR/ModuleSummaryIndex.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/test/ThinLTO/X86/dot-dumper2.ll
The file was modifiedllvm/test/Assembler/thinlto-summary.ll
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedllvm/lib/AsmParser/LLToken.h
Commit 79e345fbcc822e914fac4838dd7a4f2ddbb5fcad by puyan
[clang][IFS] Adds support for more decl types in clang interface stubs.
Adding support for processing the following Decls:
NonTypeTemplateParmDecl, CXXConversionDecl, UnresolvedUsingValueDecl,
UsingDecl, UsingShadowDecl, TypeAliasTemplateDecl, TypeAliasDecl,
VarTemplateDecl, VarTemplateSpecializationDecl, UsingDirectiveDecl,
TemplateTemplateParmDecl, ClassTemplatePartialSpecializationDecl,
IndirectFieldDecl.
Also, this allows for processing NamedDecls that don't have an
identifier and skips over VarDecls that are dependent on template types.
Differential Revision: https://reviews.llvm.org/D69995
The file was addedclang/test/InterfaceStubs/template-constexpr.cpp
The file was addedclang/test/InterfaceStubs/var-template-specialization-decl.cpp
The file was addedclang/test/InterfaceStubs/indirect-field-decl.cpp
The file was addedclang/test/InterfaceStubs/cxx-conversion.cpp
The file was addedclang/test/InterfaceStubs/namespace.cpp
The file was addedclang/test/InterfaceStubs/class-template-partial-specialization.cpp
The file was addedclang/test/InterfaceStubs/usings.cpp
The file was addedclang/test/InterfaceStubs/template-template-parm-decl.cpp
The file was addedclang/test/InterfaceStubs/trycatch.cpp
The file was modifiedclang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
The file was addedclang/test/InterfaceStubs/non-type-template-parm-decl.cpp
Commit 1257146eb41485e91cb13a6b0ccc2fb7faa68b75 by puyan
[clang][IFS][test] Fixing buildbot test fails for clang-ifs.
Checking for the exact triple fails on many bots. Leaving the triple
check blank.
The file was modifiedclang/test/InterfaceStubs/cxx-conversion.cpp
The file was modifiedclang/test/InterfaceStubs/indirect-field-decl.cpp
The file was modifiedclang/test/InterfaceStubs/namespace.cpp
The file was modifiedclang/test/InterfaceStubs/template-constexpr.cpp
The file was modifiedclang/test/InterfaceStubs/non-type-template-parm-decl.cpp
The file was modifiedclang/test/InterfaceStubs/template-template-parm-decl.cpp
The file was modifiedclang/test/InterfaceStubs/class-template-partial-specialization.cpp
The file was modifiedclang/test/InterfaceStubs/usings.cpp
Commit 441a78533e61cfffb3fd59e2c169ca7ff7b286dc by Jonas Devlieghere
Revert "Add a testcase for .dSYM path remapping dictionaries."
This reverts commit 2bbc4fdd8fa0ed58d610ab6260cb664c7cfef204.
The file was removedlldb/packages/Python/lldbsuite/test/macosx/DBGSourcePathRemapping/TestDSYMSourcePathRemapping.py
The file was removedlldb/packages/Python/lldbsuite/test/macosx/DBGSourcePathRemapping/Inputs/main.c
The file was removedlldb/packages/Python/lldbsuite/test/macosx/DBGSourcePathRemapping/Makefile
Commit 60ab30ebce833c87bd4776f67cd9a82fe162ef9c by Jason Molenda
Temporarily change the default for use-g-packet-for-reading to false,
until we can automatically fall back to p/P if g/G are not supported; it
looks like there is a bug in debugserver's g/G packets taht needs to be
fixed, or debugserver should stop supporting g/G until that bug is
fixed.  But we need lldb to be able to fall back to p/P correctly for
that to be a viable workaround.
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestNoGPacketSupported.py
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestGDBRemoteClient.py
Commit 57adc37fe57c6edabc006e6de41523319e874c65 by Artem Dergachev
[analyzer] Nullability: Don't infer nullable when passing as nullable
parameter.
You can't really infer anything from that.
The file was addedclang/test/Analysis/nullability.m
The file was modifiedclang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
Commit e4da37e8a0a3197baca674d683cb05341c6a4097 by Artem Dergachev
[analyzer] Fix skipping the call during inlined defensive check
suppression.
When bugreporter::trackExpressionValue() is invoked on a DeclRefExpr, it
tries to do most of its computations over the node in which this
DeclRefExpr is computed, rather than on the error node (or whatever node
is stuffed into it). One reason why we can't simply use the error node
is that the binding to that variable might have already disappeared from
the state by the time the bug is found.
In case of the inlined defensive checks visitor, the DeclRefExpr node is
in fact sometimes too *early*: the call in which the inlined defensive
check has happened might have not been entered yet.
Change the visitor to be fine with tracking dead symbols (which it is
totally capable of - the collapse point for the symbol is still
well-defined), and fire it up directly on the error node. Keep using
"LVState" to find out which value should we be tracking, so that there
weren't any problems with accidentally loading an ill-formed value from
a dead variable.
Differential Revision: https://reviews.llvm.org/D67932
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was modifiedclang/test/Analysis/NSContainers.m