FailedChanges

Summary

  1. [IA] Recognize hexadecimal escape sequences Summary: Implement support for hexadecimal escape sequences to match how GNU 'as' handles them. I.e., read all hexadecimal characters and truncate to the lower 16 bits. Reviewers: nickdesaulniers, jcai19 Subscribers: llvm-commits, hiraditya Tags: #llvm Differential Revision: https://reviews.llvm.org/D68598
  2. [LoopVectorize][PowerPC] Estimate int and float register pressure separately in loop-vectorize In loop-vectorize, interleave count and vector factor depend on target register number. Currently, it does not estimate different register pressure for different register class separately(especially for scalar type, float type should not be on the same position with int type), so it's not accurate. Specifically, it causes too many times interleaving/unrolling, result in too many register spills in loop body and hurting performance. So we need classify the register classes in IR level, and importantly these are abstract register classes, and are not the target register class of backend provided in td file. It's used to establish the mapping between the types of IR values and the number of simultaneous live ranges to which we'd like to limit for some set of those types. For example, POWER target, register num is special when VSX is enabled. When VSX is enabled, the number of int scalar register is 32(GPR), float is 64(VSR), but for int and float vector register both are 64(VSR). So there should be 2 kinds of register class when vsx is enabled, and 3 kinds of register class when VSX is NOT enabled. It runs on POWER target, it makes big(+~30%) performance improvement in one specific bmk(503.bwaves_r) of spec2017 and no other obvious degressions. Differential revision: https://reviews.llvm.org/D67148
  3. [ConstantRange] [NFC] replace addWithNoSignedWrap with addWithNoWrap.
  4. [WebAssembly] Add REQUIRES: asserts to cfg-stackify-eh.ll This was missing in D68552.
  5. [ItaniumMangle] Fix mangling of GNU __null in an expression to match GCC Reviewers: rsmith Reviewed By: rsmith Subscribers: erik.pilkington, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68368
  6. [NFC] Fix ubsan-blacklist test Restored original test and marked tests for VFS as unsupported on Windows.
  7. [sanitizer] Fix signal_trap_handler.cpp on android
  8. [LitConfig] Silenced notes/warnings on quiet. Lit has a "quiet" option, -q, which is documented to "suppress no error output". Previously, LitConfig displayed notes and warnings when the quiet option was specified. The result was that it was not possible to get only pertinent file/line information to be used by an editor to jump to the location where checks were failing without passing a number of unhelpful locations first. Here, the implementations of LitConfig.note and LitConfig.warning are modified to account for the quiet flag and avoid displaying if the flag has indeed been set. Patch by Nate Chandler Reviewed by yln Differential Revision: https://reviews.llvm.org/D68044
  9. Reland 'Add VFS support for sanitizers' blacklist' The original patch broke the test for Windows. Trying to fix as per Reid's suggestions outlined here: https://reviews.llvm.org/rC371663 Differential Revision: https://reviews.llvm.org/D67742
  10. Revert "Add VFS support for sanitizers' blacklist" Fix tests on Windows for now. This reverts commit 96ac97a4213287003f08636d0c372b3f71e9cfca.
  11. [msan] Add interceptors: crypt, crypt_r. Reviewers: vitalybuka Subscribers: srhines, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68431
  12. [clang] Accept -ftrivial-auto-var-init in clang-cl Reviewers: eugenis, rnk Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68608
  13. AMDGPU/GlobalISel: Clamp G_SITOFP/G_UITOFP sources
  14. [Attributor][NFC] Add debug output
  15. [Attributor][FIX] Remove initialize calls and add undefs The initialization logic has become part of the Attributor but the patches that introduced these calls here were in development when the transition happened. We also now clean up (undefine) the macros used to create attributes.
  16. [Attributor] Use local linkage instead of internal Local linkage is internal or private, and private is a specialization of internal, so either is fine for all our "local linkage" queries.
  17. [Attributor] Use abstract call sites for call site callback Summary: When we iterate over uses of functions and expect them to be call sites, we now use abstract call sites to allow callback calls. Reviewers: sstefan1, uenoku Subscribers: hiraditya, bollu, hfinkel, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67871
  18. [tsan, go] fix Go windows build Summary: Don't use weak exports when building tsan into a shared library for Go. gcc can't handle the pragmas used to make the weak references. Include files that have been added since the last update to build.bat. (We should really find a better way to list all the files needed.) Add windows version defines (WINVER and _WIN32_WINNT) to get AcquireSRWLockExclusive and ReleaseSRWLockExclusive defined. Define GetProcessMemoryInfo to use the kernel32 version. This is kind of a hack, the windows header files should do this translation for us. I think we're not in the right family partition (we're using Desktop, but that translation only happens for App and System partitions???), but hacking the family partition seems equally gross and I have no idea what the consequences of that might be. Patch by Keith Randall. Reviewers: dvyukov, vitalybuka Reviewed By: vitalybuka Subscribers: jfb, delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D68599
  19. [tsan, go] break commands into multiple lines Summary: Patch by Keith Randall. Reviewers: dvyukov, vitalybuka Subscribers: delcypher, jfb, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D68596
  20. [X86] Shrink zero extends of gather indices from type less than i32 to types larger than i32. Gather instructions can use i32 or i64 elements for indices. If the index is zero extended from a type smaller than i32 to i64, we can shrink the extend to just extend to i32.
  21. [X86] Add test cases for zero extending a gather index from less than i32 to i64. We should be able to use a smaller zero extend.
  22. Fix the spelling of my name.
  23. [sanitizer] Print SIGTRAP for corresponding signal Reviewers: eugenis, jfb Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68603
  24. [tsan] Don't delay SIGTRAP handler Reviewers: eugenis, jfb Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68604
  25. Add VFS support for sanitizers' blacklist Differential Revision: https://reviews.llvm.org/D67742
  26. [X86] Add new calling convention that guarantees tail call optimization When the target option GuaranteedTailCallOpt is specified, calls with the fastcc calling convention will be transformed into tail calls if they are in tail position. This diff adds a new calling convention, tailcc, currently supported only on X86, which behaves the same way as fastcc, except that the GuaranteedTailCallOpt flag does not need to enabled in order to enable tail call optimization. Patch by Dwight Guth <dwight.guth@runtimeverification.com>! Reviewed By: lebedev.ri, paquette, rnk Differential Revision: https://reviews.llvm.org/D67855
  27. [WebAssembly] Fix unwind mismatch stat computation Summary: There was a bug when computing the number of unwind destination mismatches in CFGStackify. When there are many mismatched calls that share the same (original) destination BB, they have to be counted separately. This also fixes a typo and runs `fixUnwindMismatches` only when the wasm exception handling is enabled. This is to prevent unnecessary computations and does not change behavior. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68552
  28. [llvm-lipo] Add TextAPI to LINK_COMPONENTS Summary: D68319 uses `MachO::getCPUTypeFromArchitecture` and without this builds with `-DBUILD_SHARED_LIBS=ON` fail. Reviewers: alexshap Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68594
  29. [Diagnostics] Emit better -Wbool-operation's warning message if we known that the result is always true
  30. [Attributor][FIX] Remove assertion wrong for on invalid IRPositions
  31. [libc++] Remove C++03 variadics in shared_ptr (v2) Summary: In my last patch (D67675) I forgot a few variadics. This patch removes the remaining make_shared and allocate_shared C++03 variadics. Reviewers: ldionne, EricWF, mclow.lists Subscribers: christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D68000
  32. [llvm-c] Add UnaryOperator to LLVM_FOR_EACH_VALUE_SUBCLASS macro Note that we are not sure where the tests for these functions lives. This was discussed in the Phab Diff. Differential Revision: https://reviews.llvm.org/D68588
  33. [WebAssembly] Add memory intrinsics handling to mayThrow() Summary: Previously, `WebAssembly::mayThrow()` assumed all inputs are global addresses. But when intrinsics, such as `memcpy`, `memmove`, or `memset` are lowered to external symbols in instruction selection and later emitted as library calls. And these functions don't throw. This patch adds handling to those memory intrinsics to `mayThrow` function. But while most of libcalls don't throw, we can't guarantee all of them don't throw, so currently we conservatively return true for all other external symbols. I think a better way to solve this problem is to embed 'nounwind' info in `TargetLowering::CallLoweringInfo`, so that we can access the info from the backend. This will also enable transferring 'nounwind' properties of LLVM IR instructions. Currently we don't transfer that info and we can only access properties of callee functions, if the callees are within the module. Other targets don't need this info in the backend because they do all the processing before isel, but it will help us because that info will reduce code size increase in fixing unwind destination mismatches in CFGStackify. But for now we return false for these memory intrinsics and true for all other libcalls conservatively. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68553
  34. [llvm-lipo] Relax the check of the specified input file architecture cctools lipo only compares the cputypes when it verifies that the specified (via -arch) input file and the architecture match. This diff adjusts the behavior of llvm-lipo accordingly. Differential revision: https://reviews.llvm.org/D68319 Test plan: make check-all
  35. [Attributor] Deduce memory behavior of functions and arguments Deduce the memory behavior, aka "read-none", "read-only", or "write-only", for functions and arguments. Reviewers: sstefan1, uenoku Subscribers: hiraditya, bollu, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67384
  36. [InstCombine] Fold conditional sign-extend of high-bit-extract into high-bit-extract-with-signext (PR42389) This can come up in Bit Stream abstractions. The pattern looks big/scary, but it can't be simplified any further. It only is so simple because a number of my preparatory folds had happened already (shift amount reassociation / shift amount reassociation in bit test, sign bit test detection). Highlights: * There are two main flavors: https://rise4fun.com/Alive/zWi The difference is add vs. sub, and left-shift of -1 vs. 1 * Since we only change the shift opcode, we can preserve the exact-ness: https://rise4fun.com/Alive/4u4 * There can be truncation after high-bit-extraction: https://rise4fun.com/Alive/slHc1 (the main pattern i'm after!) Which means that we need to ignore zext of shift amounts and of NBits. * The sign-extending magic can be extended itself (in add pattern via sext, in sub pattern via zext. not the other way around!) https://rise4fun.com/Alive/NhG (or those sext/zext can be sinked into `select`!) Which again means we should pay attention when matching NBits. * We can have both truncation of extraction and widening of magic: https://rise4fun.com/Alive/XTw In other words, i don't believe we need to have any checks on bitwidths of any of these constructs. This is worsened in general by the fact that we may have `sext` instead of `zext` for shift amounts, and we don't yet canonicalize to `zext`, although we should. I have not done anything about that here. Also, we really should have something to weed out `sub` like these, by folding them into `add` variant. https://bugs.llvm.org/show_bug.cgi?id=42389
  37. [InstCombine][NFC] Tests for "conditional sign-extend of high-bit-extract" pattern (PR42389) https://bugs.llvm.org/show_bug.cgi?id=42389
  38. [InstCombine] Move isSignBitCheck(), handle rest of the predicates True, no test coverage is being added here. But those non-canonical predicates that are already handled here already have no test coverage as far as i can tell. I tried to add tests for them, but all the patterns already get handled elsewhere.
  39. [InstCombine][NFC] dropRedundantMaskingOfLeftShiftInput(): change how we deal with mask Summary: Currently, we pre-check whether we need to produce a mask or not. This involves some rather magical constants. I'd like to extend this fold to also handle the situation when there's also a `trunc` before outer shift. That will require another set of magical constants. It's ugly. Instead, we can just compute the mask, and check whether mask is a pass-through (all-ones) or not. This way we don't need to have any magical numbers. This change is NFC other than the fact that we now compute the mask and then check if we need (and can!) apply it. Reviewers: spatel Reviewed By: spatel Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68470
  40. [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts Summary: When we do `ConstantExpr::getZExt()`, that "extends" `undef` to `0`, which means that for patterns a/b we'd assume that we must not produce any bits for that channel, while in reality we simply didn't care about that channel - i.e. we don't need to mask it. Reviewers: spatel Reviewed By: spatel Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68239
  41. [Bitcode] Update naming of UNOP_NEG to UNOP_FNEG Differential Revision: https://reviews.llvm.org/D68588
  42. [AccelTable] Remove stale comment (NFC) rdar://55857228
  43. [OPENMP]Fix caonical->canonical, NFC. Fixed typo.
  44. Attempt to fix a few clang-tidy tests on Windows, see PR43593.
  45. Fix for expanding __pragmas in macro arguments Summary: Avoid parsing __pragma into an annotation token when macro arguments are pre-expanded. This is what clang currently does when parsing _Pragmas. Fixes https://bugs.llvm.org/show_bug.cgi?id=41128, where clang crashed when trying to get the length of an annotation token. Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68114
  46. gn build: try to make system-libs.windows.test pass
  47. AMDGPU/GlobalISel: Handle more G_INSERT cases Start manually writing a table to get the subreg index. TableGen should probably generate this, but I'm not sure what it looks like in the arbitrary case where subregisters are allowed to not fully cover the super-registers.
  48. GlobalISel: Partially implement lower for G_INSERT
  49. AMDGPU/GlobalISel: Fix selection of 16-bit shifts
  50. AMDGPU/GlobalISel: Select VALU G_AMDGPU_FFBH_U32
  51. AMDGPU/GlobalISel: Use S_MOV_B64 for inline constants This hides some defects in SIFoldOperands when the immediates are split.
  52. AMDGPU/GlobalISel: Widen 16-bit G_MERGE_VALUEs sources Continue making a mess of merge/unmerge legality.
  53. [OPENMP50]Treat range-based for as canonical loop. According to OpenMP 5.0, range-based for is also considered as a canonical form of loops.
  54. AMDGPU/GlobalISel: Select more G_INSERT cases At minimum handle the s64 insert type, which are emitted in real cases during legalization. We really need TableGen to emit something to emit something like the inverse of composeSubRegIndices do determine the subreg index to use.
  55. GlobalISel: Add target pre-isel instructions Allows targets to introduce regbankselectable pseudo-instructions. Currently the closet feature to this is an intrinsic. However this requires creating a public intrinsic declaration. This litters the public intrinsic namespace with operations we don't necessarily want to expose to IR producers, and would rather leave as private to the backend. Use a new instruction bit. A previous attempt tried to keep using enum value ranges, but it turned into a mess.
  56. [clang] [cmake] Support LLVM_DISTRIBUTION_COMPONENTS in stand-alone build Differential Revision: https://reviews.llvm.org/D68412
  57. Second attempt to add iterator_range::empty() Doing this makes MSVC complain that `empty(someRange)` could refer to either C++17's std::empty or LLVM's llvm::empty, which previously we avoided via SFINAE because std::empty is defined in terms of an empty member rather than begin and end. So, switch callers over to the new method as it is added. https://reviews.llvm.org/D68439
  58. Try to get clangd tests passing on Windows. Part of PR43592. See also r328645.
  59. [scudo][standalone] Correct releaseToOS behavior Summary: There was an issue in `releaseToOSMaybe`: one of the criteria to decide if we should proceed with the release was wrong. Namely: ``` const uptr N = Sci->Stats.PoppedBlocks - Sci->Stats.PushedBlocks; if (N * BlockSize < PageSize) return; // No chance to release anything. ``` I meant to check if the amount of bytes in the free list was lower than a page, but this actually checks if the amount of **in use** bytes was lower than a page. The correct code is: ``` const uptr BytesInFreeList = Region->AllocatedUser - (Region->Stats.PoppedBlocks - Region->Stats.PushedBlocks) * BlockSize; if (BytesInFreeList < PageSize) return 0; // No chance to release anything. ``` Consequences of the bug: - if a class size has less than a page worth of in-use bytes (allocated or in a cache), reclaiming would not occur, whatever the amount of blocks in the free list; in real world scenarios this is unlikely to happen and be impactful; - if a class size had less than a page worth of free bytes (and enough in-use bytes, etc), then reclaiming would be attempted, with likely no result. This means the reclaiming was overzealous at times. I didn't have a good way to test for this, so I changed the prototype of the function to return the number of bytes released, allowing to get the information needed. The test added fails with the initial criteria. Another issue is that `ReleaseToOsInterval` can actually be 0, meaning we always try to release (side note: it's terrible for performances). so change a `> 0` check to `>= 0`. Additionally, decrease the `CanRelease` threshold to `PageSize / 32`. I still have to make that configurable but I will do it at another time. Finally, rename some variables in `printStats`: I feel like "available" was too ambiguous, so change it to "total". Reviewers: morehouse, hctim, eugenis, vitalybuka, cferris Reviewed By: morehouse Subscribers: delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D68471
  60. Fix Calling Convention through aliases r369697 changed the behavior of stripPointerCasts to no longer include aliases. However, the code in CGDeclCXX.cpp's createAtExitStub counted on the looking through aliases to properly set the calling convention of a call. The result of the change was that the calling convention mismatch of the call would be replaced with a llvm.trap, causing a runtime crash. Differential Revision: https://reviews.llvm.org/D68584
  61. [libTooling][NFC] Fix build break in r373916. r373916 used raw strings inside macro calls, which breaks some builds.
  62. [clangd] Fix raciness in code completion tests Reviewers: sammccall, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68273
  63. [Remarks] Pass StringBlockValue as StringRef. After changing the remark serialization, we now pass StringRefs to the serializer. We should use StringRef for StringBlockVal, to avoid creating temporary objects, which then cause StringBlockVal.Value to point to invalid memory. Reviewers: thegameg, anemet Reviewed By: thegameg Differential Revision: https://reviews.llvm.org/D68571
  64. [clang-format] [PR27004] omits leading space for noexcept when formatting operator delete() Summary: clang-format is incorrectly thinking the parameter parens are part of a cast operation, this is resulting in there sometimes being not space between the paren and the noexcept (and other keywords like volatile etc..) ``` void operator++(int) noexcept; void operator++(int &) noexcept; void operator delete(void *, std::size_t, const std::nothrow_t &)noexcept; ``` Reviewers: klimek, owenpan, mitchell-stellar Reviewed By: mitchell-stellar Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D68481
  65. [clang-format] [NFC] Ensure clang-format is itself clang-formatted. Summary: Before making a proposed change, ensure ClangFormat.cpp is fully clang-formatted, no functional change just clang-formatting using the in tree .clang-format. Reviewers: mitchell-stellar Reviewed By: mitchell-stellar Subscribers: Eugene.Zelenko, cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D68551
  66. Fix build errors caused by rL373914.
  67. Codegen - 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.
  68. [llvm-profdata] Minor format fix Summary: Minor format fix for output of "llvm-profdata -show" Reviewers: wmi Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68440
  69. [libTooling] Add `toString` method to the Stencil class Summary: `toString` generates a string representation of the stencil. Patch by Harshal T. Lehri. Reviewers: gribozavr Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68574
  70. [X86][SSE] getTargetShuffleInputs - move VT.isSimple/isVector checks inside. NFCI. Stop all the callers from having to check the value type before calling getTargetShuffleInputs.
  71. [SampleFDO] Add compression support for any section in ExtBinary profile format Previously ExtBinary profile format only supports compression using zlib for profile symbol list. In this patch, we extend the compression support to any section. User can select some or all of the sections to compress. In an experiment, for a 45M profile in ExtBinary format, compressing name table reduced its size to 24M, and compressing all the sections reduced its size to 11M. Differential Revision: https://reviews.llvm.org/D68253
  72. [LoopVectorize] add test that asserted after cost model change (PR43582); NFC
  73. Allow update_test_checks.py to not scrub names. Add a --preserve-names option to tell the script not to replace IR names. Sometimes tests want those names. For example if a test is looking for a modification to an existing instruction we'll want to make the names. Differential Revision: https://reviews.llvm.org/D68081
  74. Sema - 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.
  75. [clang] Add test for FindNextToken in Lexer. Reviewers: ilya-biryukov Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68565
  76. Fix another sphinx warning. Differential Revision: https://reviews.llvm.org/D64746
  77. Regenerate ptr-rotate.ll . NFC
  78. [Mips] Always save RA when disabling frame pointer elimination This ensures that frame-based unwinding will continue to work when calling a noreturn function; there is not much use having the caller's frame pointer saved if you don't also have the caller's program counter. Patch by James Clarke. Differential Revision: https://reviews.llvm.org/D68542
  79. [Mips] Fix evaluating J-format branch targets J/JAL/JALX/JALS are absolute branches, but stay within the current 256 MB-aligned region, so we must include the high bits of the instruction address when calculating the branch target. Patch by James Clarke. Differential Revision: https://reviews.llvm.org/D68548
  80. RewriteModernObjC - 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.
  81. AST - 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.
  82. [LLVM-C] Add bindings to create macro debug info Summary: The C API doesn't have the bindings to create macro debug information. Reviewers: whitequark, CodaFi, deadalnix Reviewed By: whitequark Subscribers: aprantl, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58334
  83. Fix sphinx warnings. Differential Revision: https://reviews.llvm.org/D64746
  84. Test commit Fix comment.
  85. [FPEnv] Add constrained intrinsics for lrint and lround Earlier in the year intrinsics for lrint, llrint, lround and llround were added to llvm. The constrained versions are now implemented here. Reviewed by: andrew.w.kaylor, craig.topper, cameron.mcinally Approved by: craig.topper Differential Revision: https://reviews.llvm.org/D64746
  86. gn build: use better triple on windows The CMake build uses "x86_64-pc-windows-msvc". The "-msvc" suffix is important because e.g. clang/test/lit.cfg.py matches against the suffix "windows-msvc" to compute the presence of the "ms-sdk" and the absence of the "LP64" feature. Differential Revision: https://reviews.llvm.org/D68572
  87. Revert r373888 "[IA] Recognize hexadecimal escape sequences" It broke MC/AsmParser/directive_ascii.s on all bots: Assertion failed: (Index < Length && "Invalid index!"), function operator[], file ../../llvm/include/llvm/ADT/StringRef.h, line 243.
  88. [clangd] Catch an unchecked "Expected<T>" in HeaderSourceSwitch. Summary: Also fixes a potential user-after-scope issue of "Path". Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68564
  89. [ASTImporter][NFC] Enable disabled but passing test RedeclChainShouldBeCorrectAmongstNamespaces
  90. [ASTImporter][NFC] Update ASTImporter internals docs
  91. [ASTImporter][NFC] Fix typo in user docs
  92. [AMDGPU] Fix test checks The GFX10-DENORM-STRICT checks were only passing by accident. Fix them to make the test more robust in the face of scheduling or register allocation changes.
