FailedChanges

Summary

  1. gn build: Merge r373556
  2. Revert 373538 and follow-ups 373549 and 373552. They break tests on (at least) macOS.
  3. [gicombiner] Make rL373551 compatible with older cmakes Newer cmakes appear to be more flexible w.r.t object libraries. Convert to a static library so that it works with older cmakes too
  4. gn build: (manually) merge r373551
  5. PR43519: don't inject a diagnostic when constant-evaulation of a pointer-to-member call can't determine a callee. We will have produced a diagnostic already if the callee is known to be unevaluatable, and diagnosing here rejects valid code during potential constant expression checking.
  6. Fixing broken builds due to r373538, issues with filepath and hexagon toolchain. It appears there are some issues with the hexagon toolchain, and also the file path for the library file. If this doesn't fix the remaining breakages I will attempt a revert.
  7. [gicombiner] Add a CodeExpander to handle C++ fragments with variable expansion Summary: This will handle expansion of C++ fragments in the declarative combiner including custom predicates, and escapes into C++ to aid the migration effort. Reviewers: bogner, volkan Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68288
  8. gn build: Merge r373538
  9. Fixing broken builds due to r373538 due to test that should have been deleted. test/InterfaceStubs/object.cpp should have been deleted.
  10. Mark P0784R7 as complete and start defining its feature-test macro. Note that this only covers the language side of this feature. (The library side has its own feature test macro.)
  11. For P0784R7: support placement new-expressions in constant evaluation. For now, we restrict this support to use from within the standard library implementation, since we're required to make parts of the standard library that use placement new work, but not permitted to make uses of placement new from user code work.
  12. For P0784R7: allow direct calls to operator new / operator delete from std::allocator::{allocate,deallocate} in constant evaluation.
  13. [gicombiner] Fix windows issue where single quotes in the command are passed through to tablegen
  14. [AMDGPU] Fix illegal agpr use by VALU When SIFixSGPRCopies attempts to fix an illegal copy from vector to scalar register it calls moveToVALU(). A copy from an agpr to sgpr becomes a copy from agpr to agpr, which may result in the illegal register class at a use of this copy. Solution is to copy it always into a vgpr. This may result in a subsequent copy into an agpr if that is what really needed, however should not happen too often and likely will be folded later. The opposite situation may not happen because an sgpr is always illegal where agpr is legal, so such user instructions may not exist. Differential Revision: https://reviews.llvm.org/D68358
  15. [gicombiner] Fix a nullptr dereference when -combiners is given a name that isn't defined This is unlikely to be the root cause for the windows bot failures but it would explain the stack trace seen.
  16. [InstCombine] Bypass high bit extract before variable sign-extension (PR43523) https://rise4fun.com/Alive/8BY - valid for lshr+trunc+variable sext https://rise4fun.com/Alive/7jk - the variable sext can be redundant https://rise4fun.com/Alive/Qslu - 'exact'-ness of first shift can be preserver https://rise4fun.com/Alive/IF63 - without trunc we could view this as more general "drop redundant mask before right-shift", but let's handle it here for now https://rise4fun.com/Alive/iip - likewise, without trunc, variable sext can be redundant. There's more patterns for sure - e.g. we can have 'lshr' as the final shift, but that might be best handled by some more generic transform, e.g. "drop redundant masking before right-shift" (PR42456) I'm singling-out this sext patch because you can only extract high bits with `*shr` (unlike abstract bit masking), and i *know* this fold is wanted by existing code. I don't believe there is much to review here, so i'm gonna opt into post-review mode here. https://bugs.llvm.org/show_bug.cgi?id=43523
  17. [NFC][InstCombine] Add tests for 'variable sext of variable high bit extract' pattern (PR43523) https://bugs.llvm.org/show_bug.cgi?id=43523
  18. DebugInfo: Rename DebugLocStream::Entry::Begin/EndSym to just Begin/End Brings this struct in line with the RangeSpan class so they might eventually be used by common template code for generating range/loc lists with less duplicate code.
  19. Move SanitizerInitializeUnwinder outside anonymous namespace. Fixes the Android build breakage introduced in r373528.
  20. [clang][ifs] Clang Interface Stubs ToolChain plumbing. This patch enables end to end support for generating ELF interface stubs directly from clang. Now the following: clang -emit-interface-stubs -o libfoo.so a.cpp b.cpp c.cpp will product an ELF binary with visible symbols populated. Visibility attributes and -fvisibility can be used to control what gets populated. * Adding ToolChain support for clang Driver IFS Merge Phase * Implementing a default InterfaceStubs Merge clang Tool, used by ToolChain * Adds support for the clang Driver to involve llvm-ifs on ifs files. * Adds -emit-merged-ifs flag, to tell llvm-ifs to emit a merged ifs text file instead of the final object format (normally ELF) Differential Revision: https://reviews.llvm.org/D63978
  21. [InstCombine] Transform bcopy to memmove bcopy is still widely used mainly for network apps. Sadly, LLVM has no optimizations for bcopy, but there are some for memmove. Since bcopy == memmove, it is profitable to transform bcopy to memmove and use current optimizations for memmove for free here.
  22. [X86] Add test cases for suboptimal vselect+setcc splitting. If the vselect result type needs to be split, it will try to also try to split the condition if it happens to be a setcc. With avx512 where k-registers are legal, its probably better to just use a kshift to split the mask register.
  23. [LegalizeTypes] Check for already split condition before calilng SplitVecRes_SETCC in SplitRes_SELECT. No point in manually splitting the SETCC if it was already done.
  24. gn build: (manually) merge r373527
  25. DebugInfo: Simplify RangeSpan to be a plain struct This is an effort to make RangeSpan and DebugLocStream::Entry more similar to share code for their emission (to reuse the more complicated code for using (& choosing when to use) base address selection entries, etc). It didn't seem like this struct was worth the complexity of encapsulation - when the members could be initialized by the ctor to any value (no validation) and the type is assignable (so there's no mutability or other constraint being implemented by its interface).
  26. [sanitizer_common] Declare __sanitizer_on_print in Windows interception. Speculative fix for Windows bot.
  27. [sanitizer_common] Disable onprint.cpp on Android. The test fails to find the written file on Android.
  28. [sanitizer_common] Add __sanitizer_on_print to interface list. Should fix the current Windows buildbot failure.
  29. [compiler-rt] Use GetNextInstructionPc in signal handlers Summary: All other stack trace callers assume that PC contains return address. HWAsan already use GetNextInstructionPc in similar code. PR43339 Reviewers: eugenis, kcc, jfb Subscribers: dexonsmith, dberris, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68313
  30. NFC: add namespace {}
  31. [gicombiner] Add the boring boilerplate for the declarative combiner Summary: This is the first of a series of patches extracted from a much bigger WIP patch. It merely establishes the tblgen pass and the way empty combiner helpers are declared and integrated into a combiner info. The tablegen pass takes a -combiners option to select the combiner helper that will be generated. This can be given multiple values to generate multiple combiner helpers at once. Doing so helps to minimize parsing overhead. The reason for creating a GlobalISel subdirectory in utils/TableGen is that there will be quite a lot of non-pass files (~15) by the time the patch series is done. Reviewers: volkan Subscribers: mgorny, hiraditya, simoncook, Petar.Avramovic, s.egerton, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68286
  32. Fix uninitialized variable warning in CodeGenPGO constructor. NFCI.
  33. ItaniumCXXABI - silence static analyzer getAs<RecordType> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but we should be able to use castAs<RecordType> directly and if not assert will fire for us.
  34. [Clang][Driver][NFC] Corrected DeviceActionBuilder methods' comments. Differential Revision: https://reviews.llvm.org/D68355
  35. Recommit "[GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing." The cause for the revert should be fixed by r373513 / a80b6c15425f82521c624ff24c5c0a34cd534d54 This reverts commit 47dbcbd8ec6bf6c0b9cbe5811e81a37cc55e73ef.
  36. CGObjCMac - silence static analyzer dyn_cast<>/getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but we should be able to use cast<>/castAs<> directly and if not assert will fire for us.
  37. [PowerPC] Fix SH field overflow issue Store rlwinm Rx, Ry, 32, 0, 31 as rlwinm Rx, Ry, 0, 0, 31 and store rldicl Rx, Ry, 64, 0 as rldicl Rx, Ry, 0, 0. Otherwise SH field is overflow and fails assertion in assembly printing stage. Differential Revision: https://reviews.llvm.org/D66991
  38. [sanitizer_common] Rename OnPrint to __sanitizer_on_print. Summary: https://reviews.llvm.org/D28596 exposed OnPrint in the global namespace, which can cause collisions with user-defined OnPrint() functions. Reviewers: vitalybuka, dvyukov Reviewed By: vitalybuka, dvyukov Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67987
  39. [libc++] Use functions instead of global variables to set libc++ build flags This commit follows the trend of doing things per-target instead of modifying the C++ flags globally. It does so for visibility-related flags, other basic build flags and Windows-specific flags.
  40. Fix inconsistent indentation in TableGen.cpp The anonymous namespace starts out (incorrectly) indented but isn't indented from the TimeRegionsOpt declaration onwards.
  41. Handle llvm.launder.invariant.group in msan. Summary: [MSan] handle llvm.launder.invariant.group Msan used to give false-positives in class Foo { public: virtual ~Foo() {}; }; // Return true iff *x is set. bool f1(void **x, bool flag); Foo* f() { void *p; bool found; found = f1(&p,flag); if (found) { // p is always set here. return static_cast<Foo*>(p); // False positive here. } return nullptr; } Patch by Ilya Tokar. Reviewers: #sanitizers, eugenis Reviewed By: #sanitizers, eugenis Subscribers: eugenis, Prazek, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68236
  42. [TableGen] Improve error reporting of overlapping definitions (NFC)
  43. [Local] Handle terminators with users in removeUnreachableBlocks. Terminators like invoke can have users outside the current basic block. We have to replace those users with undef, before replacing the terminator. This fixes a crash exposed by rL373430. Reviewers: brzycki, asbirlea, davide, spatel Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D68327
  44. [libc++] Use a function to set warning flags per target This is part of a larger shift to move to per-target settings and eradicate global variables from the CMake build. I'm starting small with warnings only because those are easy to transition over and I want to see how it pans out, but we can handle all flags like exceptions and RTTI in the future.
  45. [libc++] Revert to using PUBLIC instead of PRIVATE when linking system libs It turns out the benchmarks need to link against those libraries explicitly too, so CMake's propagation of PUBLIC dependencies is used.
  46. [MemorySSA] Update Phi creation when inserting a Def. MemoryPhis should be added in the IDF of the blocks newly gaining Defs. This includes the blocks that gained a Phi and the block gaining a Def, if the block did not have one before. Resolves PR43427.
  47. [Stencil] Hide implementaion detai. NFC.
  48. [ARM] Make helpers static. NFC.
  49. [OPENMP50]Add parsing/sema analysis for declare variant score. Context selectors may include optional score clause in format `score(<expr>):`, where `<expr>` must be a constant integer expression. Added parsing/sema analysis only.
  50. [X86] Rewrite to the vXi1 subvector insertion code to not rely on the value of bits that might be undef The previous code tried to do a trick where we would extract the subvector from the location we were inserting. Then xor that with the new value. Take the xored value and clear out the bits above the subvector size. Then shift that xored subvector to the insert location. And finally xor that with the original vector. Since the old subvector was used in both xors, this would leave just the new subvector at the inserted location. Since the surrounding bits had been zeroed no other bits of the original vector would be modified. Unfortunately, if the old subvector came from undef we might aggressively propagate the undef. Then we end up with the XORs not cancelling because they aren't using the same value for the two uses of the old subvector. @bkramer gave me a case that demonstrated this, but we haven't reduced it enough to make it easily readable to see what's happening. This patch uses a safer, but more costly approach. It isolate the bits above the insertion and bits below the insert point and ORs those together leaving 0 for the insertion location. Then widens the subvector with 0s in the upper bits, shifts it into position with 0s in the lower bits. Then we do another OR. Differential Revision: https://reviews.llvm.org/D68311
  51. Fix: Actually erase remove the elements from AssumeHandles Reviewers: sdmitriev, tejohnson Reviewed by: tejohnson Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68318
  52. [WebAssembly] Error when using wasm64 for ISel Summary: 64-bit WebAssembly (wasm64) is not specified and not supported in the WebAssembly backend. We do have support for it in clang, however, and we would like to keep that support because we expect wasm64 to be specified and supported in the future. For now add an error when trying to use wasm64 from the backend to minimize user confusion from unexplained crashes. Reviewers: aheejin, dschuff, sunfish Subscribers: sbc100, jgravelle-google, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68254
  53. gn build: Merge r373489
  54. [AMDGPU] Extend buffer intrinsics with swizzling Summary: Extend cachepolicy operand in the new VMEM buffer intrinsics to supply information whether the buffer data is swizzled. Also, propagate this information to MIR. Intrinsics updated: int_amdgcn_raw_buffer_load int_amdgcn_raw_buffer_load_format int_amdgcn_raw_buffer_store int_amdgcn_raw_buffer_store_format int_amdgcn_raw_tbuffer_load int_amdgcn_raw_tbuffer_store int_amdgcn_struct_buffer_load int_amdgcn_struct_buffer_load_format int_amdgcn_struct_buffer_store int_amdgcn_struct_buffer_store_format int_amdgcn_struct_tbuffer_load int_amdgcn_struct_tbuffer_store Furthermore, disable merging of VMEM buffer instructions in SI Load/Store optimizer, if the "swizzled" bit on the instruction is on. The default value of the bit is 0, meaning that data in buffer is linear and buffer instructions can be merged. There is no difference in the generated code with this commit. However, in the future it will be expected that front-ends use buffer intrinsics with correct "swizzled" bit set. Reviewers: arsenm, nhaehnle, tpr Reviewed By: nhaehnle Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, arphaman, jfb, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68200
  55. Add the misc-init-local-variables check. This checks finds all primitive type local variables (integers, doubles, pointers) that are declared without an initial value. Includes fixit functionality to initialize said variables with a default value. This is zero for most types and NaN for floating point types. The use of NaNs is copied from the D programming language. Patch by Jussi Pakkanen.
  56. [Local] Remove unused LazyValueInfo pointer from removeUnreachableBlock. There are no users that pass in LazyValueInfo, so we can simplify the function a bit. Reviewers: brzycki, asbirlea, davide Reviewed By: davide Differential Revision: https://reviews.llvm.org/D68297
  57. [libc++] Use PRIVATE instead of PUBLIC when linking against system libs
  58. [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary Summary: This fixes a hole in the handling of devirtualized targets that were local but need promoting due to devirtualization in another module. We were not correctly referencing the promoted symbol in some cases. Make sure the code that updates the name also looks at the ExportedGUIDs set by utilizing a callback that checks all conditions (the callback utilized by the internalization/promotion code). Reviewers: pcc, davidxl, hiraditya Subscribers: mehdi_amini, Prazek, inglorion, steven_wu, dexonsmith, dang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68159
  59. [CodeGen] Remove unused MachineMemOperand::print wrappers (PR41772) As noted on PR41772, the static analyzer reports that the MachineMemOperand::print partial wrappers set a number of args to null pointers that were then dereferenced in the actual implementation. It turns out that these wrappers are not being used at all (hence why we're not seeing any crashes), so I'd like to propose we just get rid of them. Differential Revision: https://reviews.llvm.org/D68208
  60. [SLP] add test for vectorization of different widths (PR28457); NFC
  61. [llvm] [cmake] Add install targets for missing distribution components Add install targets as necessary to include all files normally installed in LLVM_DISTRIBUTION_COMPONENTS. This includes targets for Sphinx docs, opt-viewer Python modules and TableGens. Differential Revision: https://reviews.llvm.org/D68339
  62. LowerExpectIntrinsic handlePhiDef - silence static analyzer dyn_cast<PHINode> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<PHINode> directly and if not assert will fire for us.
  63. Type - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
  64. [CodeExtractor] NFC: Refactor sanity checks into isEligible Reviewers: fhahn Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68331
  65. Silence static analyzer getAs<VectorType> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<VectorType> directly and if not assert will fire for us.
  66. Reapply r373431 "Switch lowering: omit range check for bit tests when default is unreachable (PR43129)" This was reverted in r373454 due to breaking the expensive-checks bot. This version addresses that by omitting the addSuccessorWithProb() call when omitting the range check. > Switch lowering: omit range check for bit tests when default is unreachable (PR43129) > > This is modeled after the same functionality for jump tables, which was > added in r357067. > > Differential revision: https://reviews.llvm.org/D68131
  67. [llvm-readelf] - Report a warning when .hash section contains a chain with a cycle. It is possible to craft a .hash section that triggers an infinite loop in llvm-readelf code. This patch fixes the issue and introduces a warning. Differential revision: https://reviews.llvm.org/D68086
  68. SemaOverload - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
  69. SemaInit - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
  70. [yaml2obj] - Alow Size tag for describing SHT_HASH sections. This is a follow-up for D68085 which allows using "Size" tag together with "Content" tag or alone. Differential revision: https://reviews.llvm.org/D68216
  71. [Clangd] ExtractFunction: Don't extract body of enclosing function. Summary: This patch disable extraction of the body of the enclosing function. `void f() [[{}]]` Extracting this CompoundStmt would leave the enclosing function without a body. Reviewers: sammccall, kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68245
  72. [Clangd] Ensure children are always RootStmt in ExtractFunction (Fixes #153) Summary: We weren't always checking if children are RootStmts in ExtractFunction. For `void f([[int a]]);`, the ParmVarDecl appeared as a RootStmt since we didn't perform the check and ended up being casted to a (null) Stmt. Reviewers: sammccall, kadircet Subscribers: kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68182
  73. [llvm-dwarfdump] Fix dumping of wrong locstats map
  74. [AArch64][SVE] Implement int_aarch64_sve_cnt intrinsic Summary: This patch includes tests for the VecOfBitcastsToInt type added by D68021 Reviewers: c-rhodes, sdesmalen, rovka Reviewed By: c-rhodes Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits, cfe-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68023
  75. MemorySSAUpdater::applyInsertUpdates - silence static analyzer dyn_cast<MemoryAccess> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<MemoryAccess> directly and if not assert will fire for us.
  76. MemorySSA tryOptimizePhi - assert that we've found a DefChainEnd. NFCI. Silences static analyzer null dereference warning.
  77. LoopAccessAnalysis isConsecutiveAccess() - silence static analyzer dyn_cast<SCEVConstant> null dereference warning. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use cast<SCEVConstant> directly and if not assert will fire for us.
  78. AsmPrinter - emitGlobalConstantFP - silence static analyzer null dereference warning. NFCI. All the calls to emitGlobalConstantFP should provide a nonnull Type for the float.
  79. gn build: Merge r373462
  80. [ModuloSchedule] Peel out prologs and epilogs, generate actual code Summary: This extends the PeelingModuloScheduleExpander to generate prolog and epilog code, and correctly stitch uses through the prolog, kernel, epilog DAG. The key concept in this patch is to ensure that all transforms are *local*; only a function of a block and its immediate predecessor and successor. By defining the problem in this way we can inductively rewrite the entire DAG using only local knowledge that is easy to reason about. For example, we assume that all prologs and epilogs are near-perfect clones of the steady-state kernel. This means that if a block has an instruction that is predicated out, we can redirect all users of that instruction to that equivalent instruction in our immediate predecessor. As all blocks are clones, every instruction must have an equivalent in every other block. Similarly we can make the assumption by construction that if a value defined in a block is used outside that block, the only possible user is its immediate successors. We maintain this even for values that are used outside the loop by creating a limited form of LCSSA. This code isn't small, but it isn't complex. Enabled a bunch of testing from Hexagon. There are a couple of tests not enabled yet; I'm about 80% sure there isn't buggy codegen but the tests are checking for patterns that we don't produce. Those still need a bit more investigation. In the meantime we (Google) are happy with the code produced by this on our downstream SMS implementation, and believe it generates correct code. Subscribers: mgorny, hiraditya, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68205
  81. [llvm-objcopy] Add --set-section-alignment Fixes PR43181. This option was recently added to GNU objcopy (binutils PR24942). `llvm-objcopy -I binary -O elf64-x86-64 --set-section-alignment .data=8` can set the alignment of .data. Reviewed By: grimar, jhenderson, rupprecht Differential Revision: https://reviews.llvm.org/D67656
  82. [InstCombine] Simplify fma multiplication to nan for undef or nan operands. In similar fashion to D67721, we can simplify FMA multiplications if any of the operands is NaN or undef. In instcombine, we will simplify the FMA to an fadd with a NaN operand, which in turn gets folded to NaN. Note that this just changes SimplifyFMAFMul, so we still not catch the case where only the Add part of the FMA is Nan/Undef. Reviewers: cameron.mcinally, mcberg2017, spatel, arsenm Reviewed By: cameron.mcinally Differential Revision: https://reviews.llvm.org/D68265
  83. [InstCombine] Precommit tests for D68265
  84. NFC: directly return when CommonExitBlock != Succ Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68330
  85. [InstSimplify] fold fma/fmuladd with a NaN or undef operand This is intended to be similar to the constant folding results from D67446 and earlier, but not all operands are constant in these tests, so the responsibility for folding is left to InstSimplify. Differential Revision: https://reviews.llvm.org/D67721
  86. Revert r373431 "Switch lowering: omit range check for bit tests when default is unreachable (PR43129)" This broke http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/19967 > Switch lowering: omit range check for bit tests when default is unreachable (PR43129) > > This is modeled after the same functionality for jump tables, which was > added in r357067. > > Differential revision: https://reviews.llvm.org/D68131
  87. LICM - remove unused variable and reduce scope of another variable. NFCI. Appeases both clang static analyzer and cppcheck
  88. Fix libc++ pretty printer test for Python 3 after D67238
  89. Log2_32 returns an unsigned. NFCI. Silences clang static analyzer warning about out of bounds (negative) shifts.
  90. Fix uninitialized variable warning. NFCI.
  91. WinException::emitExceptHandlerTable - silence static analyzer dyn_cast<Function> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<Function> directly and if not assert will fire for us.
  92. MetadataLoader upgradeCUVariables() - silence static analyzer dyn_cast_or_null<> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we know that the source won't be null so just use dyn_cast, which will assert if the value somehow is actually null.
  93. ASTContext - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but we should be able to use castAs<> directly and if not assert will fire for us.
  94. [ARM] Identity shuffles are legal Identity shuffles, of the form (0, 1, 2, 3, ...) are perfectly OK under MVE (they essentially just become bitcasts). We were not catching that in the existing set of what we considered legal though. On NEON, they would be covered by vext's, but that is not generally available in MVE. This uses ShuffleVectorInst::isIdentityMask which is a little odd to use here but does what we want and prevents us from just rewriting what is the same function. Differential Revision: https://reviews.llvm.org/D68241
  95. [Support, ARM64] Define getHostCPUFeatures for Windows on ARM64 platform Patch by Adam Kallai! Differential Revision: https://reviews.llvm.org/D68139
  96. [clangd] Bail out early if we are sure that the symbol is used outside of the file. Summary: This would reduce the false positive when the static index is in an unavailable state, e.g. background index is not finished. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68325
  97. [clangd] SelectionTree should mark a node as fully-selected if the only claimed tokens were early-claimed. Summary: Previously they would be marked as partially-selected based on the early claim, and never updated as no more tokens were claimed. This affects simple VarDecls like "int x". Reviewers: SureYeaah Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66872
  98. [ClangFormat] relnotes for r373439
  99. [clang-rename] Better renaming the typedef decl. Summary: when renaming a typedef decl, we used to rename the underlying decl of the typedef, we should rename the typedef itself. Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68322
  100. [ClangFormat] Future-proof Standard option, allow floating or pinning to arbitrary lang version Summary: The historical context: - clang-format was written when C++11 was current, and the main language-version concern was >> vs > > template-closers. An option was added to allow selection of the 03/11 behavior, or auto-detection. - there was no option to choose simply "latest standard" so anyone who didn't ever want 03 behavior or auto-detection specified Cpp11. - In r185149 this option started to affect lexer mode. - no options were added to cover c++14, as parsing/formatting didn't change that much. The usage of Cpp11 to mean "latest" became codified e.g. in r206263 - c++17 added some new constructs. These were mostly backwards-compatible and so not used in old programs, so having no way to turn them off was OK. - c++20 added some new constructs and keywords (e.g. co_*) that changed the meaning of existing programs, and people started to complain that the c++20 parsing couldn't be turned off. New plan: - Default ('Auto') behavior remains unchanged: parse as latest, format template-closers based on input. - Add new 'Latest' option that more clearly expresses the intent "use modern features" that many projects have chosen for their .clang-format files. - Allow pinning to *any* language version, using the same name as clang -std: c++03, c++11, c++14 etc. These set precise lexer options, and any clang-format code depending on these can use a >= check. - For backwards compatibility, `Cpp11` is an alias for `Latest`, not `c++11`. This matches the historical documented semantics of this option. This spelling (and `Cpp03`) are deprecated. Reviewers: klimek, modocache Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67541
  101. gn build: (manually) merge r373425
  102. [IntrinsicEmitter] Add overloaded type VecOfBitcastsToInt for SVE intrinsics Summary: This allows intrinsics such as the following to be defined: - declare <n x 4 x i32> @llvm.something.nxv4f32(<n x 4 x i32>, <n x 4 x i1>, <n x 4 x float>) ...where <n x 4 x i32> is derived from <n x 4 x float>, but the element needs bitcasting to int. Reviewers: c-rhodes, sdesmalen, rovka Reviewed By: c-rhodes Subscribers: tschuett, hiraditya, jdoerfert, llvm-commits, cfe-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68021
  103. [clang-tidy] Fix typo in r373428
  104. [clangd] Always send file URIs to editors Summary: Editors only know about file URIs, make sure we do not use any custom schemes while sending edits. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68324
  105. Remove an unnecessary cast. NFC.
  106. [AMDGPU] Make printf lowering faster when there are no printfs Summary: Printf lowering unconditionally visited every instruction in the module. To make it faster in the common case where there are no printfs, look up the printf function (if any) and iterate over its users instead. Reviewers: rampitec, kzhuravl, alex-t, arsenm Subscribers: jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68145
  107. Revert [GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing. This breaks http://lab.llvm.org:8011/builders/sanitizer-windows/builds/52310 This reverts r373430 (git commit 70f70035484ba199a329f9f8d9bd67e37bc2b408)
  108. Switch lowering: omit range check for bit tests when default is unreachable (PR43129) This is modeled after the same functionality for jump tables, which was added in r357067. Differential revision: https://reviews.llvm.org/D68131
  109. [GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing. removeUnreachableBlocks knows how to preserve the DomTree, so make use of it instead of re-computing the DT. Reviewers: davide, kuhar, brzycki Reviewed By: davide, kuhar Differential Revision: https://reviews.llvm.org/D68298
  110. [Local] Simplify function removeUnreachableBlocks() to avoid (re-)computation. Two small changes in llvm::removeUnreachableBlocks() to avoid unnecessary (re-)computation. First, replace the use of count() with find(), which has better time complexity. Second, because we have already computed the set of dead blocks, replace the second loop over all basic blocks to a loop only over the already computed dead blocks. This simplifies the loop and avoids recomputation. Patch by Rodrigo Caetano Rocha <rcor.cs@gmail.com> Reviewers: efriedma, spatel, fhahn, xbolva00 Reviewed By: fhahn, xbolva00 Differential Revision: https://reviews.llvm.org/D68191
  111. [clang-tidy] Fix for commits rL372706 and rL372711 The patch committed was not the accepted version but the previous one. This commit fixes this issue. Differential Revision: https://reviews.llvm.org/D64736
  112. Reland "[utils] Implement the llvm-locstats tool" The tool reports verbose output for the DWARF debug location coverage. The llvm-locstats for each variable or formal parameter DIE computes what percentage from the code section bytes, where it is in scope, it has location description. The line 0 shows the number (and the percentage) of DIEs with no location information, but the line 100 shows the number (and the percentage) of DIEs where there is location information in all code section bytes (where the variable or parameter is in the scope). The line 50..59 shows the number (and the percentage) of DIEs where the location information is in between 50 and 59 percentage of its scope covered. Differential Revision: https://reviews.llvm.org/D66526 The cause of the test failure was resolved.
  113. [llvm-lib] Detect duplicate input files Differential Revision: https://reviews.llvm.org/D68320
  114. Rename TypeNodes.def to TypeNodes.inc for consistency across all our autogenerated files. NFC. As requested by Nico Weber.
  115. [llvm-lib] Correctly handle .lib input files If archive files are passed as input files, llvm-lib needs to append the members of the input archive files to the output file. This patch implements that behavior. This patch splits an existing function into smaller functions. Effectively, the new code is only `if (Magic == file_magic::archive) { ... }` part. Fixes https://bugs.llvm.org/show_bug.cgi?id=32674 Differential Revision: https://reviews.llvm.org/D68204
  116. [X86] Add broadcast load folding patterns to the NoVLX compare patterns. These patterns use zmm registers for 128/256-bit compares when the VLX instructions aren't available. Previously we only supported registers, but as PR36191 notes we can fold broadcast loads, but not regular loads.
  117. Fix GCC -Wreturn-type warnings. NFC.
Revision 373558 by gnsyncbot:
gn build: Merge r373556
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/Driver/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Revision 373556 by nico:
Revert 373538 and follow-ups 373549 and 373552.

They break tests on (at least) macOS.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Action.h (diff)clang.src/include/clang/Driver/Action.h
The file was modified/cfe/trunk/include/clang/Driver/Options.td (diff)clang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/include/clang/Driver/Phases.h (diff)clang.src/include/clang/Driver/Phases.h
The file was modified/cfe/trunk/include/clang/Driver/ToolChain.h (diff)clang.src/include/clang/Driver/ToolChain.h
The file was modified/cfe/trunk/include/clang/Driver/Types.def (diff)clang.src/include/clang/Driver/Types.def
The file was modified/cfe/trunk/lib/Driver/Action.cpp (diff)clang.src/lib/Driver/Action.cpp
The file was modified/cfe/trunk/lib/Driver/CMakeLists.txt (diff)clang.src/lib/Driver/CMakeLists.txt
The file was modified/cfe/trunk/lib/Driver/Driver.cpp (diff)clang.src/lib/Driver/Driver.cpp
The file was modified/cfe/trunk/lib/Driver/Phases.cpp (diff)clang.src/lib/Driver/Phases.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChain.cpp (diff)clang.src/lib/Driver/ToolChain.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cpp (diff)clang.src/lib/Driver/ToolChains/Clang.cpp
The file was removed/cfe/trunk/lib/Driver/ToolChains/InterfaceStubs.cppclang.src/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was removed/cfe/trunk/lib/Driver/ToolChains/InterfaceStubs.hclang.src/lib/Driver/ToolChains/InterfaceStubs.h
The file was modified/cfe/trunk/lib/Driver/Types.cpp (diff)clang.src/lib/Driver/Types.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cpp (diff)clang.src/lib/Frontend/CompilerInvocation.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/bad-format.cpp (diff)clang.src/test/InterfaceStubs/bad-format.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/class-template-specialization.cpp (diff)clang.src/test/InterfaceStubs/class-template-specialization.cpp
The file was removed/cfe/trunk/test/InterfaceStubs/conflict-type.ifsclang.src/test/InterfaceStubs/conflict-type.ifs
The file was removed/cfe/trunk/test/InterfaceStubs/driver-test.cclang.src/test/InterfaceStubs/driver-test.c
The file was modified/cfe/trunk/test/InterfaceStubs/externstatic.c (diff)clang.src/test/InterfaceStubs/externstatic.c
The file was removed/cfe/trunk/test/InterfaceStubs/func.ifsclang.src/test/InterfaceStubs/func.ifs
The file was modified/cfe/trunk/test/InterfaceStubs/function-template-specialization.cpp (diff)clang.src/test/InterfaceStubs/function-template-specialization.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/inline.c (diff)clang.src/test/InterfaceStubs/inline.c
The file was removed/cfe/trunk/test/InterfaceStubs/merge-conflict-test.cclang.src/test/InterfaceStubs/merge-conflict-test.c
The file was removed/cfe/trunk/test/InterfaceStubs/object-double.cclang.src/test/InterfaceStubs/object-double.c
The file was removed/cfe/trunk/test/InterfaceStubs/object-float.cclang.src/test/InterfaceStubs/object-float.c
The file was removed/cfe/trunk/test/InterfaceStubs/object.cclang.src/test/InterfaceStubs/object.c
The file was added/cfe/trunk/test/InterfaceStubs/object.cppclang.src/test/InterfaceStubs/object.cpp
The file was removed/cfe/trunk/test/InterfaceStubs/object.ifsclang.src/test/InterfaceStubs/object.ifs
The file was modified/cfe/trunk/test/InterfaceStubs/template-namespace-function.cpp (diff)clang.src/test/InterfaceStubs/template-namespace-function.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/weak.cpp (diff)clang.src/test/InterfaceStubs/weak.cpp
The file was modified/cfe/trunk/test/lit.cfg.py (diff)clang.src/test/lit.cfg.py
Revision 373555 by dsanders:
[gicombiner] Make rL373551 compatible with older cmakes

Newer cmakes appear to be more flexible w.r.t object libraries. Convert to
a static library so that it works with older cmakes too
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/TableGen/CMakeLists.txt (diff)llvm.src/unittests/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txt (diff)llvm.src/utils/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/GlobalISel/CMakeLists.txt (diff)llvm.src/utils/TableGen/GlobalISel/CMakeLists.txt
Revision 373554 by nico:
gn build: (manually) merge r373551
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/unittests/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/unittests/TableGenllvm.src/utils/gn/secondary/llvm/unittests/TableGen
The file was added/llvm/trunk/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gnllvm.src/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/GlobalISelllvm.src/utils/gn/secondary/llvm/utils/TableGen/GlobalISel
The file was added/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gnllvm.src/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
Revision 373553 by rsmith:
PR43519: don't inject a diagnostic when constant-evaulation of a
pointer-to-member call can't determine a callee.

We will have produced a diagnostic already if the callee is known to be
unevaluatable, and diagnosing here rejects valid code during potential
constant expression checking.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/test/SemaCXX/constant-expression-cxx11.cpp (diff)clang.src/test/SemaCXX/constant-expression-cxx11.cpp
Revision 373552 by zer0:
Fixing broken builds due to r373538, issues with filepath and hexagon toolchain.

It appears there are some issues with the hexagon toolchain, and also the file
path for the library file. If this doesn't fix the remaining breakages I will
attempt a revert.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/InterfaceStubs/driver-test.c (diff)clang.src/test/InterfaceStubs/driver-test.c
Revision 373551 by dsanders:
[gicombiner] Add a CodeExpander to handle C++ fragments with variable expansion

Summary:
This will handle expansion of C++ fragments in the declarative combiner
including custom predicates, and escapes into C++ to aid the migration
effort.

Reviewers: bogner, volkan

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68288
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/CMakeLists.txt (diff)llvm.src/unittests/CMakeLists.txt
The file was added/llvm/trunk/unittests/TableGenllvm.src/unittests/TableGen
The file was added/llvm/trunk/unittests/TableGen/CMakeLists.txtllvm.src/unittests/TableGen/CMakeLists.txt
The file was added/llvm/trunk/unittests/TableGen/CodeExpanderTest.cppllvm.src/unittests/TableGen/CodeExpanderTest.cpp
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txt (diff)llvm.src/utils/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/GICombinerEmitter.cpp (diff)llvm.src/utils/TableGen/GICombinerEmitter.cpp
The file was added/llvm/trunk/utils/TableGen/GlobalISelllvm.src/utils/TableGen/GlobalISel
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CMakeLists.txtllvm.src/utils/TableGen/GlobalISel/CMakeLists.txt
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpander.cppllvm.src/utils/TableGen/GlobalISel/CodeExpander.cpp
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpander.hllvm.src/utils/TableGen/GlobalISel/CodeExpander.h
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpansions.hllvm.src/utils/TableGen/GlobalISel/CodeExpansions.h
Revision 373550 by gnsyncbot:
gn build: Merge r373538
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/Driver/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Revision 373549 by zer0:
Fixing broken builds due to r373538 due to test that should have been deleted.

test/InterfaceStubs/object.cpp should have been deleted.
Change TypePath in RepositoryPath in Workspace
The file was removed/cfe/trunk/test/InterfaceStubs/object.cppclang.src/test/InterfaceStubs/object.cpp
Revision 373548 by rsmith:
Mark P0784R7 as complete and start defining its feature-test macro.

Note that this only covers the language side of this feature. (The
library side has its own feature test macro.)
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Frontend/InitPreprocessor.cpp (diff)clang.src/lib/Frontend/InitPreprocessor.cpp
The file was modified/cfe/trunk/test/Lexer/cxx-features.cpp (diff)clang.src/test/Lexer/cxx-features.cpp
The file was modified/cfe/trunk/www/cxx_status.html (diff)clang.src/www/cxx_status.html
Revision 373547 by rsmith:
For P0784R7: support placement new-expressions in constant evaluation.

For now, we restrict this support to use from within the standard
library implementation, since we're required to make parts of the
standard library that use placement new work, but not permitted to
make uses of placement new from user code work.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticASTKinds.td (diff)clang.src/include/clang/Basic/DiagnosticASTKinds.td
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/lib/AST/Interp/State.h (diff)clang.src/lib/AST/Interp/State.h
The file was modified/cfe/trunk/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp (diff)clang.src/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
Revision 373546 by rsmith:
For P0784R7: allow direct calls to operator new / operator delete from
std::allocator::{allocate,deallocate} in constant evaluation.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticASTKinds.td (diff)clang.src/include/clang/Basic/DiagnosticASTKinds.td
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was added/cfe/trunk/test/SemaCXX/cxx2a-constexpr-dynalloc.cppclang.src/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
Revision 373545 by dsanders:
[gicombiner] Fix windows issue where single quotes in the command are passed through to tablegen
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/CMakeLists.txt (diff)llvm.src/lib/Target/AArch64/CMakeLists.txt
Revision 373544 by rampitec:
[AMDGPU] Fix illegal agpr use by VALU

When SIFixSGPRCopies attempts to fix an illegal copy from vector to
scalar register it calls moveToVALU(). A copy from an agpr to sgpr
becomes a copy from agpr to agpr, which may result in the illegal
register class at a use of this copy.

Solution is to copy it always into a vgpr. This may result in a
subsequent copy into an agpr if that is what really needed, however
should not happen too often and likely will be folded later.

The opposite situation may not happen because an sgpr is always
illegal where agpr is legal, so such user instructions may not
exist.

Differential Revision: https://reviews.llvm.org/D68358
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/fold_acc_copy_into_valu.mirllvm.src/test/CodeGen/AMDGPU/fold_acc_copy_into_valu.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll (diff)llvm.src/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll
Revision 373543 by dsanders:
[gicombiner] Fix a nullptr dereference when -combiners is given a name that isn't defined

This is unlikely to be the root cause for the windows bot failures but
it would explain the stack trace seen.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/TableGen/GICombinerEmitter.cpp (diff)llvm.src/utils/TableGen/GICombinerEmitter.cpp
Revision 373542 by lebedevri:
[InstCombine] Bypass high bit extract before variable sign-extension (PR43523)

https://rise4fun.com/Alive/8BY - valid for lshr+trunc+variable sext
https://rise4fun.com/Alive/7jk - the variable sext can be redundant

https://rise4fun.com/Alive/Qslu - 'exact'-ness of first shift can be preserver

https://rise4fun.com/Alive/IF63 - without trunc we could view this as
                                  more general "drop redundant mask before right-shift",
                                  but let's handle it here for now
https://rise4fun.com/Alive/iip - likewise, without trunc, variable sext can be redundant.

There's more patterns for sure - e.g. we can have 'lshr' as the final shift,
but that might be best handled by some more generic transform, e.g.
"drop redundant masking before right-shift" (PR42456)

I'm singling-out this sext patch because you can only extract
high bits with `*shr` (unlike abstract bit masking),
and i *know* this fold is wanted by existing code.

I don't believe there is much to review here,
so i'm gonna opt into post-review mode here.

https://bugs.llvm.org/show_bug.cgi?id=43523
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineInternal.h (diff)llvm.src/lib/Transforms/InstCombine/InstCombineInternal.h
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineShifts.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll (diff)llvm.src/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
Revision 373541 by lebedevri:
[NFC][InstCombine] Add tests for 'variable sext of variable high bit extract' pattern (PR43523)

https://bugs.llvm.org/show_bug.cgi?id=43523
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.llllvm.src/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
Revision 373540 by dblaikie:
DebugInfo: Rename DebugLocStream::Entry::Begin/EndSym to just Begin/End

Brings this struct in line with the RangeSpan class so they might
eventually be used by common template code for generating range/loc
lists with less duplicate code.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocStream.h (diff)llvm.src/lib/CodeGen/AsmPrinter/DebugLocStream.h
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Revision 373539 by morehouse:
Move SanitizerInitializeUnwinder outside anonymous namespace.

Fixes the Android build breakage introduced in r373528.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
Revision 373538 by zer0:
[clang][ifs] Clang Interface Stubs ToolChain plumbing.

This patch enables end to end support for generating ELF interface stubs
directly from clang. Now the following:

clang -emit-interface-stubs -o libfoo.so a.cpp b.cpp c.cpp

will product an ELF binary with visible symbols populated. Visibility attributes
and -fvisibility can be used to control what gets populated.

* Adding ToolChain support for clang Driver IFS Merge Phase
* Implementing a default InterfaceStubs Merge clang Tool, used by ToolChain
* Adds support for the clang Driver to involve llvm-ifs on ifs files.
* Adds -emit-merged-ifs flag, to tell llvm-ifs to emit a merged ifs text file
  instead of the final object format (normally ELF)


Differential Revision: https://reviews.llvm.org/D63978
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Action.h (diff)clang.src/include/clang/Driver/Action.h
The file was modified/cfe/trunk/include/clang/Driver/Options.td (diff)clang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/include/clang/Driver/Phases.h (diff)clang.src/include/clang/Driver/Phases.h
The file was modified/cfe/trunk/include/clang/Driver/ToolChain.h (diff)clang.src/include/clang/Driver/ToolChain.h
The file was modified/cfe/trunk/include/clang/Driver/Types.def (diff)clang.src/include/clang/Driver/Types.def
The file was modified/cfe/trunk/lib/Driver/Action.cpp (diff)clang.src/lib/Driver/Action.cpp
The file was modified/cfe/trunk/lib/Driver/CMakeLists.txt (diff)clang.src/lib/Driver/CMakeLists.txt
The file was modified/cfe/trunk/lib/Driver/Driver.cpp (diff)clang.src/lib/Driver/Driver.cpp
The file was modified/cfe/trunk/lib/Driver/Phases.cpp (diff)clang.src/lib/Driver/Phases.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChain.cpp (diff)clang.src/lib/Driver/ToolChain.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cpp (diff)clang.src/lib/Driver/ToolChains/Clang.cpp
The file was added/cfe/trunk/lib/Driver/ToolChains/InterfaceStubs.cppclang.src/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was added/cfe/trunk/lib/Driver/ToolChains/InterfaceStubs.hclang.src/lib/Driver/ToolChains/InterfaceStubs.h
The file was modified/cfe/trunk/lib/Driver/Types.cpp (diff)clang.src/lib/Driver/Types.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cpp (diff)clang.src/lib/Frontend/CompilerInvocation.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/bad-format.cpp (diff)clang.src/test/InterfaceStubs/bad-format.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/class-template-specialization.cpp (diff)clang.src/test/InterfaceStubs/class-template-specialization.cpp
The file was added/cfe/trunk/test/InterfaceStubs/conflict-type.ifsclang.src/test/InterfaceStubs/conflict-type.ifs
The file was added/cfe/trunk/test/InterfaceStubs/driver-test.cclang.src/test/InterfaceStubs/driver-test.c
The file was modified/cfe/trunk/test/InterfaceStubs/externstatic.c (diff)clang.src/test/InterfaceStubs/externstatic.c
The file was added/cfe/trunk/test/InterfaceStubs/func.ifsclang.src/test/InterfaceStubs/func.ifs
The file was modified/cfe/trunk/test/InterfaceStubs/function-template-specialization.cpp (diff)clang.src/test/InterfaceStubs/function-template-specialization.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/inline.c (diff)clang.src/test/InterfaceStubs/inline.c
The file was added/cfe/trunk/test/InterfaceStubs/merge-conflict-test.cclang.src/test/InterfaceStubs/merge-conflict-test.c
The file was added/cfe/trunk/test/InterfaceStubs/object-double.cclang.src/test/InterfaceStubs/object-double.c
The file was added/cfe/trunk/test/InterfaceStubs/object-float.cclang.src/test/InterfaceStubs/object-float.c
The file was added/cfe/trunk/test/InterfaceStubs/object.cclang.src/test/InterfaceStubs/object.c
The file was added/cfe/trunk/test/InterfaceStubs/object.ifsclang.src/test/InterfaceStubs/object.ifs
The file was modified/cfe/trunk/test/InterfaceStubs/template-namespace-function.cpp (diff)clang.src/test/InterfaceStubs/template-namespace-function.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/weak.cpp (diff)clang.src/test/InterfaceStubs/weak.cpp
The file was modified/cfe/trunk/test/lit.cfg.py (diff)clang.src/test/lit.cfg.py
Revision 373537 by xbolva00:
[InstCombine] Transform bcopy to memmove

bcopy is still widely used mainly for network apps. Sadly, LLVM has no optimizations for bcopy, but there are some for memmove.
Since bcopy == memmove, it is profitable to transform bcopy to memmove and use current optimizations for memmove for free here.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/SimplifyLibCalls.h (diff)llvm.src/include/llvm/Transforms/Utils/SimplifyLibCalls.h
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp (diff)llvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was added/llvm/trunk/test/Transforms/InstCombine/bcopy.llllvm.src/test/Transforms/InstCombine/bcopy.ll
Revision 373536 by ctopper:
[X86] Add test cases for suboptimal vselect+setcc splitting.

If the vselect result type needs to be split, it will try to
also try to split the condition if it happens to be a setcc.

With avx512 where k-registers are legal, its probably better
to just use a kshift to split the mask register.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-vselect.ll (diff)llvm.src/test/CodeGen/X86/avx512-vselect.ll
The file was modified/llvm/trunk/test/CodeGen/X86/min-legal-vector-width.ll (diff)llvm.src/test/CodeGen/X86/min-legal-vector-width.ll
Revision 373535 by ctopper:
[LegalizeTypes] Check for already split condition before calilng SplitVecRes_SETCC in SplitRes_SELECT.

No point in manually splitting the SETCC if it was already done.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
Revision 373534 by nico:
gn build: (manually) merge r373527
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Revision 373533 by dblaikie:
DebugInfo: Simplify RangeSpan to be a plain struct

This is an effort to make RangeSpan and DebugLocStream::Entry more
similar to share code for their emission (to reuse the more complicated
code for using (& choosing when to use) base address selection entries,
etc).

It didn't seem like this struct was worth the complexity of
encapsulation - when the members could be initialized by the ctor to any
value (no validation) and the type is assignable (so there's no
mutability or other constraint being implemented by its interface).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfFile.h (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfFile.h
Revision 373532 by morehouse:
[sanitizer_common] Declare __sanitizer_on_print in Windows interception.

Speculative fix for Windows bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_win_weak_interception.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_win_weak_interception.cpp
Revision 373531 by morehouse:
[sanitizer_common] Disable onprint.cpp on Android.

The test fails to find the written file on Android.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/onprint.cpp (diff)compiler-rt.src/test/sanitizer_common/TestCases/onprint.cpp
Revision 373530 by morehouse:
[sanitizer_common] Add __sanitizer_on_print to interface list.

Should fix the current Windows buildbot failure.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interface.inc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_common_interface.inc
Revision 373529 by Vitaly Buka:
[compiler-rt] Use GetNextInstructionPc in signal handlers

Summary:
All other stack trace callers assume that PC contains return address.
HWAsan already use GetNextInstructionPc in similar code.

PR43339

Reviewers: eugenis, kcc, jfb

Subscribers: dexonsmith, dberris, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D68313
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/asan/asan_errors.cpp (diff)compiler-rt.src/lib/asan/asan_errors.cpp
The file was modified/compiler-rt/trunk/lib/lsan/lsan.cpp (diff)compiler-rt.src/lib/lsan/lsan.cpp
The file was modified/compiler-rt/trunk/lib/msan/msan.cpp (diff)compiler-rt.src/lib/msan/msan.cpp
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cpp (diff)compiler-rt.src/lib/tsan/rtl/tsan_rtl.cpp
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_signals_standalone.cpp (diff)compiler-rt.src/lib/ubsan/ubsan_signals_standalone.cpp
The file was added/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_line.cppcompiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_line.cpp
Revision 373528 by Vitaly Buka:
NFC: add namespace {}
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
Revision 373527 by dsanders:
[gicombiner] Add the boring boilerplate for the declarative combiner

Summary:
This is the first of a series of patches extracted from a much bigger WIP
patch. It merely establishes the tblgen pass and the way empty combiner
helpers are declared and integrated into a combiner info.

The tablegen pass takes a -combiners option to select the combiner helper
that will be generated. This can be given multiple values to generate
multiple combiner helpers at once. Doing so helps to minimize parsing
overhead.

The reason for creating a GlobalISel subdirectory in utils/TableGen is that
there will be quite a lot of non-pass files (~15) by the time the patch
series is done.

Reviewers: volkan

Subscribers: mgorny, hiraditya, simoncook, Petar.Avramovic, s.egerton, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68286
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/include/llvm/Target/GlobalISel/Combine.tdllvm.src/include/llvm/Target/GlobalISel/Combine.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64.td (diff)llvm.src/lib/Target/AArch64/AArch64.td
The file was added/llvm/trunk/lib/Target/AArch64/AArch64Combine.tdllvm.src/lib/Target/AArch64/AArch64Combine.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp (diff)llvm.src/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/CMakeLists.txt (diff)llvm.src/lib/Target/AArch64/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txt (diff)llvm.src/utils/TableGen/CMakeLists.txt
The file was added/llvm/trunk/utils/TableGen/GICombinerEmitter.cppllvm.src/utils/TableGen/GICombinerEmitter.cpp
The file was modified/llvm/trunk/utils/TableGen/TableGen.cpp (diff)llvm.src/utils/TableGen/TableGen.cpp
The file was modified/llvm/trunk/utils/TableGen/TableGenBackends.h (diff)llvm.src/utils/TableGen/TableGenBackends.h
Revision 373526 by rksimon:
Fix uninitialized variable warning in CodeGenPGO constructor. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CodeGenPGO.h (diff)clang.src/lib/CodeGen/CodeGenPGO.h
Revision 373525 by rksimon:
ItaniumCXXABI - silence static analyzer getAs<RecordType> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but we should be able to use castAs<RecordType> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp (diff)clang.src/lib/CodeGen/ItaniumCXXABI.cpp
Revision 373523 by sdmitriev:
[Clang][Driver][NFC] Corrected DeviceActionBuilder methods' comments.

Differential Revision: https://reviews.llvm.org/D68355
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/Driver.cpp (diff)clang.src/lib/Driver/Driver.cpp
Revision 373522 by fhahn:
Recommit "[GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing."

The cause for the revert should be fixed by r373513 /
a80b6c15425f82521c624ff24c5c0a34cd534d54

This reverts commit 47dbcbd8ec6bf6c0b9cbe5811e81a37cc55e73ef.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp (diff)llvm.src/lib/Transforms/IPO/GlobalOpt.cpp
Revision 373520 by rksimon:
CGObjCMac - silence static analyzer dyn_cast<>/getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but we should be able to use cast<>/castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGObjCMac.cpp (diff)clang.src/lib/CodeGen/CGObjCMac.cpp
Revision 373519 by yi-hong.lyu:
[PowerPC] Fix SH field overflow issue

Store rlwinm Rx, Ry, 32, 0, 31 as rlwinm Rx, Ry, 0, 0, 31 and store
rldicl Rx, Ry, 64, 0 as rldicl Rx, Ry, 0, 0. Otherwise SH field is overflow and
fails assertion in assembly printing stage.

Differential Revision: https://reviews.llvm.org/D66991
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)llvm.src/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/sh-overflow.mirllvm.src/test/CodeGen/PowerPC/sh-overflow.mir
Revision 373518 by morehouse:
[sanitizer_common] Rename OnPrint to __sanitizer_on_print.

Summary:
https://reviews.llvm.org/D28596 exposed OnPrint in the global namespace,
which can cause collisions with user-defined OnPrint() functions.

Reviewers: vitalybuka, dvyukov

Reviewed By: vitalybuka, dvyukov

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67987
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_printf.cpp
The file was added/compiler-rt/trunk/test/sanitizer_common/TestCases/onprint.cppcompiler-rt.src/test/sanitizer_common/TestCases/onprint.cpp
Revision 373517 by Louis Dionne:
[libc++] Use functions instead of global variables to set libc++ build flags

This commit follows the trend of doing things per-target instead of
modifying the C++ flags globally. It does so for visibility-related
flags, other basic build flags and Windows-specific flags.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
The file was modified/libcxx/trunk/src/CMakeLists.txt (diff)libcxx.src/src/CMakeLists.txt
Revision 373516 by dsanders:
Fix inconsistent indentation in TableGen.cpp

The anonymous namespace starts out (incorrectly) indented but isn't
indented from the TimeRegionsOpt declaration onwards.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/TableGen/TableGen.cpp (diff)llvm.src/utils/TableGen/TableGen.cpp
Revision 373515 by eugenis:
Handle llvm.launder.invariant.group in msan.

Summary:
[MSan] handle llvm.launder.invariant.group

    Msan used to give false-positives in

    class Foo {
     public:
      virtual ~Foo() {};
    };

    // Return true iff *x is set.
    bool f1(void **x, bool flag);

    Foo* f() {
      void *p;
      bool found;
      found = f1(&p,flag);
      if (found) {
        // p is always set here.
        return static_cast<Foo*>(p); // False positive here.
      }
      return nullptr;
    }

Patch by Ilya Tokar.

Reviewers: #sanitizers, eugenis

Reviewed By: #sanitizers, eugenis

Subscribers: eugenis, Prazek, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68236
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)llvm.src/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was added/llvm/trunk/test/Instrumentation/MemorySanitizer/msan_llvm_launder_invariant.llllvm.src/test/Instrumentation/MemorySanitizer/msan_llvm_launder_invariant.ll
The file was added/llvm/trunk/test/Instrumentation/MemorySanitizer/msan_llvm_strip_invariant.llllvm.src/test/Instrumentation/MemorySanitizer/msan_llvm_strip_invariant.ll
Revision 373514 by evandro:
[TableGen] Improve error reporting of overlapping definitions (NFC)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/TableGen/CodeGenSchedule.cpp (diff)llvm.src/utils/TableGen/CodeGenSchedule.cpp
Revision 373513 by fhahn:
[Local] Handle terminators with users in removeUnreachableBlocks.

Terminators like invoke can have users outside the current basic block.
We have to replace those users with undef, before replacing the
terminator.

This fixes a crash exposed by rL373430.

Reviewers: brzycki, asbirlea, davide, spatel

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D68327
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/llvm/trunk/unittests/Transforms/Utils/LocalTest.cpp (diff)llvm.src/unittests/Transforms/Utils/LocalTest.cpp
Revision 373511 by Louis Dionne:
[libc++] Use a function to set warning flags per target

This is part of a larger shift to move to per-target settings and
eradicate global variables from the CMake build. I'm starting small
with warnings only because those are easy to transition over and I
want to see how it pans out, but we can handle all flags like exceptions
and RTTI in the future.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
The file was modified/libcxx/trunk/src/CMakeLists.txt (diff)libcxx.src/src/CMakeLists.txt
Revision 373506 by Louis Dionne:
[libc++] Revert to using PUBLIC instead of PRIVATE when linking system libs

It turns out the benchmarks need to link against those libraries
explicitly too, so CMake's propagation of PUBLIC dependencies is
used.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/CMakeLists.txt (diff)libcxx.src/src/CMakeLists.txt
Revision 373505 by asbirlea:
[MemorySSA] Update Phi creation when inserting a Def.

MemoryPhis should be added in the IDF of the blocks newly gaining Defs.
This includes the blocks that gained a Phi and the block gaining a Def,
if the block did not have one before.
Resolves PR43427.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cpp (diff)llvm.src/lib/Analysis/MemorySSAUpdater.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/pr43427.llllvm.src/test/Analysis/MemorySSA/pr43427.ll
Revision 373504 by d0k:
[Stencil] Hide implementaion detai. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Tooling/Refactoring/Stencil.cpp (diff)clang.src/lib/Tooling/Refactoring/Stencil.cpp
Revision 373503 by d0k:
[ARM] Make helpers static. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
Revision 373502 by abataev:
[OPENMP50]Add parsing/sema analysis for declare variant score.

Context selectors may include optional score clause in format
`score(<expr>):`, where `<expr>` must be a constant integer expression.
Added parsing/sema analysis only.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Attr.td (diff)clang.src/include/clang/Basic/Attr.td
The file was modified/cfe/trunk/include/clang/Sema/Sema.h (diff)clang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Parse/ParseOpenMP.cpp (diff)clang.src/lib/Parse/ParseOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)clang.src/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_ast_print.c (diff)clang.src/test/OpenMP/declare_variant_ast_print.c
The file was modified/cfe/trunk/test/OpenMP/declare_variant_ast_print.cpp (diff)clang.src/test/OpenMP/declare_variant_ast_print.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.c (diff)clang.src/test/OpenMP/declare_variant_messages.c
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.cpp (diff)clang.src/test/OpenMP/declare_variant_messages.cpp
Revision 373495 by ctopper:
[X86] Rewrite to the vXi1 subvector insertion code to not rely on the value of bits that might be undef

The previous code tried to do a trick where we would extract the subvector from the location we were inserting. Then xor that with the new value. Take the xored value and clear out the bits above the subvector size. Then shift that xored subvector to the insert location. And finally xor that with the original vector. Since the old subvector was used in both xors, this would leave just the new subvector at the inserted location. Since the surrounding bits had been zeroed no other bits of the original vector would be modified.

Unfortunately, if the old subvector came from undef we might aggressively propagate the undef. Then we end up with the XORs not cancelling because they aren't using the same value for the two uses of the old subvector. @bkramer gave me a case that demonstrated this, but we haven't reduced it enough to make it easily readable to see what's happening.

This patch uses a safer, but more costly approach. It isolate the bits above the insertion and bits below the insert point and ORs those together leaving 0 for the insertion location. Then widens the subvector with 0s in the upper bits, shifts it into position with 0s in the lower bits. Then we do another OR.

Differential Revision: https://reviews.llvm.org/D68311
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-calling-conv.ll (diff)llvm.src/test/CodeGen/X86/avx512-calling-conv.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-ext.ll (diff)llvm.src/test/CodeGen/X86/avx512-ext.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-insert-extract.ll (diff)llvm.src/test/CodeGen/X86/avx512-insert-extract.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll (diff)llvm.src/test/CodeGen/X86/avx512-mask-op.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store.ll (diff)llvm.src/test/CodeGen/X86/masked_store.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_smulo.ll (diff)llvm.src/test/CodeGen/X86/vec_smulo.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_umulo.ll (diff)llvm.src/test/CodeGen/X86/vec_umulo.ll
Revision 373494 by hiraditya:
Fix: Actually erase remove the elements from AssumeHandles

Reviewers: sdmitriev, tejohnson

Reviewed by: tejohnson

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68318
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/AssumptionCache.cpp (diff)llvm.src/lib/Analysis/AssumptionCache.cpp
Revision 373493 by tlively:
[WebAssembly] Error when using wasm64 for ISel

Summary:
64-bit WebAssembly (wasm64) is not specified and not supported in the
WebAssembly backend. We do have support for it in clang, however, and
we would like to keep that support because we expect wasm64 to be
specified and supported in the future. For now add an error when
trying to use wasm64 from the backend to minimize user confusion from
unexplained crashes.

Reviewers: aheejin, dschuff, sunfish

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68254
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/cpus.ll (diff)llvm.src/test/CodeGen/WebAssembly/cpus.ll
Revision 373492 by gnsyncbot:
gn build: Merge r373489
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
Revision 373491 by Piotr Sobczak:
[AMDGPU] Extend buffer intrinsics with swizzling

Summary:
Extend cachepolicy operand in the new VMEM buffer intrinsics
to supply information whether the buffer data is swizzled.
Also, propagate this information to MIR.

Intrinsics updated:
int_amdgcn_raw_buffer_load
int_amdgcn_raw_buffer_load_format
int_amdgcn_raw_buffer_store
int_amdgcn_raw_buffer_store_format
int_amdgcn_raw_tbuffer_load
int_amdgcn_raw_tbuffer_store
int_amdgcn_struct_buffer_load
int_amdgcn_struct_buffer_load_format
int_amdgcn_struct_buffer_store
int_amdgcn_struct_buffer_store_format
int_amdgcn_struct_tbuffer_load
int_amdgcn_struct_tbuffer_store

Furthermore, disable merging of VMEM buffer instructions
in SI Load/Store optimizer, if the "swizzled" bit on the instruction
is on.

The default value of the bit is 0, meaning that data in buffer
is linear and buffer instructions can be merged.

There is no difference in the generated code with this commit.
However, in the future it will be expected that front-ends
use buffer intrinsics with correct "swizzled" bit set.

Reviewers: arsenm, nhaehnle, tpr

Reviewed By: nhaehnle

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, arphaman, jfb, Petar.Avramovic, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68200
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.td (diff)llvm.src/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp (diff)llvm.src/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/BUFInstructions.td (diff)llvm.src/lib/Target/AMDGPU/BUFInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp (diff)llvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h (diff)llvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFrameLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.td (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp (diff)llvm.src/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h (diff)llvm.src/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-private.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-private.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir (diff)llvm.src/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/clamp-omod-special-case.mir (diff)llvm.src/test/CodeGen/AMDGPU/clamp-omod-special-case.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-extend-pruned-subrange.mir (diff)llvm.src/test/CodeGen/AMDGPU/coalescer-extend-pruned-subrange.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir (diff)llvm.src/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir (diff)llvm.src/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir (diff)llvm.src/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir (diff)llvm.src/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/collapse-endcf.mir (diff)llvm.src/test/CodeGen/AMDGPU/collapse-endcf.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/collapse-endcf2.mir (diff)llvm.src/test/CodeGen/AMDGPU/collapse-endcf2.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir (diff)llvm.src/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/couldnt-join-subrange-3.mir (diff)llvm.src/test/CodeGen/AMDGPU/couldnt-join-subrange-3.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/extract_subvector_vec4_vec3.ll (diff)llvm.src/test/CodeGen/AMDGPU/extract_subvector_vec4_vec3.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-fi-mubuf.mir (diff)llvm.src/test/CodeGen/AMDGPU/fold-fi-mubuf.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-imm-copy.mir (diff)llvm.src/test/CodeGen/AMDGPU/fold-imm-copy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-imm-f16-f32.mir (diff)llvm.src/test/CodeGen/AMDGPU/fold-imm-f16-f32.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-immediate-output-mods.mir (diff)llvm.src/test/CodeGen/AMDGPU/fold-immediate-output-mods.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-multiple.mir (diff)llvm.src/test/CodeGen/AMDGPU/fold-multiple.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hazard-buffer-store-v-interp.mir (diff)llvm.src/test/CodeGen/AMDGPU/hazard-buffer-store-v-interp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hazard-hidden-bundle.mir (diff)llvm.src/test/CodeGen/AMDGPU/hazard-hidden-bundle.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/indirect-addressing-term.ll (diff)llvm.src/test/CodeGen/AMDGPU/indirect-addressing-term.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/insert-skips-flat-vmem.mir (diff)llvm.src/test/CodeGen/AMDGPU/insert-skips-flat-vmem.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/insert-waitcnts-exp.mir (diff)llvm.src/test/CodeGen/AMDGPU/insert-waitcnts-exp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/inserted-wait-states.mir (diff)llvm.src/test/CodeGen/AMDGPU/inserted-wait-states.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/invert-br-undef-vcc.mir (diff)llvm.src/test/CodeGen/AMDGPU/invert-br-undef-vcc.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/lds-branch-vmem-hazard.mir (diff)llvm.src/test/CodeGen/AMDGPU/lds-branch-vmem-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll (diff)llvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll (diff)llvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory-legalizer-atomic-insert-end.mir (diff)llvm.src/test/CodeGen/AMDGPU/memory-legalizer-atomic-insert-end.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-atomics.mir (diff)llvm.src/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-atomics.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-1.mir (diff)llvm.src/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-1.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-2.mir (diff)llvm.src/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-2.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory_clause.mir (diff)llvm.src/test/CodeGen/AMDGPU/memory_clause.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/merge-load-store.mir (diff)llvm.src/test/CodeGen/AMDGPU/merge-load-store.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir (diff)llvm.src/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/nsa-vmem-hazard.mir (diff)llvm.src/test/CodeGen/AMDGPU/nsa-vmem-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir (diff)llvm.src/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/optimize-if-exec-masking.mir (diff)llvm.src/test/CodeGen/AMDGPU/optimize-if-exec-masking.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/pei-reg-scavenger-position.mir (diff)llvm.src/test/CodeGen/AMDGPU/pei-reg-scavenger-position.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir (diff)llvm.src/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/power-sched-no-instr-sunit.mir (diff)llvm.src/test/CodeGen/AMDGPU/power-sched-no-instr-sunit.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/regcoal-subrange-join-seg.mir (diff)llvm.src/test/CodeGen/AMDGPU/regcoal-subrange-join-seg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/regcoalesce-dbg.mir (diff)llvm.src/test/CodeGen/AMDGPU/regcoalesce-dbg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/rename-independent-subregs-mac-operands.mir (diff)llvm.src/test/CodeGen/AMDGPU/rename-independent-subregs-mac-operands.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir (diff)llvm.src/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir (diff)llvm.src/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/schedule-barrier.mir (diff)llvm.src/test/CodeGen/AMDGPU/schedule-barrier.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/shrink-vop3-carry-out.mir (diff)llvm.src/test/CodeGen/AMDGPU/shrink-vop3-carry-out.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir (diff)llvm.src/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/vmem-to-salu-hazard.mir (diff)llvm.src/test/CodeGen/AMDGPU/vmem-to-salu-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/vmem-vcc-hazard.mir (diff)llvm.src/test/CodeGen/AMDGPU/vmem-vcc-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/waitcnt-loop-irreducible.mir (diff)llvm.src/test/CodeGen/AMDGPU/waitcnt-loop-irreducible.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/expected-target-index-name.mir (diff)llvm.src/test/CodeGen/MIR/AMDGPU/expected-target-index-name.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/invalid-target-index-operand.mir (diff)llvm.src/test/CodeGen/MIR/AMDGPU/invalid-target-index-operand.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/load-store-opt-dlc.mir (diff)llvm.src/test/CodeGen/MIR/AMDGPU/load-store-opt-dlc.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir (diff)llvm.src/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/parse-order-reserved-regs.mir (diff)llvm.src/test/CodeGen/MIR/AMDGPU/parse-order-reserved-regs.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/target-index-operands.mir (diff)llvm.src/test/CodeGen/MIR/AMDGPU/target-index-operands.mir
Revision 373489 by aaronballman:
Add the misc-init-local-variables check.

This checks finds all primitive type local variables (integers, doubles, pointers) that are declared without an initial value. Includes fixit functionality to initialize said variables with a default value. This is zero for most types and NaN for floating point types. The use of NaNs is copied from the D programming language.

Patch by Jussi Pakkanen.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/CMakeLists.txt (diff)clang-tools-extra.src/clang-tidy/cppcoreguidelines/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp (diff)clang-tools-extra.src/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
The file was added/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/InitVariablesCheck.cppclang-tools-extra.src/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was added/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/InitVariablesCheck.hclang-tools-extra.src/clang-tidy/cppcoreguidelines/InitVariablesCheck.h
The file was modified/clang-tools-extra/trunk/docs/ReleaseNotes.rst (diff)clang-tools-extra.src/docs/ReleaseNotes.rst
The file was added/clang-tools-extra/trunk/docs/clang-tidy/checks/cppcoreguidelines-init-variables.rstclang-tools-extra.src/docs/clang-tidy/checks/cppcoreguidelines-init-variables.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst (diff)clang-tools-extra.src/docs/clang-tidy/checks/list.rst
The file was added/clang-tools-extra/trunk/test/clang-tidy/cppcoreguidelines-init-variables.cppclang-tools-extra.src/test/clang-tidy/cppcoreguidelines-init-variables.cpp
Revision 373488 by fhahn:
[Local] Remove unused LazyValueInfo pointer from removeUnreachableBlock.

There are no users that pass in LazyValueInfo, so we can simplify the
function a bit.

Reviewers: brzycki, asbirlea, davide

Reviewed By: davide

Differential Revision: https://reviews.llvm.org/D68297
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff)llvm.src/include/llvm/Transforms/Utils/Local.h
The file was modified/llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp (diff)llvm.src/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/llvm/trunk/unittests/Transforms/Utils/LocalTest.cpp (diff)llvm.src/unittests/Transforms/Utils/LocalTest.cpp
Revision 373487 by Louis Dionne:
[libc++] Use PRIVATE instead of PUBLIC when linking against system libs
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/CMakeLists.txt (diff)libcxx.src/src/CMakeLists.txt
Revision 373485 by tejohnson:
[ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary

Summary:
This fixes a hole in the handling of devirtualized targets that were
local but need promoting due to devirtualization in another module. We
were not correctly referencing the promoted symbol in some cases. Make
sure the code that updates the name also looks at the ExportedGUIDs set
by utilizing a callback that checks all conditions (the callback
utilized by the internalization/promotion code).

Reviewers: pcc, davidxl, hiraditya

Subscribers: mehdi_amini, Prazek, inglorion, steven_wu, dexonsmith, dang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68159
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/WholeProgramDevirt.h (diff)llvm.src/include/llvm/Transforms/IPO/WholeProgramDevirt.h
The file was modified/llvm/trunk/lib/LTO/LTO.cpp (diff)llvm.src/lib/LTO/LTO.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/WholeProgramDevirt.cpp (diff)llvm.src/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was added/llvm/trunk/test/ThinLTO/X86/Inputs/devirt_promote.llllvm.src/test/ThinLTO/X86/Inputs/devirt_promote.ll
The file was added/llvm/trunk/test/ThinLTO/X86/devirt_promote.llllvm.src/test/ThinLTO/X86/devirt_promote.ll
Revision 373484 by rksimon:
[CodeGen] Remove unused MachineMemOperand::print wrappers (PR41772)

As noted on PR41772, the static analyzer reports that the MachineMemOperand::print partial wrappers set a number of args to null pointers that were then dereferenced in the actual implementation.

It turns out that these wrappers are not being used at all (hence why we're not seeing any crashes), so I'd like to propose we just get rid of them.

Differential Revision: https://reviews.llvm.org/D68208
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineMemOperand.h (diff)llvm.src/include/llvm/CodeGen/MachineMemOperand.h
The file was modified/llvm/trunk/lib/CodeGen/MachineOperand.cpp (diff)llvm.src/lib/CodeGen/MachineOperand.cpp
Revision 373483 by spatel:
[SLP] add test for vectorization of different widths (PR28457); NFC
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/SLPVectorizer/X86/different-vec-widths.llllvm.src/test/Transforms/SLPVectorizer/X86/different-vec-widths.ll
Revision 373482 by mgorny:
[llvm] [cmake] Add install targets for missing distribution components

Add install targets as necessary to include all files normally installed
in LLVM_DISTRIBUTION_COMPONENTS.  This includes targets for Sphinx docs,
opt-viewer Python modules and TableGens.

Differential Revision: https://reviews.llvm.org/D68339
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/cmake/modules/AddSphinxTarget.cmake (diff)llvm.src/cmake/modules/AddSphinxTarget.cmake
The file was modified/llvm/trunk/cmake/modules/TableGen.cmake (diff)llvm.src/cmake/modules/TableGen.cmake
The file was modified/llvm/trunk/tools/opt-viewer/CMakeLists.txt (diff)llvm.src/tools/opt-viewer/CMakeLists.txt
Revision 373481 by rksimon:
LowerExpectIntrinsic handlePhiDef - silence static analyzer dyn_cast<PHINode> null dereference warning. NFCI.

The static analyzer is warning about a potential null dereference, but we should be able to use cast<PHINode> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp (diff)llvm.src/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
Revision 373480 by rksimon:
Type - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/Type.cpp (diff)clang.src/lib/AST/Type.cpp
Revision 373479 by hiraditya:
[CodeExtractor] NFC: Refactor sanity checks into isEligible

Reviewers: fhahn

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68331
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/CodeExtractor.h (diff)llvm.src/include/llvm/Transforms/Utils/CodeExtractor.h
The file was modified/llvm/trunk/lib/Transforms/Utils/CodeExtractor.cpp (diff)llvm.src/lib/Transforms/Utils/CodeExtractor.cpp
Revision 373478 by rksimon:
Silence static analyzer getAs<VectorType> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<VectorType> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/APValue.cpp (diff)clang.src/lib/AST/APValue.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGAtomic.cpp (diff)clang.src/lib/CodeGen/CGAtomic.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprScalar.cpp (diff)clang.src/lib/CodeGen/CGExprScalar.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
Revision 373477 by hans:
Reapply r373431 "Switch lowering: omit range check for bit tests when default is unreachable (PR43129)"

This was reverted in r373454 due to breaking the expensive-checks bot.
This version addresses that by omitting the addSuccessorWithProb() call
when omitting the range check.

> Switch lowering: omit range check for bit tests when default is unreachable (PR43129)
>
> This is modeled after the same functionality for jump tables, which was
> added in r357067.
>
> Differential revision: https://reviews.llvm.org/D68131
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/SwitchLoweringUtils.h (diff)llvm.src/include/llvm/CodeGen/SwitchLoweringUtils.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/switch-bt.ll (diff)llvm.src/test/CodeGen/X86/switch-bt.ll
Revision 373476 by grimar:
[llvm-readelf] - Report a warning when .hash section contains a chain with a cycle.

It is possible to craft a .hash section that triggers an infinite loop
in llvm-readelf code. This patch fixes the issue and introduces
a warning.

Differential revision: https://reviews.llvm.org/D68086
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-hash-symbols.test (diff)llvm.src/test/tools/llvm-readobj/elf-hash-symbols.test
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 373475 by rksimon:
SemaOverload - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaOverload.cpp (diff)clang.src/lib/Sema/SemaOverload.cpp
Revision 373474 by rksimon:
SemaInit - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaInit.cpp (diff)clang.src/lib/Sema/SemaInit.cpp
Revision 373473 by grimar:
[yaml2obj] - Alow Size tag for describing SHT_HASH sections.

This is a follow-up for D68085 which allows using "Size"
tag together with "Content" tag or alone.

Differential revision: https://reviews.llvm.org/D68216
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ObjectYAML/ELFYAML.h (diff)llvm.src/include/llvm/ObjectYAML/ELFYAML.h
The file was modified/llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp (diff)llvm.src/lib/ObjectYAML/ELFEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/ELFYAML.cpp (diff)llvm.src/lib/ObjectYAML/ELFYAML.cpp
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-hash-section.yaml (diff)llvm.src/test/tools/yaml2obj/elf-hash-section.yaml
Revision 373472 by sureyeaah:
[Clangd] ExtractFunction: Don't extract body of enclosing function.

Summary:
This patch disable extraction of the body of the enclosing function.
`void f() [[{}]]`

Extracting this CompoundStmt would leave the enclosing function without
a body.

Reviewers: sammccall, kadircet

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68245
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/refactor/tweaks/ExtractFunction.cpp (diff)clang-tools-extra.src/clangd/refactor/tweaks/ExtractFunction.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TweakTests.cpp (diff)clang-tools-extra.src/clangd/unittests/TweakTests.cpp
Revision 373471 by sureyeaah:
[Clangd] Ensure children are always RootStmt in ExtractFunction (Fixes #153)

Summary:
We weren't always checking if children are RootStmts in ExtractFunction.

For `void f([[int a]]);`, the ParmVarDecl appeared as a RootStmt since
we didn't perform the check and ended up being casted to a (null) Stmt.

Reviewers: sammccall, kadircet

Subscribers: kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68182
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/refactor/tweaks/ExtractFunction.cpp (diff)clang-tools-extra.src/clangd/refactor/tweaks/ExtractFunction.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TweakTests.cpp (diff)clang-tools-extra.src/clangd/unittests/TweakTests.cpp
Revision 373469 by djtodoro:
[llvm-dwarfdump] Fix dumping of wrong locstats map
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-dwarfdump/X86/locstats.ll (diff)llvm.src/test/tools/llvm-dwarfdump/X86/locstats.ll
The file was modified/llvm/trunk/tools/llvm-dwarfdump/Statistics.cpp (diff)llvm.src/tools/llvm-dwarfdump/Statistics.cpp
Revision 373468 by kmclaughlin:
[AArch64][SVE] Implement int_aarch64_sve_cnt intrinsic

Summary: This patch includes tests for the VecOfBitcastsToInt type added by D68021

Reviewers: c-rhodes, sdesmalen, rovka

Reviewed By: c-rhodes

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits, cfe-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68023
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAArch64.td (diff)llvm.src/include/llvm/IR/IntrinsicsAArch64.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64SVEInstrInfo.td (diff)llvm.src/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/SVEInstrFormats.td (diff)llvm.src/lib/Target/AArch64/SVEInstrFormats.td
The file was added/llvm/trunk/test/CodeGen/AArch64/sve-intrinsics-counting-bits.llllvm.src/test/CodeGen/AArch64/sve-intrinsics-counting-bits.ll
Revision 373467 by rksimon:
MemorySSAUpdater::applyInsertUpdates - silence static analyzer dyn_cast<MemoryAccess> null dereference warning. NFCI.

The static analyzer is warning about a potential null dereference, but we should be able to use cast<MemoryAccess> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cpp (diff)llvm.src/lib/Analysis/MemorySSAUpdater.cpp
Revision 373466 by rksimon:
MemorySSA tryOptimizePhi - assert that we've found a DefChainEnd. NFCI.

Silences static analyzer null dereference warning.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSA.cpp (diff)llvm.src/lib/Analysis/MemorySSA.cpp
Revision 373465 by rksimon:
LoopAccessAnalysis isConsecutiveAccess() - silence static analyzer dyn_cast<SCEVConstant> null dereference warning. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use cast<SCEVConstant> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp (diff)llvm.src/lib/Analysis/LoopAccessAnalysis.cpp
Revision 373464 by rksimon:
AsmPrinter - emitGlobalConstantFP - silence static analyzer null dereference warning. NFCI.

All the calls to emitGlobalConstantFP should provide a nonnull Type for the float.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Revision 373463 by gnsyncbot:
gn build: Merge r373462
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Revision 373462 by jamesm:
[ModuloSchedule] Peel out prologs and epilogs, generate actual code

Summary:
This extends the PeelingModuloScheduleExpander to generate prolog and epilog code,
and correctly stitch uses through the prolog, kernel, epilog DAG.

The key concept in this patch is to ensure that all transforms are *local*; only a
function of a block and its immediate predecessor and successor. By defining the problem in this way
we can inductively rewrite the entire DAG using only local knowledge that is easy to
reason about.

For example, we assume that all prologs and epilogs are near-perfect clones of the
steady-state kernel. This means that if a block has an instruction that is predicated out,
we can redirect all users of that instruction to that equivalent instruction in our
immediate predecessor. As all blocks are clones, every instruction must have an equivalent in
every other block.

Similarly we can make the assumption by construction that if a value defined in a block is used
outside that block, the only possible user is its immediate successors. We maintain this
even for values that are used outside the loop by creating a limited form of LCSSA.

This code isn't small, but it isn't complex.

Enabled a bunch of testing from Hexagon. There are a couple of tests not enabled yet;
I'm about 80% sure there isn't buggy codegen but the tests are checking for patterns
that we don't produce. Those still need a bit more investigation. In the meantime we
(Google) are happy with the code produced by this on our downstream SMS implementation,
and believe it generates correct code.

Subscribers: mgorny, hiraditya, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68205
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/include/llvm/CodeGen/MachineLoopUtils.hllvm.src/include/llvm/CodeGen/MachineLoopUtils.h
The file was modified/llvm/trunk/include/llvm/CodeGen/ModuloSchedule.h (diff)llvm.src/include/llvm/CodeGen/ModuloSchedule.h
The file was modified/llvm/trunk/lib/CodeGen/CMakeLists.txt (diff)llvm.src/lib/CodeGen/CMakeLists.txt
The file was added/llvm/trunk/lib/CodeGen/MachineLoopUtils.cppllvm.src/lib/CodeGen/MachineLoopUtils.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachinePipeliner.cpp (diff)llvm.src/lib/CodeGen/MachinePipeliner.cpp
The file was modified/llvm/trunk/lib/CodeGen/ModuloSchedule.cpp (diff)llvm.src/lib/CodeGen/ModuloSchedule.cpp
The file was modified/llvm/trunk/test/CodeGen/Hexagon/pipeliner/swp-phi-start.mir (diff)llvm.src/test/CodeGen/Hexagon/pipeliner/swp-phi-start.mir
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-art-deps-rec.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-art-deps-rec.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-bad-sched.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-bad-sched.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-carried-1.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-carried-1.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-carried-dep1.mir (diff)llvm.src/test/CodeGen/Hexagon/swp-carried-dep1.mir
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-carried-dep2.mir (diff)llvm.src/test/CodeGen/Hexagon/swp-carried-dep2.mir
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-chain-refs.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-chain-refs.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-change-dep1.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-change-dep1.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-change-deps.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-change-deps.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-check-offset.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-check-offset.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-const-tc1.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-const-tc1.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-const-tc2.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-const-tc2.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-const-tc3.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-const-tc3.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-conv3x3-nested.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-conv3x3-nested.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-copytophi-dag.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-copytophi-dag.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-dep-neg-offset.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-dep-neg-offset.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-disable-Os.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-disable-Os.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-epilog-numphis.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-epilog-numphis.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-epilog-phi2.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-epilog-phi2.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-epilog-phi4.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-epilog-phi4.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-epilog-phi5.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-epilog-phi5.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-epilog-phi8.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-epilog-phi8.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-kernel-phi1.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-kernel-phi1.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-large-rec.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-large-rec.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-listen-loop3.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-listen-loop3.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-loop-carried-unknown.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-loop-carried-unknown.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-lots-deps.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-lots-deps.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-max.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-max.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-maxstart.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-maxstart.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-memrefs-epilog.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-multi-loops.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-multi-loops.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-new-phi.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-new-phi.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-order-copies.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-order-copies.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-order-deps7.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-order-deps7.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-order.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-order.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-phi-ch-offset.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-phi-ch-offset.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-phi-chains.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-phi-chains.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-phi-dep.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-phi-dep.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-phi-ref.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-phi-ref.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-pragma-disable.ii (diff)llvm.src/test/CodeGen/Hexagon/swp-pragma-disable.ii
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-pragma-initiation-interval.ii (diff)llvm.src/test/CodeGen/Hexagon/swp-pragma-initiation-interval.ii
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-prolog-phi.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-prolog-phi.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-rename.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-rename.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-resmii-1.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-resmii-1.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-resmii.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-resmii.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-reuse-phi-6.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-reuse-phi-6.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-sigma.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-sigma.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-stages4.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-stages4.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-stages5.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-stages5.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-subreg.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-subreg.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-swap.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-swap.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-tfri.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-tfri.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-vect-dotprod.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-vect-dotprod.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-vmult.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-vmult.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-vsum.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-vsum.ll
Revision 373461 by maskray:
[llvm-objcopy] Add --set-section-alignment

Fixes PR43181. This option was recently added to GNU objcopy (binutils
PR24942).

`llvm-objcopy -I binary -O elf64-x86-64 --set-section-alignment .data=8` can set the alignment of .data.

Reviewed By: grimar, jhenderson, rupprecht

Differential Revision: https://reviews.llvm.org/D67656
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-objcopy.rst (diff)llvm.src/docs/CommandGuide/llvm-objcopy.rst
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-input.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/binary-input.test
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/set-section-alignment.testllvm.src/test/tools/llvm-objcopy/ELF/set-section-alignment.test
The file was modified/llvm/trunk/tools/llvm-objcopy/COFF/COFFObjcopy.cpp (diff)llvm.src/tools/llvm-objcopy/COFF/COFFObjcopy.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (diff)llvm.src/tools/llvm-objcopy/CopyConfig.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.h (diff)llvm.src/tools/llvm-objcopy/CopyConfig.h
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp (diff)llvm.src/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/MachO/MachOObjcopy.cpp (diff)llvm.src/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td (diff)llvm.src/tools/llvm-objcopy/ObjcopyOpts.td
Revision 373459 by fhahn:
[InstCombine] Simplify fma multiplication to nan for undef or nan operands.

In similar fashion to D67721, we can simplify FMA multiplications if any
of the operands is NaN or undef. In instcombine, we will simplify the
FMA to an fadd with a NaN operand, which in turn gets folded to NaN.

Note that this just changes SimplifyFMAFMul, so we still not catch the
case where only the Add part of the FMA is Nan/Undef.

Reviewers: cameron.mcinally, mcberg2017, spatel, arsenm

Reviewed By: cameron.mcinally

Differential Revision: https://reviews.llvm.org/D68265
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/InstructionSimplify.cpp (diff)llvm.src/lib/Analysis/InstructionSimplify.cpp
Revision 373458 by fhahn:
[InstCombine] Precommit tests for D68265
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/fma.ll (diff)llvm.src/test/Transforms/InstCombine/fma.ll
Revision 373456 by hiraditya:
NFC: directly return when CommonExitBlock != Succ

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68330
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/CodeExtractor.cpp (diff)llvm.src/lib/Transforms/Utils/CodeExtractor.cpp
Revision 373455 by spatel:
[InstSimplify] fold fma/fmuladd with a NaN or undef operand

This is intended to be similar to the constant folding results from
D67446
and earlier, but not all operands are constant in these tests, so the
responsibility for folding is left to InstSimplify.

Differential Revision: https://reviews.llvm.org/D67721
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/InstructionSimplify.cpp (diff)llvm.src/lib/Analysis/InstructionSimplify.cpp
The file was modified/llvm/trunk/test/Transforms/InstSimplify/call.ll (diff)llvm.src/test/Transforms/InstSimplify/call.ll
Revision 373454 by hans:
Revert r373431 "Switch lowering: omit range check for bit tests when default is unreachable (PR43129)"

This broke http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/19967

> Switch lowering: omit range check for bit tests when default is unreachable (PR43129)
>
> This is modeled after the same functionality for jump tables, which was
> added in r357067.
>
> Differential revision: https://reviews.llvm.org/D68131
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/SwitchLoweringUtils.h (diff)llvm.src/include/llvm/CodeGen/SwitchLoweringUtils.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/switch-bt.ll (diff)llvm.src/test/CodeGen/X86/switch-bt.ll
Revision 373453 by rksimon:
LICM - remove unused variable and reduce scope of another variable. NFCI.

Appeases both clang static analyzer and cppcheck
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LICM.cpp (diff)llvm.src/lib/Transforms/Scalar/LICM.cpp
Revision 373452 by maskray:
Fix libc++ pretty printer test for Python 3 after D67238
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/pretty_printers/gdb_pretty_printer_test.py (diff)libcxx.src/test/pretty_printers/gdb_pretty_printer_test.py
Revision 373451 by rksimon:
Log2_32 returns an unsigned. NFCI.

Silences clang static analyzer warning about out of bounds (negative) shifts.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (diff)clang.src/lib/CodeGen/CGObjCGNU.cpp
Revision 373450 by rksimon:
Fix uninitialized variable warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp (diff)llvm.src/lib/Demangle/MicrosoftDemangle.cpp
Revision 373449 by rksimon:
WinException::emitExceptHandlerTable - silence static analyzer dyn_cast<Function> null dereference warning. NFCI.

The static analyzer is warning about a potential null dereference, but we should be able to use cast<Function> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/WinException.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/WinException.cpp
Revision 373448 by rksimon:
MetadataLoader upgradeCUVariables() - silence static analyzer dyn_cast_or_null<> null dereference warning. NFCI.

The static analyzer is warning about a potential null dereference, but we know that the source won't be null so just use dyn_cast, which will assert if the value somehow is actually null.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp (diff)llvm.src/lib/Bitcode/Reader/MetadataLoader.cpp
Revision 373447 by rksimon:
ASTContext - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but we should be able to use castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
Revision 373446 by dmgreen:
[ARM] Identity shuffles are legal

Identity shuffles, of the form (0, 1, 2, 3, ...) are perfectly OK under MVE
(they essentially just become bitcasts). We were not catching that in the
existing set of what we considered legal though. On NEON, they would be covered
by vext's, but that is not generally available in MVE.

This uses ShuffleVectorInst::isIdentityMask which is a little odd to use here
but does what we want and prevents us from just rewriting what is the same
function.

Differential Revision: https://reviews.llvm.org/D68241
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-shuffleext.ll (diff)llvm.src/test/CodeGen/Thumb2/mve-shuffleext.ll
Revision 373445 by mstorsjo:
[Support, ARM64] Define getHostCPUFeatures for Windows on ARM64 platform

Patch by Adam Kallai!

Differential Revision: https://reviews.llvm.org/D68139
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/Host.cpp (diff)llvm.src/lib/Support/Host.cpp
Revision 373444 by hokein:
[clangd] Bail out early if we are sure that the symbol is used outside of the file.

Summary:
This would reduce the false positive when the static index is in an
unavailable state, e.g. background index is not finished.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68325
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/refactor/Rename.cpp (diff)clang-tools-extra.src/clangd/refactor/Rename.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/RenameTests.cpp (diff)clang-tools-extra.src/clangd/unittests/RenameTests.cpp
Revision 373442 by sammccall:
[clangd] SelectionTree should mark a node as fully-selected if the only claimed tokens were early-claimed.

Summary:
Previously they would be marked as partially-selected based on the early claim,
and never updated as no more tokens were claimed.
This affects simple VarDecls like "int x".

Reviewers: SureYeaah

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D66872
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/Selection.cpp (diff)clang-tools-extra.src/clangd/Selection.cpp
The file was modified/clang-tools-extra/trunk/clangd/refactor/tweaks/ExtractFunction.cpp (diff)clang-tools-extra.src/clangd/refactor/tweaks/ExtractFunction.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SelectionTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SelectionTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TweakTests.cpp (diff)clang-tools-extra.src/clangd/unittests/TweakTests.cpp
Revision 373441 by sammccall:
[ClangFormat] relnotes for r373439
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ReleaseNotes.rst (diff)clang.src/docs/ReleaseNotes.rst
Revision 373440 by hokein:
[clang-rename] Better renaming the typedef decl.

Summary:
when renaming a typedef decl, we used to rename the underlying decl of the
typedef, we should rename the typedef itself.

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68322
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h (diff)clang.src/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
The file was added/cfe/trunk/test/clang-rename/Typedef.cppclang.src/test/clang-rename/Typedef.cpp
Revision 373439 by sammccall:
[ClangFormat] Future-proof Standard option, allow floating or pinning to arbitrary lang version

Summary:
The historical context:
- clang-format was written when C++11 was current,
  and the main language-version concern was >> vs > > template-closers.
  An option was added to allow selection of the 03/11 behavior, or auto-detection.
- there was no option to choose simply "latest standard" so anyone who didn't
  ever want 03 behavior or auto-detection specified Cpp11.
- In r185149 this option started to affect lexer mode.
- no options were added to cover c++14, as parsing/formatting
  didn't change that much. The usage of Cpp11 to mean "latest" became
  codified e.g. in r206263
- c++17 added some new constructs. These were mostly backwards-compatible and so
  not used in old programs, so having no way to turn them off was OK.
- c++20 added some new constructs and keywords (e.g. co_*) that changed the
  meaning of existing programs, and people started to complain that
  the c++20 parsing couldn't be turned off.

New plan:
- Default ('Auto') behavior remains unchanged: parse as latest, format
   template-closers based on input.
- Add new 'Latest' option that more clearly expresses the intent "use
   modern features" that many projects have chosen for their .clang-format files.
- Allow pinning to *any* language version, using the same name as clang -std:
   c++03, c++11, c++14 etc. These set precise lexer options, and any
   clang-format code depending on these can use a >= check.
- For backwards compatibility, `Cpp11` is an alias for `Latest`, not `c++11`.
   This matches the historical documented semantics of this option.
   This spelling (and `Cpp03`) are deprecated.

Reviewers: klimek, modocache

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67541
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ClangFormatStyleOptions.rst (diff)clang.src/docs/ClangFormatStyleOptions.rst
The file was modified/cfe/trunk/include/clang/Format/Format.h (diff)clang.src/include/clang/Format/Format.h
The file was modified/cfe/trunk/lib/Format/Format.cpp (diff)clang.src/lib/Format/Format.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
Revision 373438 by nico:
gn build: (manually) merge r373425
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/include/clang/AST/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/include/clang/AST/BUILD.gn
Revision 373437 by kmclaughlin:
[IntrinsicEmitter] Add overloaded type VecOfBitcastsToInt for SVE intrinsics

Summary:
This allows intrinsics such as the following to be defined:
- declare <n x 4 x i32> @llvm.something.nxv4f32(<n x 4 x i32>, <n x 4 x i1>, <n x 4 x float>)

...where <n x 4 x i32> is derived from <n x 4 x float>, but
the element needs bitcasting to int.

Reviewers: c-rhodes, sdesmalen, rovka

Reviewed By: c-rhodes

Subscribers: tschuett, hiraditya, jdoerfert, llvm-commits, cfe-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68021
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/Intrinsics.h (diff)llvm.src/include/llvm/IR/Intrinsics.h
The file was modified/llvm/trunk/include/llvm/IR/Intrinsics.td (diff)llvm.src/include/llvm/IR/Intrinsics.td
The file was modified/llvm/trunk/lib/IR/Function.cpp (diff)llvm.src/lib/IR/Function.cpp
The file was modified/llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp (diff)llvm.src/utils/TableGen/IntrinsicEmitter.cpp
Revision 373436 by sammccall:
[clang-tidy] Fix typo in r373428
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/test/clang-tidy/bugprone-infinite-loop.cpp (diff)clang-tools-extra.src/test/clang-tidy/bugprone-infinite-loop.cpp
Revision 373435 by kadircet:
[clangd] Always send file URIs to editors

Summary:
Editors only know about file URIs, make sure we do not use any custom
schemes while sending edits.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68324
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdLSPServer.cpp (diff)clang-tools-extra.src/clangd/ClangdLSPServer.cpp
Revision 373434 by foad:
Remove an unnecessary cast. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/LegacyDivergenceAnalysis.cpp (diff)llvm.src/lib/Analysis/LegacyDivergenceAnalysis.cpp
Revision 373433 by foad:
[AMDGPU] Make printf lowering faster when there are no printfs

Summary:
Printf lowering unconditionally visited every instruction in the module.
To make it faster in the common case where there are no printfs, look up
the printf function (if any) and iterate over its users instead.

Reviewers: rampitec, kzhuravl, alex-t, arsenm

Subscribers: jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68145
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
Revision 373432 by fhahn:
Revert [GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing.

This breaks http://lab.llvm.org:8011/builders/sanitizer-windows/builds/52310

This reverts r373430 (git commit 70f70035484ba199a329f9f8d9bd67e37bc2b408)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp (diff)llvm.src/lib/Transforms/IPO/GlobalOpt.cpp
Revision 373431 by hans:
Switch lowering: omit range check for bit tests when default is unreachable (PR43129)

This is modeled after the same functionality for jump tables, which was
added in r357067.

Differential revision: https://reviews.llvm.org/D68131
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/SwitchLoweringUtils.h (diff)llvm.src/include/llvm/CodeGen/SwitchLoweringUtils.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/switch-bt.ll (diff)llvm.src/test/CodeGen/X86/switch-bt.ll
Revision 373430 by fhahn:
[GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing.

removeUnreachableBlocks knows how to preserve the DomTree, so make use
of it instead of re-computing the DT.

Reviewers: davide, kuhar, brzycki

Reviewed By: davide, kuhar

Differential Revision: https://reviews.llvm.org/D68298
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp (diff)llvm.src/lib/Transforms/IPO/GlobalOpt.cpp
Revision 373429 by fhahn:
[Local] Simplify function removeUnreachableBlocks() to avoid (re-)computation.

Two small changes in llvm::removeUnreachableBlocks() to avoid unnecessary (re-)computation.

First, replace the use of count() with find(), which has better time complexity.

Second, because we have already computed the set of dead blocks, replace the second loop over all basic blocks to a loop only over the already computed dead blocks. This simplifies the loop and avoids recomputation.

Patch by Rodrigo Caetano Rocha <rcor.cs@gmail.com>

Reviewers: efriedma, spatel, fhahn, xbolva00

Reviewed By: fhahn, xbolva00

Differential Revision: https://reviews.llvm.org/D68191
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
Revision 373428 by baloghadamsoftware:
[clang-tidy] Fix for commits rL372706 and rL372711

The patch committed was not the accepted version but the
previous one. This commit fixes this issue.

Differential Revision: https://reviews.llvm.org/D64736
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/bugprone/InfiniteLoopCheck.cpp (diff)clang-tools-extra.src/clang-tidy/bugprone/InfiniteLoopCheck.cpp
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/bugprone-infinite-loop.rst (diff)clang-tools-extra.src/docs/clang-tidy/checks/bugprone-infinite-loop.rst
The file was modified/clang-tools-extra/trunk/test/clang-tidy/bugprone-infinite-loop.cpp (diff)clang-tools-extra.src/test/clang-tidy/bugprone-infinite-loop.cpp
Revision 373427 by djtodoro:
Reland "[utils] Implement the llvm-locstats tool"

The tool reports verbose output for the DWARF debug location coverage.
The llvm-locstats for each variable or formal parameter DIE computes what
percentage from the code section bytes, where it is in scope, it has
location description. The line 0 shows the number (and the percentage) of
DIEs with no location information, but the line 100 shows the number (and
the percentage) of DIEs where there is location information in all code
section bytes (where the variable or parameter is in the scope). The line
50..59 shows the number (and the percentage) of DIEs where the location
information is in between 50 and 59 percentage of its scope covered.

Differential Revision: https://reviews.llvm.org/D66526

The cause of the test failure was resolved.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txt (diff)llvm.src/CMakeLists.txt
The file was modified/llvm/trunk/docs/CommandGuide/index.rst (diff)llvm.src/docs/CommandGuide/index.rst
The file was added/llvm/trunk/docs/CommandGuide/llvm-locstats.rstllvm.src/docs/CommandGuide/llvm-locstats.rst
The file was modified/llvm/trunk/test/lit.cfg.py (diff)llvm.src/test/lit.cfg.py
The file was added/llvm/trunk/test/tools/llvm-locstats/lit.local.cfgllvm.src/test/tools/llvm-locstats/lit.local.cfg
The file was added/llvm/trunk/test/tools/llvm-locstats/locstats.llllvm.src/test/tools/llvm-locstats/locstats.ll
The file was added/llvm/trunk/utils/llvm-locstats/CMakeLists.txtllvm.src/utils/llvm-locstats/CMakeLists.txt
The file was added/llvm/trunk/utils/llvm-locstats/llvm-locstats.pyllvm.src/utils/llvm-locstats/llvm-locstats.py
Revision 373426 by ruiu:
[llvm-lib] Detect duplicate input files

Differential Revision: https://reviews.llvm.org/D68320
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ToolDrivers/llvm-lib/LibDriver.cpp (diff)llvm.src/lib/ToolDrivers/llvm-lib/LibDriver.cpp
The file was added/llvm/trunk/test/tools/llvm-lib/duplicate.testllvm.src/test/tools/llvm-lib/duplicate.test
Revision 373425 by rjmccall:
Rename TypeNodes.def to TypeNodes.inc for consistency across all
our autogenerated files.  NFC.

As requested by Nico Weber.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/ASTFwd.h (diff)clang.src/include/clang/AST/ASTFwd.h
The file was modified/cfe/trunk/include/clang/AST/ASTTypeTraits.h (diff)clang.src/include/clang/AST/ASTTypeTraits.h
The file was modified/cfe/trunk/include/clang/AST/CMakeLists.txt (diff)clang.src/include/clang/AST/CMakeLists.txt
The file was modified/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (diff)clang.src/include/clang/AST/RecursiveASTVisitor.h
The file was modified/cfe/trunk/include/clang/AST/Type.h (diff)clang.src/include/clang/AST/Type.h
The file was modified/cfe/trunk/include/clang/AST/TypeLoc.h (diff)clang.src/include/clang/AST/TypeLoc.h
The file was modified/cfe/trunk/include/clang/AST/TypeLocNodes.def (diff)clang.src/include/clang/AST/TypeLocNodes.def
The file was modified/cfe/trunk/include/clang/AST/TypeVisitor.h (diff)clang.src/include/clang/AST/TypeVisitor.h
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
The file was modified/cfe/trunk/lib/AST/ASTDiagnostic.cpp (diff)clang.src/lib/AST/ASTDiagnostic.cpp
The file was modified/cfe/trunk/lib/AST/ASTTypeTraits.cpp (diff)clang.src/lib/AST/ASTTypeTraits.cpp
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/lib/AST/ItaniumMangle.cpp (diff)clang.src/lib/AST/ItaniumMangle.cpp
The file was modified/cfe/trunk/lib/AST/MicrosoftMangle.cpp (diff)clang.src/lib/AST/MicrosoftMangle.cpp
The file was modified/cfe/trunk/lib/AST/Type.cpp (diff)clang.src/lib/AST/Type.cpp
The file was modified/cfe/trunk/lib/AST/TypePrinter.cpp (diff)clang.src/lib/AST/TypePrinter.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (diff)clang.src/lib/CodeGen/CGDebugInfo.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.cpp (diff)clang.src/lib/CodeGen/CodeGenFunction.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenTypes.cpp (diff)clang.src/lib/CodeGen/CodeGenTypes.cpp
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp (diff)clang.src/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLookup.cpp (diff)clang.src/lib/Sema/SemaLookup.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpp (diff)clang.src/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateDeduction.cpp (diff)clang.src/lib/Sema/SemaTemplateDeduction.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriter.cpp (diff)clang.src/lib/Serialization/ASTWriter.cpp
Revision 373424 by ruiu:
[llvm-lib] Correctly handle .lib input files

If archive files are passed as input files, llvm-lib needs to append
the members of the input archive files to the output file. This patch
implements that behavior.

This patch splits an existing function into smaller functions.
Effectively, the new code is only `if (Magic == file_magic::archive)
{ ... }` part.

Fixes https://bugs.llvm.org/show_bug.cgi?id=32674

Differential Revision: https://reviews.llvm.org/D68204
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ToolDrivers/llvm-lib/LibDriver.cpp (diff)llvm.src/lib/ToolDrivers/llvm-lib/LibDriver.cpp
The file was modified/llvm/trunk/test/tools/llvm-lib/invalid.test (diff)llvm.src/test/tools/llvm-lib/invalid.test
The file was added/llvm/trunk/test/tools/llvm-lib/nest.testllvm.src/test/tools/llvm-lib/nest.test
Revision 373423 by ctopper:
[X86] Add broadcast load folding patterns to the NoVLX compare patterns.

These patterns use zmm registers for 128/256-bit compares when
the VLX instructions aren't available. Previously we only
supported registers, but as PR36191 notes we can fold broadcast
loads, but not regular loads.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrAVX512.td (diff)llvm.src/lib/Target/X86/X86InstrAVX512.td
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-vec-cmp.ll (diff)llvm.src/test/CodeGen/X86/avx512-vec-cmp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-vec-cmp.ll (diff)llvm.src/test/CodeGen/X86/avx512vl-vec-cmp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll (diff)llvm.src/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/combine-bitselect.ll (diff)llvm.src/test/CodeGen/X86/combine-bitselect.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-usat.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-usat.ll
Revision 373422 by hliao:
Fix GCC -Wreturn-type warnings. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/Dwarf.h (diff)llvm.src/include/llvm/BinaryFormat/Dwarf.h