Revision 374018 by void:
[IA] Recognize hexadecimal escape sequences

Summary:
Implement support for hexadecimal escape sequences to match how GNU 'as'
handles them. I.e., read all hexadecimal characters and truncate to the
lower 16 bits.

Reviewers: nickdesaulniers, jcai19

Subscribers: llvm-commits, hiraditya

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68598
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/MCParser/AsmParser.cpp (diff)llvm.src/lib/MC/MCParser/AsmParser.cpp
The file was modified/llvm/trunk/test/MC/AsmParser/directive_ascii.s (diff)llvm.src/test/MC/AsmParser/directive_ascii.s
Revision 374017 by wuzish:
[LoopVectorize][PowerPC] Estimate int and float register pressure separately in loop-vectorize

In loop-vectorize, interleave count and vector factor depend on target register number. Currently, it does not
estimate different register pressure for different register class separately(especially for scalar type,
float type should not be on the same position with int type), so it's not accurate. Specifically,
it causes too many times interleaving/unrolling, result in too many register spills in loop body and hurting performance.

So we need classify the register classes in IR level, and importantly these are abstract register classes,
and are not the target register class of backend provided in td file. It's used to establish the mapping between
the types of IR values and the number of simultaneous live ranges to which we'd like to limit for some set of those types.

For example, POWER target, register num is special when VSX is enabled. When VSX is enabled, the number of int scalar register is 32(GPR),
float is 64(VSR), but for int and float vector register both are 64(VSR). So there should be 2 kinds of register class when vsx is enabled,
and 3 kinds of register class when VSX is NOT enabled.

It runs on POWER target, it makes big(+~30%) performance improvement in one specific bmk(503.bwaves_r) of spec2017 and no other obvious degressions.

Differential revision: https://reviews.llvm.org/D67148
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfo.h (diff)llvm.src/include/llvm/Analysis/TargetTransformInfo.h
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)llvm.src/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.h (diff)llvm.src/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/lib/Analysis/TargetTransformInfo.cpp (diff)llvm.src/lib/Analysis/TargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.h (diff)llvm.src/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.h (diff)llvm.src/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.cpp (diff)llvm.src/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.h (diff)llvm.src/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetTransformInfo.h (diff)llvm.src/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp (diff)llvm.src/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.h (diff)llvm.src/lib/Target/X86/X86TargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/XCore/XCoreTargetTransformInfo.h (diff)llvm.src/lib/Target/XCore/XCoreTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp (diff)llvm.src/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modified/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)llvm.src/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)llvm.src/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was added/llvm/trunk/test/Transforms/LoopVectorize/PowerPC/reg-usage.llllvm.src/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/X86/reg-usage-debug.ll (diff)llvm.src/test/Transforms/LoopVectorize/X86/reg-usage-debug.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/X86/reg-usage.ll (diff)llvm.src/test/Transforms/LoopVectorize/X86/reg-usage.ll
Revision 374016 by shchenz:
[ConstantRange] [NFC] replace addWithNoSignedWrap with addWithNoWrap.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/ConstantRange.h (diff)llvm.src/include/llvm/IR/ConstantRange.h
The file was modified/llvm/trunk/lib/IR/ConstantRange.cpp (diff)llvm.src/lib/IR/ConstantRange.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modified/llvm/trunk/unittests/IR/ConstantRangeTest.cpp (diff)llvm.src/unittests/IR/ConstantRangeTest.cpp
Revision 374015 by aheejin:
[WebAssembly] Add REQUIRES: asserts to cfg-stackify-eh.ll

This was missing in D68552.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/cfg-stackify-eh.ll (diff)llvm.src/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Revision 374013 by jrtc27:
[ItaniumMangle] Fix mangling of GNU __null in an expression to match GCC

Reviewers: rsmith

Reviewed By: rsmith

Subscribers: erik.pilkington, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68368
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ItaniumMangle.cpp (diff)clang.src/lib/AST/ItaniumMangle.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/mangle-exprs.cpp (diff)clang.src/test/CodeGenCXX/mangle-exprs.cpp
Revision 374011 by Jan Korous:
[NFC] Fix ubsan-blacklist test

Restored original test and marked tests for VFS as unsupported on Windows.
Change TypePath in RepositoryPath in Workspace
The file was added/cfe/trunk/test/CodeGen/ubsan-blacklist-vfs.cclang.src/test/CodeGen/ubsan-blacklist-vfs.c
The file was modified/cfe/trunk/test/CodeGen/ubsan-blacklist.c (diff)clang.src/test/CodeGen/ubsan-blacklist.c
Revision 374010 by Vitaly Buka:
[sanitizer] Fix signal_trap_handler.cpp on android
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_trap_handler.cpp (diff)compiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_trap_handler.cpp
Revision 374009 by atrick:
[LitConfig] Silenced notes/warnings on quiet.

Lit has a "quiet" option, -q, which is documented to "suppress no
error output". Previously, LitConfig displayed notes and warnings when
the quiet option was specified. The result was that it was not
possible to get only pertinent file/line information to be used by an
editor to jump to the location where checks were failing without
passing a number of unhelpful locations first. Here, the
implementations of LitConfig.note and LitConfig.warning are modified
to account for the quiet flag and avoid displaying if the flag has
indeed been set.

Patch by Nate Chandler

Reviewed by yln

Differential Revision: https://reviews.llvm.org/D68044
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/LitConfig.py (diff)llvm.src/utils/lit/lit/LitConfig.py
Revision 374006 by Jan Korous:
Reland 'Add VFS support for sanitizers' blacklist'

The original patch broke the test for Windows.
Trying to fix as per Reid's suggestions outlined here:
https://reviews.llvm.org/rC371663

Differential Revision: https://reviews.llvm.org/D67742
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
The file was added/cfe/trunk/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yamlclang.src/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml
The file was modified/cfe/trunk/test/CodeGen/ubsan-blacklist.c (diff)clang.src/test/CodeGen/ubsan-blacklist.c
Revision 373999 by Jan Korous:
Revert "Add VFS support for sanitizers' blacklist"

Fix tests on Windows for now.

This reverts commit 96ac97a4213287003f08636d0c372b3f71e9cfca.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
The file was removed/cfe/trunk/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yamlclang.src/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml
The file was modified/cfe/trunk/test/CodeGen/ubsan-blacklist.c (diff)clang.src/test/CodeGen/ubsan-blacklist.c
Revision 373993 by eugenis:
[msan] Add interceptors: crypt, crypt_r.

Reviewers: vitalybuka

Subscribers: srhines, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D68431
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_posix.h
The file was added/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/crypt_r.cppcompiler-rt.src/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
The file was added/compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/crypt.cppcompiler-rt.src/test/sanitizer_common/TestCases/Posix/crypt.cpp
Revision 373992 by Vitaly Buka:
[clang] Accept -ftrivial-auto-var-init in clang-cl

Reviewers: eugenis, rnk

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68608
Change TypePath in RepositoryPath in Workspace
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/test/Driver/cl-options.c (diff)clang.src/test/Driver/cl-options.c
Revision 373989 by arsenm:
AMDGPU/GlobalISel: Clamp G_SITOFP/G_UITOFP sources
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir
Revision 373988 by jdoerfert:
[Attributor][NFC] Add debug output
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
Revision 373987 by jdoerfert:
[Attributor][FIX] Remove initialize calls and add undefs

The initialization logic has become part of the Attributor but the
patches that introduced these calls here were in development when the
transition happened.

We also now clean up (undefine) the macros used to create attributes.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
Revision 373986 by jdoerfert:
[Attributor] Use local linkage instead of internal

Local linkage is internal or private, and private is a specialization of
internal, so either is fine for all our "local linkage" queries.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/internal-noalias.ll (diff)llvm.src/test/Transforms/FunctionAttrs/internal-noalias.ll
Revision 373985 by jdoerfert:
[Attributor] Use abstract call sites for call site callback

Summary:
When we iterate over uses of functions and expect them to be call sites,
we now use abstract call sites to allow callback calls.

Reviewers: sstefan1, uenoku

Subscribers: hiraditya, bollu, hfinkel, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67871
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/CallSite.h (diff)llvm.src/include/llvm/IR/CallSite.h
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was added/llvm/trunk/test/Transforms/FunctionAttrs/callbacks.llllvm.src/test/Transforms/FunctionAttrs/callbacks.ll
Revision 373984 by Vitaly Buka:
[tsan, go] fix Go windows build

Summary:
Don't use weak exports when building tsan into a shared library for Go. gcc can't handle the pragmas used to make the weak references.

Include files that have been added since the last update to build.bat. (We should really find a better way to list all the files needed.)

Add windows version defines (WINVER and _WIN32_WINNT) to get AcquireSRWLockExclusive and ReleaseSRWLockExclusive defined.

Define GetProcessMemoryInfo to use the kernel32 version. This is kind of a hack, the windows header files should do this translation for us. I think we're not in the right family partition (we're using Desktop, but that translation only happens for App and System partitions???), but hacking the family partition seems equally gross and I have no idea what the consequences of that might be.

Patch by Keith Randall.

Reviewers: dvyukov, vitalybuka

Reviewed By: vitalybuka

Subscribers: jfb, delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D68599
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_win_defs.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_win_defs.h
The file was modified/compiler-rt/trunk/lib/tsan/go/build.bat (diff)compiler-rt.src/lib/tsan/go/build.bat
Revision 373983 by Vitaly Buka:
[tsan, go] break commands into multiple lines

Summary: Patch by Keith Randall.

Reviewers: dvyukov, vitalybuka

Subscribers: delcypher, jfb, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D68596
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/go/build.bat (diff)compiler-rt.src/lib/tsan/go/build.bat
Revision 373982 by ctopper:
[X86] Shrink zero extends of gather indices from type less than i32 to types larger than i32.

Gather instructions can use i32 or i64 elements for indices. If
the index is zero extended from a type smaller than i32 to i64, we
can shrink the extend to just extend to i32.
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/masked_gather_scatter.ll (diff)llvm.src/test/CodeGen/X86/masked_gather_scatter.ll
Revision 373981 by ctopper:
[X86] Add test cases for zero extending a gather index from less than i32 to i64.

We should be able to use a smaller zero extend.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/masked_gather_scatter.ll (diff)llvm.src/test/CodeGen/X86/masked_gather_scatter.ll
Revision 373980 by joerg:
Fix the spelling of my name.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/Proposals/GitHubMove.rst (diff)llvm.src/docs/Proposals/GitHubMove.rst
Revision 373979 by Vitaly Buka:
[sanitizer] Print SIGTRAP for corresponding signal

Reviewers: eugenis, jfb

Subscribers: #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D68603
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_posix.cpp
The file was added/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_trap.cppcompiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_trap.cpp
Revision 373978 by Vitaly Buka:
[tsan] Don't delay SIGTRAP handler

Reviewers: eugenis, jfb

Subscribers: #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D68604
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors_posix.cpp (diff)compiler-rt.src/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was added/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_trap_handler.cppcompiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_trap_handler.cpp
Revision 373977 by Jan Korous:
Add VFS support for sanitizers' blacklist

Differential Revision: https://reviews.llvm.org/D67742
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
The file was added/cfe/trunk/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yamlclang.src/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml
The file was modified/cfe/trunk/test/CodeGen/ubsan-blacklist.c (diff)clang.src/test/CodeGen/ubsan-blacklist.c
Revision 373976 by rnk:
[X86] Add new calling convention that guarantees tail call optimization

When the target option GuaranteedTailCallOpt is specified, calls with
the fastcc calling convention will be transformed into tail calls if
they are in tail position. This diff adds a new calling convention,
tailcc, currently supported only on X86, which behaves the same way as
fastcc, except that the GuaranteedTailCallOpt flag does not need to
enabled in order to enable tail call optimization.

Patch by Dwight Guth <dwight.guth@runtimeverification.com>!

Reviewed By: lebedev.ri, paquette, rnk

Differential Revision: https://reviews.llvm.org/D67855
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/BitCodeFormat.rst (diff)llvm.src/docs/BitCodeFormat.rst
The file was modified/llvm/trunk/docs/CodeGenerator.rst (diff)llvm.src/docs/CodeGenerator.rst
The file was modified/llvm/trunk/docs/LangRef.rst (diff)llvm.src/docs/LangRef.rst
The file was modified/llvm/trunk/include/llvm/IR/CallingConv.h (diff)llvm.src/include/llvm/IR/CallingConv.h
The file was modified/llvm/trunk/lib/AsmParser/LLLexer.cpp (diff)llvm.src/lib/AsmParser/LLLexer.cpp
The file was modified/llvm/trunk/lib/AsmParser/LLParser.cpp (diff)llvm.src/lib/AsmParser/LLParser.cpp
The file was modified/llvm/trunk/lib/AsmParser/LLToken.h (diff)llvm.src/lib/AsmParser/LLToken.h
The file was modified/llvm/trunk/lib/CodeGen/Analysis.cpp (diff)llvm.src/lib/CodeGen/Analysis.cpp
The file was modified/llvm/trunk/lib/IR/AsmWriter.cpp (diff)llvm.src/lib/IR/AsmWriter.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86CallingConv.td (diff)llvm.src/lib/Target/X86/X86CallingConv.td
The file was modified/llvm/trunk/lib/Target/X86/X86FastISel.cpp (diff)llvm.src/lib/Target/X86/X86FastISel.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86FrameLowering.cpp (diff)llvm.src/lib/Target/X86/X86FrameLowering.cpp
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/lib/Target/X86/X86Subtarget.h (diff)llvm.src/lib/Target/X86/X86Subtarget.h
The file was added/llvm/trunk/test/CodeGen/X86/musttail-tailcc.llllvm.src/test/CodeGen/X86/musttail-tailcc.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailcall-tailcc.llllvm.src/test/CodeGen/X86/tailcall-tailcc.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailcc-calleesave.llllvm.src/test/CodeGen/X86/tailcc-calleesave.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailcc-disable-tail-calls.llllvm.src/test/CodeGen/X86/tailcc-disable-tail-calls.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailcc-fastcc.llllvm.src/test/CodeGen/X86/tailcc-fastcc.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailcc-fastisel.llllvm.src/test/CodeGen/X86/tailcc-fastisel.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailcc-largecode.llllvm.src/test/CodeGen/X86/tailcc-largecode.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailcc-stackalign.llllvm.src/test/CodeGen/X86/tailcc-stackalign.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailcc-structret.llllvm.src/test/CodeGen/X86/tailcc-structret.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailccbyval.llllvm.src/test/CodeGen/X86/tailccbyval.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailccbyval64.llllvm.src/test/CodeGen/X86/tailccbyval64.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailccfp.llllvm.src/test/CodeGen/X86/tailccfp.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailccfp2.llllvm.src/test/CodeGen/X86/tailccfp2.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailccpic1.llllvm.src/test/CodeGen/X86/tailccpic1.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailccpic2.llllvm.src/test/CodeGen/X86/tailccpic2.ll
The file was added/llvm/trunk/test/CodeGen/X86/tailccstack64.llllvm.src/test/CodeGen/X86/tailccstack64.ll
The file was modified/llvm/trunk/utils/vim/syntax/llvm.vim (diff)llvm.src/utils/vim/syntax/llvm.vim
Revision 373975 by aheejin:
[WebAssembly] Fix unwind mismatch stat computation

Summary:
There was a bug when computing the number of unwind destination
mismatches in CFGStackify. When there are many mismatched calls that
share the same (original) destination BB, they have to be counted
separately.

This also fixes a typo and runs `fixUnwindMismatches` only when the wasm
exception handling is enabled. This is to prevent unnecessary
computations and does not change behavior.

Reviewers: dschuff

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68552
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/cfg-stackify-eh.ll (diff)llvm.src/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Revision 373974 by aheejin:
[llvm-lipo] Add TextAPI to LINK_COMPONENTS

Summary:
D68319 uses `MachO::getCPUTypeFromArchitecture` and without this builds
with `-DBUILD_SHARED_LIBS=ON` fail.

Reviewers: alexshap

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68594
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-lipo/CMakeLists.txt (diff)llvm.src/tools/llvm-lipo/CMakeLists.txt
Revision 373973 by xbolva00:
[Diagnostics] Emit better -Wbool-operation's warning message if we known that the result is always true
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/test/Sema/warn-bitwise-negation-bool.c (diff)clang.src/test/Sema/warn-bitwise-negation-bool.c
Revision 373972 by jdoerfert:
[Attributor][FIX] Remove assertion wrong for on invalid IRPositions
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
Revision 373971 by zoecarver:
[libc++] Remove C++03 variadics in shared_ptr (v2)

    Summary: In my last patch (D67675) I forgot a few variadics. This patch removes the remaining make_shared and allocate_shared C++03 variadics.

    Reviewers: ldionne, EricWF, mclow.lists

    Subscribers: christof, dexonsmith, libcxx-commits

    Tags: #libc

    Differential Revision: https://reviews.llvm.org/D68000
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/memory (diff)libcxx.src/include/memory
Revision 373969 by mcinally:
[llvm-c] Add UnaryOperator to LLVM_FOR_EACH_VALUE_SUBCLASS macro

Note that we are not sure where the tests for these functions lives. This was discussed in the Phab Diff.

Differential Revision: https://reviews.llvm.org/D68588
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm-c/Core.h (diff)llvm.src/include/llvm-c/Core.h
Revision 373967 by aheejin:
[WebAssembly] Add memory intrinsics handling to mayThrow()

Summary:
Previously, `WebAssembly::mayThrow()` assumed all inputs are global
addresses. But when intrinsics, such as `memcpy`, `memmove`, or `memset`
are lowered to external symbols in instruction selection and later
emitted as library calls. And these functions don't throw.

This patch adds handling to those memory intrinsics to `mayThrow`
function. But while most of libcalls don't throw, we can't guarantee all
of them don't throw, so currently we conservatively return true for all
other external symbols.

I think a better way to solve this problem is to embed 'nounwind' info
in `TargetLowering::CallLoweringInfo`, so that we can access the info
from the backend. This will also enable transferring 'nounwind'
properties of LLVM IR instructions. Currently we don't transfer that
info and we can only access properties of callee functions, if the
callees are within the module. Other targets don't need this info in the
backend because they do all the processing before isel, but it will help
us because that info will reduce code size increase in fixing unwind
destination mismatches in CFGStackify.

But for now we return false for these memory intrinsics and true for all
other libcalls conservatively.

Reviewers: dschuff

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68553
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyUtilities.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/cfg-stackify-eh.ll (diff)llvm.src/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Revision 373966 by alexshap:
[llvm-lipo] Relax the check of the specified input file architecture

cctools lipo only compares the cputypes when it verifies that
the specified (via -arch) input file and the architecture match.
This diff adjusts the behavior of llvm-lipo accordingly.

Differential revision: https://reviews.llvm.org/D68319

Test plan: make check-all
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-lipo/llvm-lipo.cpp (diff)llvm.src/tools/llvm-lipo/llvm-lipo.cpp
Revision 373965 by jdoerfert:
[Attributor] Deduce memory behavior of functions and arguments

Deduce the memory behavior, aka "read-none", "read-only", or
"write-only", for functions and arguments.

Reviewers: sstefan1, uenoku

Subscribers: hiraditya, bollu, jfb, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67384
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/align.ll (diff)llvm.src/test/Transforms/FunctionAttrs/align.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/arg_nocapture.ll (diff)llvm.src/test/Transforms/FunctionAttrs/arg_nocapture.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/arg_returned.ll (diff)llvm.src/test/Transforms/FunctionAttrs/arg_returned.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/dereferenceable.ll (diff)llvm.src/test/Transforms/FunctionAttrs/dereferenceable.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/internal-noalias.ll (diff)llvm.src/test/Transforms/FunctionAttrs/internal-noalias.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/liveness.ll (diff)llvm.src/test/Transforms/FunctionAttrs/liveness.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/noalias_returned.ll (diff)llvm.src/test/Transforms/FunctionAttrs/noalias_returned.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nocapture.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nocapture.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nofree-attributor.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nofree-attributor.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nonnull.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nonnull.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/norecurse.ll (diff)llvm.src/test/Transforms/FunctionAttrs/norecurse.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nosync.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nosync.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll (diff)llvm.src/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/readattrs.ll (diff)llvm.src/test/Transforms/FunctionAttrs/readattrs.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/willreturn.ll (diff)llvm.src/test/Transforms/FunctionAttrs/willreturn.ll
Revision 373964 by lebedevri:
[InstCombine] Fold conditional sign-extend of high-bit-extract into high-bit-extract-with-signext (PR42389)

This can come up in Bit Stream abstractions.

The pattern looks big/scary, but it can't be simplified any further.
It only is so simple because a number of my preparatory folds had
happened already (shift amount reassociation / shift amount
reassociation in bit test, sign bit test detection).

Highlights:
* There are two main flavors: https://rise4fun.com/Alive/zWi
  The difference is add vs. sub, and left-shift of -1 vs. 1
* Since we only change the shift opcode,
  we can preserve the exact-ness: https://rise4fun.com/Alive/4u4
* There can be truncation after high-bit-extraction:
  https://rise4fun.com/Alive/slHc1   (the main pattern i'm after!)
  Which means that we need to ignore zext of shift amounts and of NBits.
* The sign-extending magic can be extended itself (in add pattern
  via sext, in sub pattern via zext. not the other way around!)
  https://rise4fun.com/Alive/NhG
  (or those sext/zext can be sinked into `select`!)
  Which again means we should pay attention when matching NBits.
* We can have both truncation of extraction and widening of magic:
  https://rise4fun.com/Alive/XTw
  In other words, i don't believe we need to have any checks on
  bitwidths of any of these constructs.

This is worsened in general by the fact that we may have `sext` instead
of `zext` for shift amounts, and we don't yet canonicalize to `zext`,
although we should. I have not done anything about that here.

Also, we really should have something to weed out `sub` like these,
by folding them into `add` variant.

https://bugs.llvm.org/show_bug.cgi?id=42389
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll (diff)llvm.src/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll
Revision 373963 by lebedevri:
[InstCombine][NFC] Tests for "conditional sign-extend of high-bit-extract" pattern (PR42389)

https://bugs.llvm.org/show_bug.cgi?id=42389
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.llllvm.src/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll
Revision 373962 by lebedevri:
[InstCombine] Move isSignBitCheck(), handle rest of the predicates

True, no test coverage is being added here. But those non-canonical
predicates that are already handled here already have no test coverage
as far as i can tell. I tried to add tests for them, but all the patterns
already get handled elsewhere.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCompares.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineInternal.h (diff)llvm.src/lib/Transforms/InstCombine/InstCombineInternal.h
Revision 373961 by lebedevri:
[InstCombine][NFC] dropRedundantMaskingOfLeftShiftInput(): change how we deal with mask

Summary:
Currently, we pre-check whether we need to produce a mask or not.
This involves some rather magical constants.
I'd like to extend this fold to also handle the situation
when there's also a `trunc` before outer shift.
That will require another set of magical constants.
It's ugly.

Instead, we can just compute the mask, and check
whether mask is a pass-through (all-ones) or not.
This way we don't need to have any magical numbers.

This change is NFC other than the fact that we now compute
the mask and then check if we need (and can!) apply it.

Reviewers: spatel

Reviewed By: spatel

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68470
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineShifts.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineShifts.cpp
Revision 373960 by lebedevri:
[InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts

Summary:
When we do `ConstantExpr::getZExt()`, that "extends" `undef` to `0`,
which means that for patterns a/b we'd assume that we must not produce
any bits for that channel, while in reality we simply didn't care
about that channel - i.e. we don't need to mask it.

Reviewers: spatel

Reviewed By: spatel

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68239
Change TypePath in RepositoryPath in Workspace
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/partally-redundant-left-shift-input-masking-variant-a.ll (diff)llvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-a.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll (diff)llvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll (diff)llvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll (diff)llvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-e.ll (diff)llvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-e.ll
Revision 373958 by mcinally:
[Bitcode] Update naming of UNOP_NEG to UNOP_FNEG

Differential Revision: https://reviews.llvm.org/D68588
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h (diff)llvm.src/include/llvm/Bitcode/LLVMBitCodes.h
The file was modified/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp (diff)llvm.src/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modified/llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp (diff)llvm.src/lib/Bitcode/Writer/BitcodeWriter.cpp
Revision 373956 by Jonas Devlieghere:
[AccelTable] Remove stale comment (NFC)

rdar://55857228
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/AccelTable.h (diff)llvm.src/include/llvm/CodeGen/AccelTable.h
Revision 373952 by abataev:
[OPENMP]Fix caonical->canonical, NFC.

Fixed typo.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/StmtOpenMP.h (diff)clang.src/include/clang/AST/StmtOpenMP.h
The file was modified/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp (diff)clang.src/lib/CodeGen/CGStmtOpenMP.cpp
Revision 373951 by nico:
Attempt to fix a few clang-tidy tests on Windows, see PR43593.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/test/clang-tidy/bugprone-branch-clone.cpp (diff)clang-tools-extra.src/test/clang-tidy/bugprone-branch-clone.cpp
The file was modified/clang-tools-extra/trunk/test/clang-tidy/bugprone-unhandled-self-assignment.cpp (diff)clang-tools-extra.src/test/clang-tidy/bugprone-unhandled-self-assignment.cpp
The file was modified/clang-tools-extra/trunk/test/clang-tidy/cppcoreguidelines-init-variables.cpp (diff)clang-tools-extra.src/test/clang-tidy/cppcoreguidelines-init-variables.cpp
The file was modified/clang-tools-extra/trunk/test/clang-tidy/misc-redundant-expression.cpp (diff)clang-tools-extra.src/test/clang-tidy/misc-redundant-expression.cpp
Revision 373950 by akhuang:
Fix for expanding __pragmas in macro arguments

Summary:
Avoid parsing __pragma into an annotation token when macro arguments are pre-expanded.
This is what clang currently does when parsing _Pragmas.

Fixes https://bugs.llvm.org/show_bug.cgi?id=41128, where clang crashed
when trying to get the length of an annotation token.

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68114
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Lex/Pragma.cpp (diff)clang.src/lib/Lex/Pragma.cpp
The file was modified/cfe/trunk/test/Preprocessor/pragma_microsoft.c (diff)clang.src/test/Preprocessor/pragma_microsoft.c
Revision 373948 by nico:
gn build: try to make system-libs.windows.test pass
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn
Revision 373947 by arsenm:
AMDGPU/GlobalISel: Handle more G_INSERT cases

Start manually writing a table to get the subreg index. TableGen
should probably generate this, but I'm not sure what it looks like in
the arbitrary case where subregisters are allowed to not fully cover
the super-registers.
Change TypePath in RepositoryPath in Workspace
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/AMDGPURegisterInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterInfo.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterInfo.h
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert.mir
Revision 373946 by arsenm:
GlobalISel: Partially implement lower for G_INSERT
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-insert.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-insert.mir
Revision 373945 by arsenm:
AMDGPU/GlobalISel: Fix selection of 16-bit shifts
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.td (diff)llvm.src/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
Revision 373944 by arsenm:
AMDGPU/GlobalISel: Select VALU G_AMDGPU_FFBH_U32
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP1Instructions.td (diff)llvm.src/lib/Target/AMDGPU/VOP1Instructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-ffbh-u32.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-ffbh-u32.mir
Revision 373943 by arsenm:
AMDGPU/GlobalISel: Use S_MOV_B64 for inline constants

This hides some defects in SIFoldOperands when the immediates are
split.
Change TypePath in RepositoryPath in Workspace
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/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-smrd.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-smrd.mir
Revision 373942 by arsenm:
AMDGPU/GlobalISel: Widen 16-bit G_MERGE_VALUEs sources

Continue making a mess of merge/unmerge legality.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant-32bit.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant-32bit.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir
Revision 373939 by abataev:
[OPENMP50]Treat range-based for as canonical loop.

According to OpenMP 5.0, range-based for is also considered as a
canonical form of loops.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/StmtOpenMP.h (diff)clang.src/include/clang/AST/StmtOpenMP.h
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/CodeGen/CGStmtOpenMP.cpp (diff)clang.src/lib/CodeGen/CGStmtOpenMP.cpp
The file was modified/cfe/trunk/lib/Parse/ParseDecl.cpp (diff)clang.src/lib/Parse/ParseDecl.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/SemaStmt.cpp (diff)clang.src/lib/Sema/SemaStmt.cpp
The file was modified/cfe/trunk/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/distribute_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/distribute_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/for_ast_print.cpp (diff)clang.src/test/OpenMP/for_ast_print.cpp
The file was modified/cfe/trunk/test/OpenMP/for_loop_messages.cpp (diff)clang.src/test/OpenMP/for_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/for_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/for_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/parallel_for_codegen.cpp (diff)clang.src/test/OpenMP/parallel_for_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/parallel_for_loop_messages.cpp (diff)clang.src/test/OpenMP/parallel_for_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/parallel_for_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/parallel_for_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/simd_loop_messages.cpp (diff)clang.src/test/OpenMP/simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_for_loop_messages.cpp (diff)clang.src/test/OpenMP/target_parallel_for_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_for_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/target_parallel_for_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/target_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_loop_messages.cpp (diff)clang.src/test/OpenMP/target_teams_distribute_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp (diff)clang.src/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/taskloop_loop_messages.cpp (diff)clang.src/test/OpenMP/taskloop_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/taskloop_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/taskloop_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_loop_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_simd_loop_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_simd_loop_messages.cpp
Revision 373938 by arsenm:
AMDGPU/GlobalISel: Select more G_INSERT cases

At minimum handle the s64 insert type, which are emitted in real cases
during legalization.

We really need TableGen to emit something to emit something like the
inverse of composeSubRegIndices do determine the subreg index to use.
Change TypePath in RepositoryPath in Workspace
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/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert.mir
Revision 373937 by arsenm:
GlobalISel: Add target pre-isel instructions

Allows targets to introduce regbankselectable
pseudo-instructions. Currently the closet feature to this is an
intrinsic. However this requires creating a public intrinsic
declaration. This litters the public intrinsic namespace with
operations we don't necessarily want to expose to IR producers, and
would rather leave as private to the backend.

Use a new instruction bit. A previous attempt tried to keep using enum
value ranges, but it turned into a mess.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineInstr.h (diff)llvm.src/include/llvm/CodeGen/MachineInstr.h
The file was modified/llvm/trunk/include/llvm/MC/MCInstrDesc.h (diff)llvm.src/include/llvm/MC/MCInstrDesc.h
The file was modified/llvm/trunk/include/llvm/Target/GenericOpcodes.td (diff)llvm.src/include/llvm/Target/GenericOpcodes.td
The file was modified/llvm/trunk/include/llvm/Target/Target.td (diff)llvm.src/include/llvm/Target/Target.td
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/RegBankSelect.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/RegBankSelect.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUGISel.td (diff)llvm.src/lib/Target/AMDGPU/AMDGPUGISel.td
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/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.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/SIInstructions.td (diff)llvm.src/lib/Target/AMDGPU/SIInstructions.td
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-ffbh-u32.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-ffbh-u32.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-ffbh-u32.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-ffbh-u32.mir
The file was modified/llvm/trunk/utils/TableGen/CodeGenInstruction.cpp (diff)llvm.src/utils/TableGen/CodeGenInstruction.cpp
The file was modified/llvm/trunk/utils/TableGen/CodeGenInstruction.h (diff)llvm.src/utils/TableGen/CodeGenInstruction.h
The file was modified/llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp (diff)llvm.src/utils/TableGen/InstrInfoEmitter.cpp
Revision 373936 by mgorny:
[clang] [cmake] Support LLVM_DISTRIBUTION_COMPONENTS in stand-alone build

Differential Revision: https://reviews.llvm.org/D68412
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/CMakeLists.txt (diff)clang.src/CMakeLists.txt
Revision 373935 by jrose:
Second attempt to add iterator_range::empty()

Doing this makes MSVC complain that `empty(someRange)` could refer to
either C++17's std::empty or LLVM's llvm::empty, which previously we
avoided via SFINAE because std::empty is defined in terms of an empty
member rather than begin and end. So, switch callers over to the new
method as it is added.

https://reviews.llvm.org/D68439
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/iterator_range.h (diff)llvm.src/include/llvm/ADT/iterator_range.h
The file was modified/llvm/trunk/lib/Analysis/LazyCallGraph.cpp (diff)llvm.src/lib/Analysis/LazyCallGraph.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/GlobalISel/InstructionSelector.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/InstructionSelector.cpp
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerInfo.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/RegBankSelect.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/RegBankSelect.cpp
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp (diff)llvm.src/lib/CodeGen/MachineModuleInfo.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/ExecutionUtils.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
The file was modified/llvm/trunk/lib/IR/DebugInfo.cpp (diff)llvm.src/lib/IR/DebugInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/BPF/BPFAbstractMemberAccess.cpp (diff)llvm.src/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was modified/llvm/trunk/lib/Target/BPF/BPFAsmPrinter.cpp (diff)llvm.src/lib/Target/BPF/BPFAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)llvm.src/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/PartialInlining.cpp (diff)llvm.src/lib/Transforms/IPO/PartialInlining.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp (diff)llvm.src/lib/Transforms/Scalar/NewGVN.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp (diff)llvm.src/lib/Transforms/Utils/PredicateInfo.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp (diff)llvm.src/lib/Transforms/Utils/SimplifyCFG.cpp
Revision 373932 by nico:
Try to get clangd tests passing on Windows.

Part of PR43592. See also r328645.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/test/semantic-highlighting.test (diff)clang-tools-extra.src/clangd/test/semantic-highlighting.test
The file was modified/clang-tools-extra/trunk/clangd/test/type-hierarchy.test (diff)clang-tools-extra.src/clangd/test/type-hierarchy.test
Revision 373930 by cryptoad:
[scudo][standalone] Correct releaseToOS behavior

Summary:
There was an issue in `releaseToOSMaybe`: one of the criteria to
decide if we should proceed with the release was wrong. Namely:

```
const uptr N = Sci->Stats.PoppedBlocks - Sci->Stats.PushedBlocks;
if (N * BlockSize < PageSize)
  return; // No chance to release anything.
```

I meant to check if the amount of bytes in the free list was lower
than a page, but this actually checks if the amount of **in use** bytes
was lower than a page.

The correct code is:

```
const uptr BytesInFreeList =
  Region->AllocatedUser -
  (Region->Stats.PoppedBlocks - Region->Stats.PushedBlocks) * BlockSize;
if (BytesInFreeList < PageSize)
  return 0; // No chance to release anything.
```

Consequences of the bug:
- if a class size has less than a page worth of in-use bytes (allocated
  or in a cache), reclaiming would not occur, whatever the amount of
  blocks in the free list; in real world scenarios this is unlikely to
  happen and be impactful;
- if a class size had less than a page worth of free bytes (and enough
  in-use bytes, etc), then reclaiming would be attempted, with likely
  no result. This means the reclaiming was overzealous at times.

I didn't have a good way to test for this, so I changed the prototype
of the function to return the number of bytes released, allowing to
get the information needed. The test added fails with the initial
criteria.

Another issue is that `ReleaseToOsInterval` can actually be 0, meaning
we always try to release (side note: it's terrible for performances).
so change a `> 0` check to `>= 0`.

Additionally, decrease the `CanRelease` threshold to `PageSize / 32`.
I still have to make that configurable but I will do it at another time.

Finally, rename some variables in `printStats`: I feel like "available"
was too ambiguous, so change it to "total".

Reviewers: morehouse, hctim, eugenis, vitalybuka, cferris

Reviewed By: morehouse

Subscribers: delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D68471
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/scudo/standalone/primary32.h (diff)compiler-rt.src/lib/scudo/standalone/primary32.h
The file was modified/compiler-rt/trunk/lib/scudo/standalone/primary64.h (diff)compiler-rt.src/lib/scudo/standalone/primary64.h
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/primary_test.cpp (diff)compiler-rt.src/lib/scudo/standalone/tests/primary_test.cpp
Revision 373929 by erichkeane:
Fix Calling Convention through aliases

r369697 changed the behavior of stripPointerCasts to no longer include
aliases.  However, the code in CGDeclCXX.cpp's createAtExitStub counted
on the looking through aliases to properly set the calling convention of
a call.

The result of the change was that the calling convention mismatch of the
call would be replaced with a llvm.trap, causing a runtime crash.

Differential Revision: https://reviews.llvm.org/D68584
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (diff)clang.src/lib/CodeGen/CGDeclCXX.cpp
The file was added/cfe/trunk/test/CodeGenCXX/call-conv-thru-alias.cppclang.src/test/CodeGenCXX/call-conv-thru-alias.cpp
The file was modified/llvm/trunk/include/llvm/IR/Value.h (diff)llvm.src/include/llvm/IR/Value.h
The file was modified/llvm/trunk/lib/IR/Value.cpp (diff)llvm.src/lib/IR/Value.cpp
Revision 373928 by ymandel:
[libTooling][NFC] Fix build break in r373916.

r373916 used raw strings inside macro calls, which breaks some builds.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/unittests/Tooling/StencilTest.cpp (diff)clang.src/unittests/Tooling/StencilTest.cpp
Revision 373924 by kadircet:
[clangd] Fix raciness in code completion tests

Reviewers: sammccall, ilya-biryukov

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68273
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpp (diff)clang-tools-extra.src/clangd/unittests/CodeCompleteTests.cpp
Revision 373923 by fhahn:
[Remarks] Pass StringBlockValue as StringRef.

After changing the remark serialization, we now pass StringRefs to the
serializer. We should use StringRef for StringBlockVal, to avoid
creating temporary objects, which then cause StringBlockVal.Value to
point to invalid memory.

Reviewers: thegameg, anemet

Reviewed By: thegameg

Differential Revision: https://reviews.llvm.org/D68571
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Remarks/YAMLRemarkSerializer.cpp (diff)llvm.src/lib/Remarks/YAMLRemarkSerializer.cpp
Revision 373922 by paulhoad:
[clang-format] [PR27004] omits leading space for noexcept when formatting operator delete()

Summary:
clang-format is incorrectly thinking the parameter parens are part of a cast operation, this is resulting in there sometimes being not space between the paren and the noexcept (and other keywords like volatile etc..)

```
void operator++(int) noexcept;
void operator++(int &) noexcept;
void operator delete(void *, std::size_t, const std::nothrow_t &)noexcept;
```

Reviewers: klimek, owenpan, mitchell-stellar

Reviewed By: mitchell-stellar

Subscribers: cfe-commits

Tags: #clang-format, #clang

Differential Revision: https://reviews.llvm.org/D68481
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
Revision 373921 by paulhoad:
[clang-format] [NFC] Ensure clang-format is itself clang-formatted.

Summary:
Before making a proposed change, ensure ClangFormat.cpp is fully clang-formatted,

no functional change just clang-formatting using the in tree .clang-format.

Reviewers: mitchell-stellar

Reviewed By: mitchell-stellar

Subscribers: Eugene.Zelenko, cfe-commits

Tags: #clang-format, #clang

Differential Revision: https://reviews.llvm.org/D68551
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/clang-format/ClangFormat.cpp (diff)clang.src/tools/clang-format/ClangFormat.cpp
Revision 373919 by wmi:
Fix build errors caused by rL373914.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ProfileData/SampleProfWriter.h (diff)llvm.src/include/llvm/ProfileData/SampleProfWriter.h
The file was modified/llvm/trunk/lib/ProfileData/SampleProfReader.cpp (diff)llvm.src/lib/ProfileData/SampleProfReader.cpp
Revision 373918 by rksimon:
Codegen - 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/CodeGen/CGAtomic.cpp (diff)clang.src/lib/CodeGen/CGAtomic.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCXX.cpp (diff)clang.src/lib/CodeGen/CGCXX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGClass.cpp (diff)clang.src/lib/CodeGen/CGClass.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/CGExpr.cpp (diff)clang.src/lib/CodeGen/CGExpr.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (diff)clang.src/lib/CodeGen/CGObjCGNU.cpp
The file was modified/cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp (diff)clang.src/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cpp (diff)clang.src/lib/CodeGen/TargetInfo.cpp
Revision 373917 by wenlei:
[llvm-profdata] Minor format fix

Summary: Minor format fix for output of "llvm-profdata -show"

Reviewers: wmi

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68440
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ProfileData/SampleProf.cpp (diff)llvm.src/lib/ProfileData/SampleProf.cpp
Revision 373916 by ymandel:
[libTooling] Add `toString` method to the Stencil class

Summary:
`toString` generates a string representation of the stencil.

Patch by Harshal T. Lehri.

Reviewers: gribozavr

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68574
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Tooling/Refactoring/Stencil.h (diff)clang.src/include/clang/Tooling/Refactoring/Stencil.h
The file was modified/cfe/trunk/lib/Tooling/Refactoring/Stencil.cpp (diff)clang.src/lib/Tooling/Refactoring/Stencil.cpp
The file was modified/cfe/trunk/unittests/Tooling/StencilTest.cpp (diff)clang.src/unittests/Tooling/StencilTest.cpp
Revision 373915 by rksimon:
[X86][SSE] getTargetShuffleInputs - move VT.isSimple/isVector checks inside. NFCI.

Stop all the callers from having to check the value type before calling getTargetShuffleInputs.
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
Revision 373914 by wmi:
[SampleFDO] Add compression support for any section in ExtBinary profile format

Previously ExtBinary profile format only supports compression using zlib for
profile symbol list. In this patch, we extend the compression support to any
section. User can select some or all of the sections to compress. In an
experiment, for a 45M profile in ExtBinary format, compressing name table
reduced its size to 24M, and compressing all the sections reduced its size
to 11M.

Differential Revision: https://reviews.llvm.org/D68253
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ProfileData/SampleProf.h (diff)llvm.src/include/llvm/ProfileData/SampleProf.h
The file was modified/llvm/trunk/include/llvm/ProfileData/SampleProfReader.h (diff)llvm.src/include/llvm/ProfileData/SampleProfReader.h
The file was modified/llvm/trunk/include/llvm/ProfileData/SampleProfWriter.h (diff)llvm.src/include/llvm/ProfileData/SampleProfWriter.h
The file was modified/llvm/trunk/lib/ProfileData/SampleProf.cpp (diff)llvm.src/lib/ProfileData/SampleProf.cpp
The file was modified/llvm/trunk/lib/ProfileData/SampleProfReader.cpp (diff)llvm.src/lib/ProfileData/SampleProfReader.cpp
The file was modified/llvm/trunk/lib/ProfileData/SampleProfWriter.cpp (diff)llvm.src/lib/ProfileData/SampleProfWriter.cpp
The file was modified/llvm/trunk/test/Transforms/SampleProfile/compressed-profile-symbol-list.ll (diff)llvm.src/test/Transforms/SampleProfile/compressed-profile-symbol-list.ll
The file was added/llvm/trunk/test/Transforms/SampleProfile/profile-format-compress.llllvm.src/test/Transforms/SampleProfile/profile-format-compress.ll
The file was modified/llvm/trunk/test/Transforms/SampleProfile/uncompressed-profile-symbol-list.ll (diff)llvm.src/test/Transforms/SampleProfile/uncompressed-profile-symbol-list.ll
The file was added/llvm/trunk/test/tools/llvm-profdata/profile-symbol-list-compress.testllvm.src/test/tools/llvm-profdata/profile-symbol-list-compress.test
The file was added/llvm/trunk/test/tools/llvm-profdata/roundtrip-compress.testllvm.src/test/tools/llvm-profdata/roundtrip-compress.test
The file was modified/llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp (diff)llvm.src/tools/llvm-profdata/llvm-profdata.cpp
Revision 373913 by spatel:
[LoopVectorize] add test that asserted after cost model change (PR43582); NFC
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/LoopVectorize/X86/cost-model-assert.llllvm.src/test/Transforms/LoopVectorize/X86/cost-model-assert.ll
Revision 373912 by greened:
Allow update_test_checks.py to not scrub names.

Add a --preserve-names option to tell the script not to replace IR names.
Sometimes tests want those names.  For example if a test is looking for a
modification to an existing instruction we'll want to make the names.

Differential Revision: https://reviews.llvm.org/D68081
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/UpdateTestChecks/common.py (diff)llvm.src/utils/UpdateTestChecks/common.py
The file was modified/llvm/trunk/utils/update_test_checks.py (diff)llvm.src/utils/update_test_checks.py
Revision 373911 by rksimon:
Sema - 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/SemaAccess.cpp (diff)clang.src/lib/Sema/SemaAccess.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/lib/Sema/SemaCoroutine.cpp (diff)clang.src/lib/Sema/SemaCoroutine.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpp (diff)clang.src/lib/Sema/SemaDecl.cpp
Revision 373910 by usaxena95:
[clang] Add test for FindNextToken in Lexer.

Reviewers: ilya-biryukov

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68565
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/unittests/Lex/LexerTest.cpp (diff)clang.src/unittests/Lex/LexerTest.cpp
Revision 373909 by kpn:
Fix another sphinx warning.

Differential Revision: https://reviews.llvm.org/D64746
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rst (diff)llvm.src/docs/LangRef.rst
Revision 373908 by deadalnix:
Regenerate ptr-rotate.ll . NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/ptr-rotate.ll (diff)llvm.src/test/CodeGen/X86/ptr-rotate.ll
Revision 373907 by atanasyan:
[Mips] Always save RA when disabling frame pointer elimination

This ensures that frame-based unwinding will continue to work when
calling a noreturn function; there is not much use having the caller's
frame pointer saved if you don't also have the caller's program counter.

Patch by James Clarke.

Differential Revision: https://reviews.llvm.org/D68542
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MipsSEFrameLowering.cpp (diff)llvm.src/lib/Target/Mips/MipsSEFrameLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/Mips/cconv/vector.ll (diff)llvm.src/test/CodeGen/Mips/cconv/vector.ll
The file was modified/llvm/trunk/test/CodeGen/Mips/dynamic-stack-realignment.ll (diff)llvm.src/test/CodeGen/Mips/dynamic-stack-realignment.ll
The file was modified/llvm/trunk/test/CodeGen/Mips/frame-address.ll (diff)llvm.src/test/CodeGen/Mips/frame-address.ll
The file was added/llvm/trunk/test/CodeGen/Mips/no-frame-pointer-elim.llllvm.src/test/CodeGen/Mips/no-frame-pointer-elim.ll
The file was modified/llvm/trunk/test/CodeGen/Mips/tnaked.ll (diff)llvm.src/test/CodeGen/Mips/tnaked.ll
The file was modified/llvm/trunk/test/CodeGen/Mips/v2i16tof32.ll (diff)llvm.src/test/CodeGen/Mips/v2i16tof32.ll
Revision 373906 by atanasyan:
[Mips] Fix evaluating J-format branch targets

J/JAL/JALX/JALS are absolute branches, but stay within the current
256 MB-aligned region, so we must include the high bits of the
instruction address when calculating the branch target.

Patch by James Clarke.

Differential Revision: https://reviews.llvm.org/D68548
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp (diff)llvm.src/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
The file was added/llvm/trunk/test/MC/Mips/micromips-jump-pc-region.sllvm.src/test/MC/Mips/micromips-jump-pc-region.s
The file was added/llvm/trunk/test/MC/Mips/mips-jump-pc-region.sllvm.src/test/MC/Mips/mips-jump-pc-region.s
Revision 373905 by rksimon:
RewriteModernObjC - 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/Frontend/Rewrite/RewriteModernObjC.cpp (diff)clang.src/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Revision 373904 by rksimon:
AST - 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/ExprCXX.cpp (diff)clang.src/lib/AST/ExprCXX.cpp
The file was modified/cfe/trunk/lib/AST/Interp/Program.cpp (diff)clang.src/lib/AST/Interp/Program.cpp
The file was modified/cfe/trunk/lib/AST/Mangle.cpp (diff)clang.src/lib/AST/Mangle.cpp
The file was modified/cfe/trunk/lib/AST/StmtPrinter.cpp (diff)clang.src/lib/AST/StmtPrinter.cpp
The file was modified/cfe/trunk/lib/AST/TemplateBase.cpp (diff)clang.src/lib/AST/TemplateBase.cpp
The file was modified/cfe/trunk/lib/AST/TypePrinter.cpp (diff)clang.src/lib/AST/TypePrinter.cpp
Revision 373903 by whitequark:
[LLVM-C] Add bindings to create macro debug info

Summary: The C API doesn't have the bindings to create macro debug information.

Reviewers: whitequark, CodaFi, deadalnix

Reviewed By: whitequark

Subscribers: aprantl, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D58334
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm-c/DebugInfo.h (diff)llvm.src/include/llvm-c/DebugInfo.h
The file was modified/llvm/trunk/lib/IR/DebugInfo.cpp (diff)llvm.src/lib/IR/DebugInfo.cpp
The file was modified/llvm/trunk/test/Bindings/llvm-c/debug_info.ll (diff)llvm.src/test/Bindings/llvm-c/debug_info.ll
The file was modified/llvm/trunk/tools/llvm-c-test/debuginfo.c (diff)llvm.src/tools/llvm-c-test/debuginfo.c
Revision 373902 by kpn:
Fix sphinx warnings.

Differential Revision: https://reviews.llvm.org/D64746
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rst (diff)llvm.src/docs/LangRef.rst
Revision 373901 by mbrkusanin:
Test commit

Fix comment.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MipsSEISelDAGToDAG.h (diff)llvm.src/lib/Target/Mips/MipsSEISelDAGToDAG.h
Revision 373900 by kpn:
[FPEnv] Add constrained intrinsics for lrint and lround

Earlier in the year intrinsics for lrint, llrint, lround and llround were
added to llvm. The constrained versions are now implemented here.

Reviewed by: andrew.w.kaylor, craig.topper, cameron.mcinally
Approved by: craig.topper
Differential Revision: https://reviews.llvm.org/D64746
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rst (diff)llvm.src/docs/LangRef.rst
The file was modified/llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h (diff)llvm.src/include/llvm/CodeGen/ISDOpcodes.h
The file was modified/llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h (diff)llvm.src/include/llvm/CodeGen/SelectionDAGNodes.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicInst.h (diff)llvm.src/include/llvm/IR/IntrinsicInst.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/include/llvm/Target/TargetSelectionDAG.td (diff)llvm.src/include/llvm/Target/TargetSelectionDAG.td
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
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/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modified/llvm/trunk/lib/CodeGen/TargetLoweringBase.cpp (diff)llvm.src/lib/CodeGen/TargetLoweringBase.cpp
The file was modified/llvm/trunk/lib/IR/IntrinsicInst.cpp (diff)llvm.src/lib/IR/IntrinsicInst.cpp
The file was modified/llvm/trunk/lib/IR/Verifier.cpp (diff)llvm.src/lib/IR/Verifier.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/fp-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/fp-intrinsics.ll
The file was modified/llvm/trunk/test/Feature/fp-intrinsics.ll (diff)llvm.src/test/Feature/fp-intrinsics.ll
Revision 373899 by nico:
gn build: use better triple on windows

The CMake build uses "x86_64-pc-windows-msvc". The "-msvc" suffix is
important because e.g. clang/test/lit.cfg.py matches against the
suffix "windows-msvc" to compute the presence of the "ms-sdk" and
the absence of the "LP64" feature.

Differential Revision: https://reviews.llvm.org/D68572
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/triples.gni (diff)llvm.src/utils/gn/secondary/llvm/triples.gni
Revision 373898 by nico:
Revert r373888 "[IA] Recognize hexadecimal escape sequences"

It broke MC/AsmParser/directive_ascii.s on all bots:

    Assertion failed: (Index < Length && "Invalid index!"), function operator[],
        file ../../llvm/include/llvm/ADT/StringRef.h, line 243.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/MCParser/AsmParser.cpp (diff)llvm.src/lib/MC/MCParser/AsmParser.cpp
The file was modified/llvm/trunk/test/MC/AsmParser/directive_ascii.s (diff)llvm.src/test/MC/AsmParser/directive_ascii.s
Revision 373897 by hokein:
[clangd] Catch an unchecked "Expected<T>" in HeaderSourceSwitch.

Summary: Also fixes a potential user-after-scope issue of "Path".

Reviewers: kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68564
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
The file was modified/clang-tools-extra/trunk/clangd/ClangdServer.cpp (diff)clang-tools-extra.src/clangd/ClangdServer.cpp
The file was modified/clang-tools-extra/trunk/clangd/HeaderSourceSwitch.cpp (diff)clang-tools-extra.src/clangd/HeaderSourceSwitch.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/HeaderSourceSwitchTests.cpp (diff)clang-tools-extra.src/clangd/unittests/HeaderSourceSwitchTests.cpp
Revision 373896 by martong:
[ASTImporter][NFC] Enable disabled but passing test

RedeclChainShouldBeCorrectAmongstNamespaces
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/unittests/AST/ASTImporterTest.cpp (diff)clang.src/unittests/AST/ASTImporterTest.cpp
Revision 373895 by martong:
[ASTImporter][NFC] Update ASTImporter internals docs
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/InternalsManual.rst (diff)clang.src/docs/InternalsManual.rst
Revision 373894 by martong:
[ASTImporter][NFC] Fix typo in user docs
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/LibASTImporter.rst (diff)clang.src/docs/LibASTImporter.rst
Revision 373893 by foad:
[AMDGPU] Fix test checks

The GFX10-DENORM-STRICT checks were only passing by accident. Fix them
to make the test more robust in the face of scheduling or register
allocation changes.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fmuladd.f16.ll (diff)llvm.src/test/CodeGen/AMDGPU/fmuladd.f16.ll