FailedChanges

Summary

  1. [AMDGPU] gfx908 atomic fadd and atomic pk_fadd Differential Revision: https://reviews.llvm.org/D64435
  2. [CGDebugInfo] Fix -femit-debug-entry-values crash on os_log_helpers An os_log_helper FunctionDecl may not have a body. Ignore these for the purposes of debug entry value emission. Fixes an assertion failure seen in a stage2 build of clang: Assertion failed: (FD->hasBody() && "Functions must have body here"), function analyzeParametersModification
  3. [AMDGPU] gfx908 dot instruction support Differential Revision: https://reviews.llvm.org/D64431
  4. Attempt to fix bots after r365703
  5. rL365634 adds a unique_ptr<CompilationDatabase> in GobalCompilationDatabase.h:108 but CompilationDatabase is only forward declared. This makes the header not compile standalone, because unique_ptrs expect to have the full-definition of the... Summary: ...template argument. Remove the forward declaration and include the appropriate header instead. Remove CompileCommand too, which is also in the header.
  6. Revert [llvm-objcopy] Allow strip symtab from executables and DSOs This reverts r365193 (git commit 194f16b3548bcb23a7f0fd638778ed72edd18d37) This patch doesn't work with binaries built w/ `--emit-relocs`, e.g. ``` $ echo 'int main() { return 0; }' | clang -Wl,--emit-relocs -x c - -o foo && llvm-objcopy --strip-unneeded foo llvm-objcopy: error: 'foo': not stripping symbol '__gmon_start__' because it is named in a relocation ```
  7. [SDAG] commute setcc operands to match a subtract If we have: R = sub X, Y P = cmp Y, X ...then flipping the operands in the compare instruction can allow using a subtract that sets compare flags. Motivated by diffs in D58875 - not sure if this changes anything there, but this seems like a good thing independent of that. There's a more involved version of this transform already in IR (in instcombine although that seems misplaced to me) - see "swapMayExposeCSEOpportunities()". Differential Revision: https://reviews.llvm.org/D63958
  8. Add IsBytewiseValue unit test Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63966
  9. NFC: Pass DataLayout into isBytewiseValue Summary: We will need to handle IntToPtr which I will submit in a separate patch as it's not going to be NFC. Reviewers: eugenis, pcc Reviewed By: eugenis Subscribers: hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D63940
  10. NFC: Convert large lambda into method Reviewers: pcc, eugenis Reviewed By: eugenis Subscribers: cfe-commits, lldb-commits Tags: #clang, #lldb Differential Revision: https://reviews.llvm.org/D63854
  11. [TSan] Fix linker error on Linux/AArch64
  12. GodeGen, NFC: Add test to track emitStoresForConstant behavior Reviewers: eugenis, pcc Reviewed By: eugenis Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64385
  13. [X86] Add patterns with and_flag_nocf for BLSI and TBM instructions. Fixes similar issues to r352306.
  14. [X86] Add a few more TBM and BLSI test cases that show the same issue that r352306 fixed for BLSR.
  15. driver: Don't warn about assembler flags being unused when not assembling clang currently warns when passing flags for the assembler (e.g. -Wa,-mbig-obj) to an invocation that doesn't run the assembler (e.g. -E). At first sight, that makes sense -- the flag really is unused. But many other flags don't have an effect if no assembler runs (e.g. -fno-integrated-as, -ffunction-sections, and many others), and those currently don't warn. So this seems more like a side effect of how CollectArgsForIntegratedAssembler() is implemented than like an intentional feature. Since it's a bit inconvenient when debugging builds and adding -E, always call CollectArgsForIntegratedAssembler() to make sure assembler args always get claimed. Currently, this affects only these flags: -mincremental-linker-compatible, -mimplicit-it= (on ARM), -Wa, -Xassembler It does have the side effect that assembler options now need to be valid even if -E is passed. Previously, `-Wa,-mbig-obj` would error for non-coff output only if the assembler ran, now it always errors. This too makes assembler flags more consistent with all the other flags and seems like a progression. Fixes PR42066. Differential Revision: https://reviews.llvm.org/D64527
  16. [X86] Add BLSR and BLSMSK to isUseDefConvertible. Unfortunately subo formation in CGP prevents obvious ways of testing this. But we already have BLSI in here and the flag behavior is well understood. Might become more useful if we improve PR42571.
  17. [NFC]Fix IR/MC depency issue for function descriptor SDAG implementation Summary: llvm/IR/GlobalValue.h can't be included in MC, that creates a circular dependency between MC and IR libraries. This circular dependency is causing an issue for build system that enforce layering. Author: Xiangling_L Reviewers: sfertile, jasonliu, hubert.reinterpretcast, gribozavr Reviewed By: gribozavr Subscribers: wuzish, nemanjai, hiraditya, kbarton, MaskRay, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64445
  18. [clang-scan-deps] Dependency directives source minimizer: single quotes are not digit separators after a valid character literal prefix The single quote character can act as a c++ digit separator. However, the minimizer shouldn't treat it as such when it's actually following a valid character literal prefix, like L, U, u, or u8. Differential Revision: https://reviews.llvm.org/D64525
  19. [Concepts] Concept definitions (D40381) First in a series of patches to land C++2a Concepts support. This patch adds AST and parsing support for concept-declarations.
  20. [X86] Remove unused variable. NFC
  21. My first test commit.
  22. [NFC][InstCombine] Comb through just-added "omit mask before left-shift" tests once more
  23. [TSan] Fix compiler error on Linux/AArch64
  24. Add support for building with Python 3 LLDB supports Python 3 now. Differential Revision: https://reviews.llvm.org/D64443 Patch from Christian Biesinger <cbiesinger@google.com>!
  25. [OPENMP]Remove not used check line from the test, NFC.
  26. [AArch64][GlobalISel] Optimize compare and branch cases with G_INTTOPTR and unknown values. Since we have distinct types for pointers and scalars, G_INTTOPTRs can sometimes obstruct attempts to find constant source values. These usually come about when try to do some kind of null pointer check. Teaching getConstantVRegValWithLookThrough about this operation allows the CBZ/CBNZ optimization to catch more cases. This change also improves the case where we can't find a constant source at all. Previously we would emit a cmp, cset and tbnz for that. Now we try to just emit a cmp and conditional branch, saving an instruction. The cumulative code size improvement of this change plus D64354 is 5.5% geomean on arm64 CTMark -O0. Differential Revision: https://reviews.llvm.org/D64377
  27. gn build: Merge r365687
  28. [clang-doc] Add a structured HTML generator Implements an HTML generator. Nodes are used to represent each part of the HTML file. There are TagNodes that represent every HTML tag (p, h1, div, ...) and they have children nodes, which can be TagNodes or TextNodes (these nodes only have text). Proper indentation is rendered within the files generated by tool. No styling (CSS) is included. Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com) Differential Revision: https://reviews.llvm.org/D63857
  29. Revert "[ELF] Loose a condition for relocation with a symbol" This reverts commit 8507eca1647118e73435b0ce1de8a1952a021d01. Reveting due to some suspicious failurse in santizer-x86_64-linux.
  30. [GlobalISel][AArch64] Use getOpcodeDef instead of findMIFromReg Some minor cleanup. This function in Utils does the same thing as `findMIFromReg`. It also looks through copies, which `findMIFromReg` didn't. Delete `findMIFromReg` and use `getOpcodeDef` instead. This only happens in `tryOptVectorDup` right now. Update opt-shuffle-splat to show that we can look through the copies now, too. Differential Revision: https://reviews.llvm.org/D64520
  31. [GlobalISel][AArch64][NFC] Use getDefIgnoringCopies from Utils where we can There are a few places where we walk over copies throughout AArch64InstructionSelector.cpp. In Utils, there's a function that does exactly this which we can use instead. Note that the utility function works with the case where we run into a COPY from a physical register. We've run into bugs with this a couple times, so using it should defend us from similar future bugs. Also update opt-fold-compare.mir to show that we still handle physical registers properly. Differential Revision: https://reviews.llvm.org/D64513
  32. Update libc++ include path detection to use VFS on Linux The DetectLibcxxIncludePath function had been using llvm::sys::fs::directory_iterator, and this updates it to use llvm::vfs::directory_iterator. Differential Revision: https://reviews.llvm.org/D64381
  33. [TSan] Attempt to fix linker error on Linux/AArch64
  34. Revert "[System Model] [TTI] Update cache and prefetch TTI interfaces" This broke some PPC prefetching tests. This reverts commit 9fdfb045ae8bb643ab0d0455dcf9ecaea3b1eb3c.
  35. Move three folds for FADD, FSUB and FMUL in the DAG combiner away from Unsafe to more aligned checks that reflect context Summary: Unsafe does not map well alone for each of these three cases as it is missing NoNan context when accessed directly with clang. I have migrated the fold guards to reflect the expectations of handing nan and zero contexts directly (NoNan, NSZ) and some tests with it. Unsafe does include NSZ, however there is already precedent for using the target option directly to reflect that context. Reviewers: spatel, wristow, hfinkel, craig.topper, arsenm Reviewed By: arsenm Subscribers: michele.scandale, wdng, javed.absar Differential Revision: https://reviews.llvm.org/D64450
  36. Revert "[clangd] Filter out non-governed files from broadcast" This reverts commit d5214dfa7b5650745eaeb102857c9e90adb16137. It's causing failures, both in our local CI and the PS4 Windows bot. http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/26872/steps/test/logs/stdio
  37. [System Model] [TTI] Update cache and prefetch TTI interfaces Rework the TTI cache and software prefetching APIs to prepare for the introduction of a general system model. Changes include: - Marking existing interfaces const and/or override as appropriate - Adding comments - Adding BasicTTIImpl interfaces that delegate to a subtarget implementation - Adding a default "no information" subtarget implementation Only a handful of targets use these interfaces currently: AArch64, Hexagon, PPC and SystemZ. AArch64 already has a custom subtarget implementation, so its custom TTI implementation is migrated to use the new facilities in BasicTTIImpl to invoke its custom subtarget implementation. The custom TTI implementations continue to exist for the other targets with this change. They are not moved over to subtarget-based implementations. The end goal is to have the default subtarget implementation defer to the system model defined by the target. With this change, the default subtarget implementation essentially returns "no information" for these interfaces. None of the existing users of TTI will hit that implementation because they define their own custom TTI implementations and won't use the BasicTTIImpl implementations. Once system models are in place for the targets that use these interfaces, their custom TTI implementations can be removed. Differential Revision: https://reviews.llvm.org/D63614
  38. Recommit "[CommandLine] Remove OptionCategory and SubCommand caches from the Option class." Previously reverted in 364141 due to buildbot breakage, and fixed here by making GeneralCategory global a ManagedStatic. Summary: This change processes `OptionCategory`s and `SubCommand`s as they are seen instead of caching them in the Option class and processing them later. Doing so simplifies the work needed to be done by the Global parser and significantly reduces the size of the Option class to a mere 64 bytes. Removing the `OptionCategory` cache saved 24 bytes, and removing the `SubCommand` cache saved an additional 48 bytes, for a total of a 72 byte reduction. Reviewed By: serge-sans-paille Tags: #llvm, #clang Differential Revision: https://reviews.llvm.org/D62105
  39. [X86] EltsFromConsecutiveLoads - clean up element size calcs. NFCI. Determine the element/load size calculations earlier and assert that they are whole bytes in size.
  40. [LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map. Summary: The map kept in loop rotate is used for instruction remapping, in order to simplify the clones of instructions. Thus, if an instruction can be simplified, its simplified value is placed in the map, even when the clone is added to the IR. MemorySSA in contrast needs to know about that clone, so it can add an access for it. To resolve this: keep a different map for MemorySSA. Reviewers: george.burgess.iv Subscribers: jlebar, Prazek, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63680
  41. [ORC] Add custom IR compiler configuration to LLJITBuilder to enable obj caches. LLJITBuilder now has a setCompileFunctionCreator method which can be used to construct a CompileFunction for the LLJIT instance being created. The motivating use-case for this is supporting ObjectCaches, which can now be set up at compile-function construction time. To demonstrate this an example project, LLJITWithObjectCache, is included.
  42. [X86] Regenerate tests. NFCI. Hasn't been regenerated since the update script could merge 32/64-bit checks.
  43. [X86] Change the IR sequence for _mm_storeh_pi and _mm_storel_pi to perform the store as a <2 x float> instead of i64. This is similar to what we do for loadl_pi and loadh_pi.
  44. [X86] Add guards to some of the x86 intrinsic tests to skip 64-bit mode only intrinsics when compiled for 32-bit mode. All the command lines are for 64-bit mode, but sometimes I compile the tests in 32-bit mode to see what assembly we get and we need to skip these to do that.
  45. [X86] Add tests for an alternative sequence for _mm_storel_pi/_mm_storeh_pi intrinsics. NFC
  46. [clang] Preserve names of addrspacecast'ed values. Differential Revision: https://reviews.llvm.org/D63846
  47. [TargetLowering] support BlockAddress as "i" inline asm constraint Summary: This allows passing address of labels to inline assembly "i" input constraints. Fixes pr/42502. Reviewers: ostannard Reviewed By: ostannard Subscribers: void, echristo, nathanchance, ostannard, javed.absar, hiraditya, llvm-commits, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D64167
  48. [NFC][InstCombine] Fixup some tests in just-added "omit mask before left-shift" tests
  49. MC: AArch64: Add support for pg_hi21_nc relocation specifier. Differential Revision: https://reviews.llvm.org/D64455
  50. [CodeExtractor] Fix sinking of allocas with multiple bitcast uses (PR42451) An alloca which can be sunk into the extraction region may have more than one bitcast use. Move these uses along with the alloca to prevent use-before-def. Testing: check-llvm, stage2 build of clang Fixes llvm.org/PR42451. Differential Revision: https://reviews.llvm.org/D64463
  51. [CodeExtractor] Simplify findAllocas, NFC Split getLifetimeMarkers out into its own method and have it return a struct. Differential Revision: https://reviews.llvm.org/D64467
  52. GlobalISel: Legalization for G_FMINNUM/G_FMAXNUM
  53. GlobalISel: Define the full family of FP min/max instructions
  54. [X86] EltsFromConsecutiveLoads - remove duplicate check for element size. NFCI. We've already checked that each element is the correct contributory size for VT when we inspect the elements for Undef/Zero/Load.
  55. [X86] EltsFromConsecutiveLoads - ensure element reg/store sizes are the same size. NFCI. This renames the type so it doesn't sound like its based off the load size - as we're moving towards supporting combining loads of different sizes.
  56. AMDGPU: Serialize mode from MachineFunctionInfo
  57. [PatternMatch] Generalize m_SpecificInt_ULT() to take ICmpInst::Predicate As discussed in the original review, this may be useful, so let's just do it.
  58. [Remarks] Add cl::Hidden to -remarks-yaml-string-table It was showing up in a lot of unrelated tools.
  59. docs/GithubMove.rst: Remove obsolete information Summary: Remove references to the multirepo and update the document to reflect the current state of the github repository. Reviewers: mehdi_amini, jyknight Subscribers: jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58420
  60. [FileCheck] Use bool operator to test Expected Use bool() consistently to get boolean value of Error, Optional and Expected types in EXPECT calls. While static_cast is used in all cases but one, bool provides more clarity and makes more sense as a new default.
  61. [AMDGPU] Increased the number of implicit argument bytes for both OpenCL and HIP (CLANG). To enable a new implicit kernel argument, increased the number of argument bytes from 48 to 56. Reviewed By: yaxunl Differential Revision: https://reviews.llvm.org/D63756
  62. [NFC][InstCombine] Redundant masking before left-shift (PR42563) alive proofs: a,b: https://rise4fun.com/Alive/4zsf c,d,e,f: https://rise4fun.com/Alive/RC49 Indeed, not all of these patterns are canonical. But since this fold will only produce a single instruction i'm really interested in handling even uncanonical patterns. Other than these 6 patterns, i can't think of any other reasonable variants right now, although i'm sure they exist. For now let's start with patterns where both shift amounts are variable, with trivial constant "offset" between them, since i believe this is both simplest to handle and i think this is most common. But again, there are likely other variants where we could use ValueTracking/ConstantRange to handle more cases. https://bugs.llvm.org/show_bug.cgi?id=42563
  63. [AMDGPU] Allow abs/neg source modifiers on v_cndmask_b32 Summary: D59191 added support for these modifiers in the assembler and disassembler. This patch just teaches instruction selection that it can use them. Reviewers: arsenm, tstellar Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64497
  64. [analyzer]Add user docs rst Summary: Add user documentation page. This is an empty page atm, later patches will add the specific user documentatoins. Reviewers: dkrupp Subscribers: whisperity, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, gamesh411, Charusso, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64494
  65. Remove two unused member variables. They were added over 10 years ago in r66575 and have never been used as far as I can tell. (r67087 added similar fields to Compilation, and those are used.)
  66. [InstCombine] pow(C,x) -> exp2(log2(C)*x) Summary: Transform pow(C,x) To exp2(log2(C)*x) if C > 0, C != inf, C != NaN (and C is not power of 2, since we have some fold for such case already). log(C) is folded by the compiler and exp2 is much faster to compute than pow. Reviewers: spatel, efriedma, evandro Reviewed By: evandro Subscribers: lebedev.ri, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64099
  67. [InferFunctionAttrs] add/adjust tests for dereferenceable; NFC Based on review comments for D64258.
  68. [clangd] Filter out non-governed files from broadcast Summary: This also turns off implicit discovery of additional compilation databases. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64247
Revision 365717 by rampitec:
[AMDGPU] gfx908 atomic fadd and atomic pk_fadd

Differential Revision: https://reviews.llvm.org/D64435
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdllvm.src/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cppllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.hllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructions.tdllvm.src/lib/Target/AMDGPU/AMDGPUInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/BUFInstructions.tdllvm.src/lib/Target/AMDGPU/BUFInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/FLATInstructions.tdllvm.src/lib/Target/AMDGPU/FLATInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.tdllvm.src/lib/Target/AMDGPU/SIInstrInfo.td
The file was added/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.fadd.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.fadd.ll
The file was added/llvm/trunk/test/MC/AMDGPU/atomic-fadd-insts.sllvm.src/test/MC/AMDGPU/atomic-fadd-insts.s
The file was added/llvm/trunk/test/MC/Disassembler/AMDGPU/atomic-fadd-insts.txtllvm.src/test/MC/Disassembler/AMDGPU/atomic-fadd-insts.txt
Revision 365716 by Vedant Kumar:
[CGDebugInfo] Fix -femit-debug-entry-values crash on os_log_helpers

An os_log_helper FunctionDecl may not have a body. Ignore these for the
purposes of debug entry value emission.

Fixes an assertion failure seen in a stage2 build of clang:

Assertion failed: (FD->hasBody() && "Functions must have body here"),
function analyzeParametersModification
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cppclang.src/lib/CodeGen/CGDebugInfo.cpp
The file was modified/cfe/trunk/test/CodeGen/debug-info-param-modification.cclang.src/test/CodeGen/debug-info-param-modification.c
Revision 365715 by rampitec:
[AMDGPU] gfx908 dot instruction support

Differential Revision: https://reviews.llvm.org/D64431
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.tdllvm.src/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.sdot2.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.sdot2.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.sdot8.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.sdot8.ll
The file was modified/llvm/trunk/test/MC/AMDGPU/dl-insts-err.sllvm.src/test/MC/AMDGPU/dl-insts-err.s
The file was added/llvm/trunk/test/MC/AMDGPU/xdl-insts-err.sllvm.src/test/MC/AMDGPU/xdl-insts-err.s
The file was modified/llvm/trunk/test/MC/AMDGPU/xdl-insts-gfx908.sllvm.src/test/MC/AMDGPU/xdl-insts-gfx908.s
The file was modified/llvm/trunk/test/MC/Disassembler/AMDGPU/xdl-insts-gfx908.txtllvm.src/test/MC/Disassembler/AMDGPU/xdl-insts-gfx908.txt
Revision 365714 by nico:
Attempt to fix bots after r365703
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Driver/as-options.sclang.src/test/Driver/as-options.s
Revision 365713 by saugustine:
rL365634 adds a unique_ptr<CompilationDatabase> in GobalCompilationDatabase.h:108 but CompilationDatabase is only forward declared. This makes the header not compile standalone, because unique_ptrs expect to have the full-definition of the...

Summary:
...template argument.

Remove the forward declaration and include the appropriate header instead.
Remove CompileCommand too, which is also in the header.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/GlobalCompilationDatabase.hclang-tools-extra.src/clangd/GlobalCompilationDatabase.h
Revision 365712 by rupprecht:
Revert [llvm-objcopy] Allow strip symtab from executables and DSOs

This reverts r365193 (git commit 194f16b3548bcb23a7f0fd638778ed72edd18d37)

This patch doesn't work with binaries built w/ `--emit-relocs`, e.g.

```
$ echo 'int main() { return 0; }' | clang -Wl,--emit-relocs -x c - -o foo && llvm-objcopy --strip-unneeded foo
llvm-objcopy: error: 'foo': not stripping symbol '__gmon_start__' because it is named in a relocation
```
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/no-symbol-relocation.testllvm.src/test/tools/llvm-objcopy/ELF/no-symbol-relocation.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/preserve-segment-contents-ehdr-phdrs.testllvm.src/test/tools/llvm-objcopy/ELF/preserve-segment-contents-ehdr-phdrs.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/remove-multiple-sections.testllvm.src/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/segment-shift-section-remove.testllvm.src/test/tools/llvm-objcopy/ELF/segment-shift-section-remove.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/segment-test-remove-section.testllvm.src/test/tools/llvm-objcopy/ELF/segment-test-remove-section.test
The file was removed/llvm/trunk/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.testllvm.src/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cppllvm.src/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/Object.cppllvm.src/tools/llvm-objcopy/ELF/Object.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/Object.hllvm.src/tools/llvm-objcopy/ELF/Object.h
Revision 365711 by spatel:
[SDAG] commute setcc operands to match a subtract

If we have:

R = sub X, Y
P = cmp Y, X

...then flipping the operands in the compare instruction can allow using a subtract that sets compare flags.

Motivated by diffs in D58875 - not sure if this changes anything there,
but this seems like a good thing independent of that.

There's a more involved version of this transform already in IR (in instcombine
although that seems misplaced to me) - see "swapMayExposeCSEOpportunities()".

Differential Revision: https://reviews.llvm.org/D63958
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cppllvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-shrink-wrapping.llllvm.src/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/cgp-usubo.llllvm.src/test/CodeGen/AArch64/cgp-usubo.ll
The file was modified/llvm/trunk/test/CodeGen/Lanai/sub-cmp-peephole.llllvm.src/test/CodeGen/Lanai/sub-cmp-peephole.ll
The file was modified/llvm/trunk/test/CodeGen/X86/jump_sign.llllvm.src/test/CodeGen/X86/jump_sign.ll
The file was modified/llvm/trunk/test/CodeGen/X86/psubus.llllvm.src/test/CodeGen/X86/psubus.ll
Revision 365710 by Vitaly Buka:
Add IsBytewiseValue unit test

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63966
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/Analysis/ValueTrackingTest.cppllvm.src/unittests/Analysis/ValueTrackingTest.cpp
Revision 365709 by Vitaly Buka:
NFC: Pass DataLayout into isBytewiseValue

Summary:
We will need to handle IntToPtr which I will submit in a separate patch as it's
not going to be NFC.

Reviewers: eugenis, pcc

Reviewed By: eugenis

Subscribers: hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D63940
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cppclang.src/lib/CodeGen/CGDecl.cpp
The file was modified/llvm/trunk/include/llvm/Analysis/ValueTracking.hllvm.src/include/llvm/Analysis/ValueTracking.h
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cppllvm.src/lib/Analysis/ValueTracking.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopIdiomRecognize.cppllvm.src/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/MemCpyOptimizer.cppllvm.src/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Revision 365708 by Vitaly Buka:
NFC: Convert large lambda into method

Reviewers: pcc, eugenis

Reviewed By: eugenis

Subscribers: cfe-commits, lldb-commits

Tags: #clang, #lldb

Differential Revision: https://reviews.llvm.org/D63854
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cppclang.src/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.hclang.src/lib/CodeGen/CodeGenFunction.h
Revision 365707 by yln:
[TSan] Fix linker error on Linux/AArch64
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cccompiler-rt.src/lib/tsan/rtl/tsan_platform_linux.cc
Revision 365706 by Vitaly Buka:
GodeGen, NFC: Add test to track emitStoresForConstant behavior

Reviewers: eugenis, pcc

Reviewed By: eugenis

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64385
Change TypePath in RepositoryPath in Workspace
The file was added/cfe/trunk/test/CodeGen/init-memset.cclang.src/test/CodeGen/init-memset.c
Revision 365705 by ctopper:
[X86] Add patterns with and_flag_nocf for BLSI and TBM instructions.

Fixes similar issues to r352306.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.tdllvm.src/lib/Target/X86/X86InstrInfo.td
The file was modified/llvm/trunk/test/CodeGen/X86/bmi.llllvm.src/test/CodeGen/X86/bmi.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tbm_patterns.llllvm.src/test/CodeGen/X86/tbm_patterns.ll
Revision 365704 by ctopper:
[X86] Add a few more TBM and BLSI test cases that show the same issue that r352306 fixed for BLSR.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/bmi.llllvm.src/test/CodeGen/X86/bmi.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tbm_patterns.llllvm.src/test/CodeGen/X86/tbm_patterns.ll
Revision 365703 by nico:
driver: Don't warn about assembler flags being unused when not assembling

clang currently warns when passing flags for the assembler (e.g.
-Wa,-mbig-obj) to an invocation that doesn't run the assembler (e.g.
-E).

At first sight, that makes sense -- the flag really is unused. But many
other flags don't have an effect if no assembler runs (e.g.
-fno-integrated-as, -ffunction-sections, and many others), and those
currently don't warn. So this seems more like a side effect of how
CollectArgsForIntegratedAssembler() is implemented than like an
intentional feature.

Since it's a bit inconvenient when debugging builds and adding -E,
always call CollectArgsForIntegratedAssembler() to make sure assembler
args always get claimed. Currently, this affects only these flags:
-mincremental-linker-compatible, -mimplicit-it= (on ARM), -Wa, -Xassembler

It does have the side effect that assembler options now need to be valid
even if -E is passed. Previously, `-Wa,-mbig-obj` would error for
non-coff output only if the assembler ran, now it always errors. This
too makes assembler flags more consistent with all the other flags and
seems like a progression.

Fixes PR42066.

Differential Revision: https://reviews.llvm.org/D64527
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cppclang.src/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/test/Driver/as-options.sclang.src/test/Driver/as-options.s
Revision 365702 by ctopper:
[X86] Add BLSR and BLSMSK to isUseDefConvertible.

Unfortunately subo formation in CGP prevents obvious ways of
testing this.

But we already have BLSI in here and the flag behavior is
well understood.

Might become more useful if we improve PR42571.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cppllvm.src/lib/Target/X86/X86InstrInfo.cpp
Revision 365701 by daltenty:
[NFC]Fix IR/MC depency issue for function descriptor SDAG implementation

Summary: llvm/IR/GlobalValue.h can't be included in MC, that creates a circular dependency between MC and IR libraries. This circular dependency is causing an issue for build system that enforce layering.

Author: Xiangling_L

Reviewers: sfertile, jasonliu, hubert.reinterpretcast, gribozavr

Reviewed By: gribozavr

Subscribers: wuzish, nemanjai, hiraditya, kbarton, MaskRay, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64445
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/MC/MCSymbolXCOFF.hllvm.src/include/llvm/MC/MCSymbolXCOFF.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cppllvm.src/lib/Target/PowerPC/PPCISelLowering.cpp
Revision 365700 by arphaman:
[clang-scan-deps] Dependency directives source minimizer:
single quotes are not digit separators after a valid character literal prefix

The single quote character can act as a c++ digit separator.
However, the minimizer shouldn't treat it as such when it's actually following
a valid character literal prefix, like L, U, u, or u8.

Differential Revision: https://reviews.llvm.org/D64525
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Lex/DependencyDirectivesSourceMinimizer.cppclang.src/lib/Lex/DependencyDirectivesSourceMinimizer.cpp
The file was modified/cfe/trunk/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cppclang.src/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp
Revision 365699 by saar.raz:
[Concepts] Concept definitions (D40381)

First in a series of patches to land C++2a Concepts support.
This patch adds AST and parsing support for concept-declarations.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/ASTNodeTraverser.hclang.src/include/clang/AST/ASTNodeTraverser.h
The file was modified/cfe/trunk/include/clang/AST/DeclTemplate.hclang.src/include/clang/AST/DeclTemplate.h
The file was modified/cfe/trunk/include/clang/AST/RecursiveASTVisitor.hclang.src/include/clang/AST/RecursiveASTVisitor.h
The file was modified/cfe/trunk/include/clang/AST/TextNodeDumper.hclang.src/include/clang/AST/TextNodeDumper.h
The file was modified/cfe/trunk/include/clang/Basic/DeclNodes.tdclang.src/include/clang/Basic/DeclNodes.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.tdclang.src/include/clang/Basic/DiagnosticParseKinds.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.tdclang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/include/clang/Basic/TemplateKinds.hclang.src/include/clang/Basic/TemplateKinds.h
The file was modified/cfe/trunk/include/clang/Parse/Parser.hclang.src/include/clang/Parse/Parser.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.hclang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTBitCodes.hclang.src/include/clang/Serialization/ASTBitCodes.h
The file was modified/cfe/trunk/lib/AST/ASTStructuralEquivalence.cppclang.src/lib/AST/ASTStructuralEquivalence.cpp
The file was modified/cfe/trunk/lib/AST/DeclBase.cppclang.src/lib/AST/DeclBase.cpp
The file was modified/cfe/trunk/lib/AST/DeclPrinter.cppclang.src/lib/AST/DeclPrinter.cpp
The file was modified/cfe/trunk/lib/AST/DeclTemplate.cppclang.src/lib/AST/DeclTemplate.cpp
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cppclang.src/lib/AST/TextNodeDumper.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cppclang.src/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cppclang.src/lib/CodeGen/CodeGenModule.cpp
The file was modified/cfe/trunk/lib/Index/IndexDecl.cppclang.src/lib/Index/IndexDecl.cpp
The file was modified/cfe/trunk/lib/Parse/ParseTemplate.cppclang.src/lib/Parse/ParseTemplate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cppclang.src/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cppclang.src/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLookup.cppclang.src/lib/Sema/SemaLookup.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cppclang.src/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cppclang.src/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTCommon.cppclang.src/lib/Serialization/ASTCommon.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTReaderDecl.cppclang.src/lib/Serialization/ASTReaderDecl.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriter.cppclang.src/lib/Serialization/ASTWriter.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriterDecl.cppclang.src/lib/Serialization/ASTWriterDecl.cpp
The file was added/cfe/trunk/test/CXX/concepts-ts/exprclang.src/test/CXX/concepts-ts/expr
The file was added/cfe/trunk/test/CXX/concepts-ts/expr/expr.primclang.src/test/CXX/concepts-ts/expr/expr.prim
The file was added/cfe/trunk/test/CXX/concepts-ts/expr/expr.prim/expr.prim.idclang.src/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id
The file was added/cfe/trunk/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cppclang.src/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp
The file was added/cfe/trunk/test/Parser/cxx2a-concept-declaration.cppclang.src/test/Parser/cxx2a-concept-declaration.cpp
The file was modified/cfe/trunk/tools/libclang/CIndex.cppclang.src/tools/libclang/CIndex.cpp
Revision 365697 by ctopper:
[X86] Remove unused variable. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 365695 by saar.raz:
My first test commit.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cppclang.src/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cpp
Revision 365694 by lebedevri:
[NFC][InstCombine] Comb through just-added "omit mask before left-shift" tests once more
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
Revision 365693 by yln:
[TSan] Fix compiler error on Linux/AArch64
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cccompiler-rt.src/lib/tsan/rtl/tsan_platform_linux.cc
Revision 365692 by nico:
Add support for building with Python 3

LLDB supports Python 3 now.

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

Patch from Christian Biesinger <cbiesinger@google.com>!
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txtllvm.src/CMakeLists.txt
Revision 365691 by abataev:
[OPENMP]Remove not used check line from the test, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/OpenMP/sections_lastprivate_codegen.cppclang.src/test/OpenMP/sections_lastprivate_codegen.cpp
Revision 365690 by aemerson:
[AArch64][GlobalISel] Optimize compare and branch cases with G_INTTOPTR and unknown values.

Since we have distinct types for pointers and scalars, G_INTTOPTRs can sometimes
obstruct attempts to find constant source values. These usually come about when
try to do some kind of null pointer check. Teaching getConstantVRegValWithLookThrough
about this operation allows the CBZ/CBNZ optimization to catch more cases.

This change also improves the case where we can't find a constant source at all.
Previously we would emit a cmp, cset and tbnz for that. Now we try to just emit
a cmp and conditional branch, saving an instruction.

The cumulative code size improvement of this change plus D64354 is 5.5% geomean
on arm64 CTMark -O0.

Differential Revision: https://reviews.llvm.org/D64377
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/Utils.cppllvm.src/lib/CodeGen/GlobalISel/Utils.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cppllvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-cbz.mirllvm.src/test/CodeGen/AArch64/GlobalISel/select-cbz.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mirllvm.src/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/swifterror.llllvm.src/test/CodeGen/AArch64/GlobalISel/swifterror.ll
Revision 365689 by nico:
gn build: Merge r365687
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
Revision 365687 by juliehockett:
[clang-doc] Add a structured HTML generator

Implements an HTML generator.
Nodes are used to represent each part of the HTML file. There are TagNodes that
represent every HTML tag (p, h1, div, ...) and they have children nodes, which
can be TagNodes or TextNodes (these nodes only have text).
Proper indentation is rendered within the files generated by tool.
No styling (CSS) is included.

Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com)

Differential Revision: https://reviews.llvm.org/D63857
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-doc/CMakeLists.txtclang-tools-extra.src/clang-doc/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-doc/Generators.cppclang-tools-extra.src/clang-doc/Generators.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/Generators.hclang-tools-extra.src/clang-doc/Generators.h
The file was added/clang-tools-extra/trunk/clang-doc/HTMLGenerator.cppclang-tools-extra.src/clang-doc/HTMLGenerator.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/MDGenerator.cppclang-tools-extra.src/clang-doc/MDGenerator.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cppclang-tools-extra.src/clang-doc/tool/ClangDocMain.cpp
The file was modified/clang-tools-extra/trunk/unittests/clang-doc/CMakeLists.txtclang-tools-extra.src/unittests/clang-doc/CMakeLists.txt
The file was added/clang-tools-extra/trunk/unittests/clang-doc/HTMLGeneratorTest.cppclang-tools-extra.src/unittests/clang-doc/HTMLGeneratorTest.cpp
Revision 365685 by nikolaprica:
Revert "[ELF] Loose a condition for relocation with a symbol"

This reverts commit 8507eca1647118e73435b0ce1de8a1952a021d01.

Reveting due to some suspicious failurse in santizer-x86_64-linux.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/ELFObjectWriter.cppllvm.src/lib/MC/ELFObjectWriter.cpp
The file was modified/llvm/trunk/test/MC/ELF/basic-elf-32.sllvm.src/test/MC/ELF/basic-elf-32.s
The file was modified/llvm/trunk/test/MC/ELF/compression.sllvm.src/test/MC/ELF/compression.s
The file was modified/llvm/trunk/test/MC/ELF/relocation-386.sllvm.src/test/MC/ELF/relocation-386.s
The file was modified/llvm/trunk/test/MC/Mips/elf-relsym.sllvm.src/test/MC/Mips/elf-relsym.s
The file was modified/llvm/trunk/test/MC/Mips/xgot.sllvm.src/test/MC/Mips/xgot.s
Revision 365684 by paquette:
[GlobalISel][AArch64] Use getOpcodeDef instead of findMIFromReg

Some minor cleanup.

This function in Utils does the same thing as `findMIFromReg`. It also looks
through copies, which `findMIFromReg` didn't.

Delete `findMIFromReg` and use `getOpcodeDef` instead. This only happens in
`tryOptVectorDup` right now.

Update opt-shuffle-splat to show that we can look through the copies now, too.

Differential Revision: https://reviews.llvm.org/D64520
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cppllvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/opt-shuffle-splat.mirllvm.src/test/CodeGen/AArch64/GlobalISel/opt-shuffle-splat.mir
Revision 365683 by paquette:
[GlobalISel][AArch64][NFC] Use getDefIgnoringCopies from Utils where we can

There are a few places where we walk over copies throughout
AArch64InstructionSelector.cpp. In Utils, there's a function that does exactly
this which we can use instead.

Note that the utility function works with the case where we run into a COPY
from a physical register. We've run into bugs with this a couple times, so using
it should defend us from similar future bugs.

Also update opt-fold-compare.mir to show that we still handle physical registers
properly.

Differential Revision: https://reviews.llvm.org/D64513
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cppllvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mirllvm.src/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mir
Revision 365682 by juliehockett:
Update libc++ include path detection to use VFS on Linux

The DetectLibcxxIncludePath function had been using
llvm::sys::fs::directory_iterator, and this updates it to use
llvm::vfs::directory_iterator.

Differential Revision: https://reviews.llvm.org/D64381
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Linux.cppclang.src/lib/Driver/ToolChains/Linux.cpp
Revision 365681 by yln:
[TSan] Attempt to fix linker error on Linux/AArch64
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cccompiler-rt.src/lib/tsan/rtl/tsan_platform_linux.cc
Revision 365680 by greened:
Revert "[System Model] [TTI] Update cache and prefetch TTI interfaces"

This broke some PPC prefetching tests.

This reverts commit 9fdfb045ae8bb643ab0d0455dcf9ecaea3b1eb3c.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfo.hllvm.src/include/llvm/Analysis/TargetTransformInfo.h
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.hllvm.src/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.hllvm.src/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/include/llvm/MC/MCSubtargetInfo.hllvm.src/include/llvm/MC/MCSubtargetInfo.h
The file was modified/llvm/trunk/lib/MC/MCSubtargetInfo.cppllvm.src/lib/MC/MCSubtargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.hllvm.src/lib/Target/AArch64/AArch64Subtarget.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.cppllvm.src/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.hllvm.src/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonTargetTransformInfo.hllvm.src/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.cppllvm.src/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.hllvm.src/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetTransformInfo.hllvm.src/lib/Target/SystemZ/SystemZTargetTransformInfo.h
Revision 365679 by mcberg2017:
Move three folds for FADD, FSUB and FMUL in the DAG combiner away from Unsafe to more aligned checks that reflect context

Summary: Unsafe does not map well alone for each of these three cases as it is missing NoNan context when accessed directly with clang.  I have migrated the fold guards to reflect the expectations of handing nan and zero contexts directly (NoNan, NSZ) and some tests with it.  Unsafe does include NSZ, however there is already precedent for using the target option directly to reflect that context.

Reviewers: spatel, wristow, hfinkel, craig.topper, arsenm

Reviewed By: arsenm

Subscribers: michele.scandale, wdng, javed.absar

Differential Revision: https://reviews.llvm.org/D64450
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cppllvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was added/llvm/trunk/test/CodeGen/ARM/nnan-fsub.llllvm.src/test/CodeGen/ARM/nnan-fsub.ll
The file was removed/llvm/trunk/test/CodeGen/ARM/unsafe-fsub.llllvm.src/test/CodeGen/ARM/unsafe-fsub.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fmul-combines.llllvm.src/test/CodeGen/X86/fmul-combines.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fp-fast.llllvm.src/test/CodeGen/X86/fp-fast.ll
Revision 365678 by ormris:
Revert "[clangd] Filter out non-governed files from broadcast"

This reverts commit d5214dfa7b5650745eaeb102857c9e90adb16137.

It's causing failures, both in our local CI and the PS4 Windows bot.

http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/26872/steps/test/logs/stdio
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/GlobalCompilationDatabase.cppclang-tools-extra.src/clangd/GlobalCompilationDatabase.cpp
The file was modified/clang-tools-extra/trunk/clangd/GlobalCompilationDatabase.hclang-tools-extra.src/clangd/GlobalCompilationDatabase.h
The file was modified/clang-tools-extra/trunk/clangd/QueryDriverDatabase.cppclang-tools-extra.src/clangd/QueryDriverDatabase.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cppclang-tools-extra.src/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/ClangdTests.cppclang-tools-extra.src/clangd/unittests/ClangdTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/GlobalCompilationDatabaseTests.cppclang-tools-extra.src/clangd/unittests/GlobalCompilationDatabaseTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TestFS.cppclang-tools-extra.src/clangd/unittests/TestFS.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TestFS.hclang-tools-extra.src/clangd/unittests/TestFS.h
Revision 365676 by greened:
[System Model] [TTI] Update cache and prefetch TTI interfaces

Rework the TTI cache and software prefetching APIs to prepare for the
introduction of a general system model.  Changes include:

- Marking existing interfaces const and/or override as appropriate
- Adding comments
- Adding BasicTTIImpl interfaces that delegate to a subtarget
  implementation
- Adding a default "no information" subtarget implementation

Only a handful of targets use these interfaces currently: AArch64,
Hexagon, PPC and SystemZ.  AArch64 already has a custom subtarget
implementation, so its custom TTI implementation is migrated to use
the new facilities in BasicTTIImpl to invoke its custom subtarget
implementation.  The custom TTI implementations continue to exist for
the other targets with this change.  They are not moved over to
subtarget-based implementations.

The end goal is to have the default subtarget implementation defer to
the system model defined by the target.  With this change, the default
subtarget implementation essentially returns "no information" for
these interfaces.  None of the existing users of TTI will hit that
implementation because they define their own custom TTI
implementations and won't use the BasicTTIImpl implementations.

Once system models are in place for the targets that use these
interfaces, their custom TTI implementations can be removed.

Differential Revision: https://reviews.llvm.org/D63614
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfo.hllvm.src/include/llvm/Analysis/TargetTransformInfo.h
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.hllvm.src/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.hllvm.src/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/include/llvm/MC/MCSubtargetInfo.hllvm.src/include/llvm/MC/MCSubtargetInfo.h
The file was modified/llvm/trunk/lib/MC/MCSubtargetInfo.cppllvm.src/lib/MC/MCSubtargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.hllvm.src/lib/Target/AArch64/AArch64Subtarget.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.cppllvm.src/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.hllvm.src/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonTargetTransformInfo.hllvm.src/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.cppllvm.src/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.hllvm.src/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetTransformInfo.hllvm.src/lib/Target/SystemZ/SystemZTargetTransformInfo.h
Revision 365675 by dhinton:
Recommit "[CommandLine] Remove OptionCategory and SubCommand caches from the Option class."

Previously reverted in 364141 due to buildbot breakage, and fixed here
by making GeneralCategory global a ManagedStatic.

Summary:
This change processes `OptionCategory`s and `SubCommand`s as they
are seen instead of caching them in the Option class and processing
them later.  Doing so simplifies the work needed to be done by the Global
parser and significantly reduces the size of the Option class to a mere 64
bytes.

Removing  the `OptionCategory` cache saved 24 bytes, and removing
the `SubCommand` cache saved an additional 48 bytes, for a total of a
72 byte reduction.

Reviewed By: serge-sans-paille

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D62105
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/clang-refactor/ClangRefactor.cppclang.src/tools/clang-refactor/ClangRefactor.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/dex/dexp/Dexp.cppclang-tools-extra.src/clangd/index/dex/dexp/Dexp.cpp
The file was modified/clang-tools-extra/trunk/clangd/indexer/IndexerMain.cppclang-tools-extra.src/clangd/indexer/IndexerMain.cpp
The file was modified/llvm/trunk/include/llvm/Support/CommandLine.hllvm.src/include/llvm/Support/CommandLine.h
The file was modified/llvm/trunk/lib/Support/CommandLine.cppllvm.src/lib/Support/CommandLine.cpp
The file was modified/llvm/trunk/unittests/Support/CommandLineTest.cppllvm.src/unittests/Support/CommandLineTest.cpp
Revision 365674 by rksimon:
[X86] EltsFromConsecutiveLoads - clean up element size calcs. NFCI.

Determine the element/load size calculations earlier and assert that they are whole bytes in size.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 365672 by asbirlea:
[LoopRotate + MemorySSA] Keep an <instruction-cloned instruction> map.

Summary:
The map kept in loop rotate is used for instruction remapping, in order
to simplify the clones of instructions. Thus, if an instruction can be
simplified, its simplified value is placed in the map, even when the
clone is added to the IR. MemorySSA in contrast needs to know about that
clone, so it can add an access for it.
To resolve this: keep a different map for MemorySSA.

Reviewers: george.burgess.iv

Subscribers: jlebar, Prazek, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63680
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopRotationUtils.cppllvm.src/lib/Transforms/Utils/LoopRotationUtils.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/loop-rotate-valuemap.llllvm.src/test/Analysis/MemorySSA/loop-rotate-valuemap.ll
Revision 365671 by Lang Hames:
[ORC] Add custom IR compiler configuration to LLJITBuilder to enable obj caches.

LLJITBuilder now has a setCompileFunctionCreator method which can be used to
construct a CompileFunction for the LLJIT instance being created. The motivating
use-case for this is supporting ObjectCaches, which can now be set up at
compile-function construction time. To demonstrate this an example project,
LLJITWithObjectCache, is included.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/examples/CMakeLists.txtllvm.src/examples/CMakeLists.txt
The file was modified/llvm/trunk/examples/HowToUseLLJIT/HowToUseLLJIT.cppllvm.src/examples/HowToUseLLJIT/HowToUseLLJIT.cpp
The file was added/llvm/trunk/examples/LLJITExamplesllvm.src/examples/LLJITExamples
The file was added/llvm/trunk/examples/LLJITExamples/CMakeLists.txtllvm.src/examples/LLJITExamples/CMakeLists.txt
The file was added/llvm/trunk/examples/LLJITExamples/ExampleModules.hllvm.src/examples/LLJITExamples/ExampleModules.h
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCachellvm.src/examples/LLJITExamples/LLJITWithObjectCache
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCache/CMakeLists.txtllvm.src/examples/LLJITExamples/LLJITWithObjectCache/CMakeLists.txt
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCache/LLJITWithObjectCache.cppllvm.src/examples/LLJITExamples/LLJITWithObjectCache/LLJITWithObjectCache.cpp
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileUtils.hllvm.src/include/llvm/ExecutionEngine/Orc/CompileUtils.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/LLJIT.hllvm.src/include/llvm/ExecutionEngine/Orc/LLJIT.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LLJIT.cppllvm.src/lib/ExecutionEngine/Orc/LLJIT.cpp
Revision 365670 by rksimon:
[X86] Regenerate tests. NFCI.

Hasn't been regenerated since the update script could merge 32/64-bit checks.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-intrinsics-canonical.llllvm.src/test/CodeGen/X86/avx2-intrinsics-canonical.ll
Revision 365669 by ctopper:
[X86] Change the IR sequence for _mm_storeh_pi and _mm_storel_pi to perform the store as a <2 x float> instead of i64.

This is similar to what we do for loadl_pi and loadh_pi.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/BuiltinsX86.defclang.src/include/clang/Basic/BuiltinsX86.def
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cppclang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/Headers/xmmintrin.hclang.src/lib/Headers/xmmintrin.h
The file was modified/cfe/trunk/test/CodeGen/builtins-x86.cclang.src/test/CodeGen/builtins-x86.c
The file was modified/cfe/trunk/test/CodeGen/sse-builtins.cclang.src/test/CodeGen/sse-builtins.c
Revision 365668 by ctopper:
[X86] Add guards to some of the x86 intrinsic tests to skip 64-bit mode only intrinsics when compiled for 32-bit mode.

All the command lines are for 64-bit mode, but sometimes I compile
the tests in 32-bit mode to see what assembly we get and we need
to skip these to do that.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/avx-builtins.cclang.src/test/CodeGen/avx-builtins.c
The file was modified/cfe/trunk/test/CodeGen/bmi-builtins.cclang.src/test/CodeGen/bmi-builtins.c
The file was modified/cfe/trunk/test/CodeGen/bmi2-builtins.cclang.src/test/CodeGen/bmi2-builtins.c
The file was modified/cfe/trunk/test/CodeGen/popcnt-builtins.cclang.src/test/CodeGen/popcnt-builtins.c
The file was modified/cfe/trunk/test/CodeGen/rdrand-builtins.cclang.src/test/CodeGen/rdrand-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse-builtins.cclang.src/test/CodeGen/sse-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse2-builtins.cclang.src/test/CodeGen/sse2-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse41-builtins.cclang.src/test/CodeGen/sse41-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse42-builtins.cclang.src/test/CodeGen/sse42-builtins.c
The file was modified/cfe/trunk/test/CodeGen/tbm-builtins.cclang.src/test/CodeGen/tbm-builtins.c
Revision 365667 by ctopper:
[X86] Add tests for an alternative sequence for _mm_storel_pi/_mm_storeh_pi intrinsics. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/sse-intrinsics-fast-isel.llllvm.src/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
Revision 365666 by vzakhari:
[clang] Preserve names of addrspacecast'ed values.

Differential Revision: https://reviews.llvm.org/D63846
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cppclang.src/lib/CodeGen/TargetInfo.cpp
The file was modified/cfe/trunk/test/CodeGenCUDA/builtins-amdgcn.cuclang.src/test/CodeGenCUDA/builtins-amdgcn.cu
The file was modified/cfe/trunk/test/CodeGenOpenCL/address-spaces-conversions.clclang.src/test/CodeGenOpenCL/address-spaces-conversions.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/address-space-deduction.clclang.src/test/CodeGenOpenCLCXX/address-space-deduction.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-of-this.clclang.src/test/CodeGenOpenCLCXX/addrspace-of-this.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-operators.clclang.src/test/CodeGenOpenCLCXX/addrspace-operators.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-references.clclang.src/test/CodeGenOpenCLCXX/addrspace-references.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/template-address-spaces.clclang.src/test/CodeGenOpenCLCXX/template-address-spaces.cl
Revision 365664 by nickdesaulniers:
[TargetLowering] support BlockAddress as "i" inline asm constraint

Summary:
This allows passing address of labels to inline assembly "i" input
constraints.

Fixes pr/42502.

Reviewers: ostannard

Reviewed By: ostannard

Subscribers: void, echristo, nathanchance, ostannard, javed.absar, hiraditya, llvm-commits, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64167
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cppllvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/inline-asm-blockaddress.llllvm.src/test/CodeGen/AArch64/inline-asm-blockaddress.ll
Revision 365663 by lebedevri:
[NFC][InstCombine] Fixup some tests in just-added "omit mask before left-shift" tests
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
Revision 365661 by pcc:
MC: AArch64: Add support for pg_hi21_nc relocation specifier.

Differential Revision: https://reviews.llvm.org/D64455
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cppllvm.src/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
The file was added/llvm/trunk/test/MC/AArch64/adrp-relocation2.sllvm.src/test/MC/AArch64/adrp-relocation2.s
Revision 365660 by Vedant Kumar:
[CodeExtractor] Fix sinking of allocas with multiple bitcast uses (PR42451)

An alloca which can be sunk into the extraction region may have more
than one bitcast use. Move these uses along with the alloca to prevent
use-before-def.

Testing: check-llvm, stage2 build of clang

Fixes llvm.org/PR42451.

Differential Revision: https://reviews.llvm.org/D64463
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/CodeExtractor.cppllvm.src/lib/Transforms/Utils/CodeExtractor.cpp
The file was modified/llvm/trunk/test/Transforms/CodeExtractor/live_shrink_multiple.llllvm.src/test/Transforms/CodeExtractor/live_shrink_multiple.ll
The file was added/llvm/trunk/test/Transforms/HotColdSplit/sink-multiple-bitcasts-of-allocas-pr42451.llllvm.src/test/Transforms/HotColdSplit/sink-multiple-bitcasts-of-allocas-pr42451.ll
Revision 365659 by Vedant Kumar:
[CodeExtractor] Simplify findAllocas, NFC

Split getLifetimeMarkers out into its own method and have it return a
struct.

Differential Revision: https://reviews.llvm.org/D64467
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/CodeExtractor.hllvm.src/include/llvm/Transforms/Utils/CodeExtractor.h
The file was modified/llvm/trunk/lib/Transforms/Utils/CodeExtractor.cppllvm.src/lib/Transforms/Utils/CodeExtractor.cpp
Revision 365658 by arsenm:
GlobalISel: Legalization for G_FMINNUM/G_FMAXNUM
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizerHelper.hllvm.src/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.hllvm.src/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/Utils.hllvm.src/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cppllvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/Utils.cppllvm.src/lib/CodeGen/GlobalISel/Utils.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.hllvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
Revision 365657 by arsenm:
GlobalISel: Define the full family of FP min/max instructions
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/TargetOpcodes.defllvm.src/include/llvm/Support/TargetOpcodes.def
The file was modified/llvm/trunk/include/llvm/Target/GenericOpcodes.tdllvm.src/include/llvm/Target/GenericOpcodes.td
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cppllvm.src/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/GlobalISel/irtranslator-fp-min-max-intrinsics.llllvm.src/test/CodeGen/AArch64/GlobalISel/irtranslator-fp-min-max-intrinsics.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mirllvm.src/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Revision 365656 by rksimon:
[X86] EltsFromConsecutiveLoads - remove duplicate check for element size. NFCI.

We've already checked that each element is the correct contributory size for VT when we inspect the elements for Undef/Zero/Load.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 365655 by rksimon:
[X86] EltsFromConsecutiveLoads - ensure element reg/store sizes are the same size. NFCI.

This renames the type so it doesn't sound like its based off the load size - as we're moving towards supporting combining loads of different sizes.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 365653 by arsenm:
AMDGPU: Serialize mode from MachineFunctionInfo
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cppllvm.src/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIMachineFunctionInfo.cppllvm.src/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIMachineFunctionInfo.hllvm.src/lib/Target/AMDGPU/SIMachineFunctionInfo.h
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/omod-nsz-flag.mirllvm.src/test/CodeGen/AMDGPU/omod-nsz-flag.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mirllvm.src/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/machine-function-info.llllvm.src/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Revision 365652 by lebedevri:
[PatternMatch] Generalize m_SpecificInt_ULT() to take ICmpInst::Predicate

As discussed in the original review, this may be useful,
so let's just do it.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/PatternMatch.hllvm.src/include/llvm/IR/PatternMatch.h
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCompares.cppllvm.src/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineShifts.cppllvm.src/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modified/llvm/trunk/unittests/IR/PatternMatch.cppllvm.src/unittests/IR/PatternMatch.cpp
Revision 365647 by thegameg:
[Remarks] Add cl::Hidden to -remarks-yaml-string-table

It was showing up in a lot of unrelated tools.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Remarks/YAMLRemarkSerializer.cppllvm.src/lib/Remarks/YAMLRemarkSerializer.cpp
Revision 365645 by tstellar:
docs/GithubMove.rst: Remove obsolete information

Summary:
Remove references to the multirepo and update the document to
reflect the current state of the github repository.

Reviewers: mehdi_amini, jyknight

Subscribers: jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D58420
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/Proposals/GitHubMove.rstllvm.src/docs/Proposals/GitHubMove.rst
Revision 365644 by thopre:
[FileCheck] Use bool operator to test Expected

Use bool() consistently to get boolean value of Error, Optional and
Expected types in EXPECT calls. While static_cast is used in all cases
but one, bool provides more clarity and makes more sense as a new
default.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/Support/FileCheckTest.cppllvm.src/unittests/Support/FileCheckTest.cpp
Revision 365643 by cdevadas:
[AMDGPU] Increased the number of implicit argument bytes for both OpenCL and HIP (CLANG).

To enable a new implicit kernel argument,
increased the number of argument bytes from 48 to 56.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D63756
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cppclang.src/lib/CodeGen/TargetInfo.cpp
The file was modified/cfe/trunk/test/CodeGenCUDA/amdgpu-hip-implicit-kernarg.cuclang.src/test/CodeGenCUDA/amdgpu-hip-implicit-kernarg.cu
The file was modified/cfe/trunk/test/CodeGenOpenCL/amdgpu-attrs.clclang.src/test/CodeGenOpenCL/amdgpu-attrs.cl
Revision 365641 by lebedevri:
[NFC][InstCombine] Redundant masking before left-shift (PR42563)

alive proofs:
a,b:     https://rise4fun.com/Alive/4zsf
c,d,e,f: https://rise4fun.com/Alive/RC49

Indeed, not all of these patterns are canonical.
But since this fold will only produce a single instruction
i'm really interested in handling even uncanonical patterns.

Other than these 6 patterns, i can't think of any other
reasonable variants right now, although i'm sure they exist.

For now let's start with patterns where both shift amounts are variable,
with trivial constant "offset" between them, since i believe this is
both simplest to handle and i think this is most common.
But again, there are likely other variants where we could use
ValueTracking/ConstantRange to handle more cases.

https://bugs.llvm.org/show_bug.cgi?id=42563
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-right-shift-input-masking.llllvm.src/test/Transforms/InstCombine/redundant-right-shift-input-masking.ll
The file was removed/llvm/trunk/test/Transforms/InstCombine/redundant-shift-input-masking.llllvm.src/test/Transforms/InstCombine/redundant-shift-input-masking.ll
Revision 365640 by foad:
[AMDGPU] Allow abs/neg source modifiers on v_cndmask_b32

Summary:
D59191 added support for these modifiers in the assembler and
disassembler. This patch just teaches instruction selection that it can
use them.

Reviewers: arsenm, tstellar

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64497
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstructions.tdllvm.src/lib/Target/AMDGPU/SIInstructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fneg-combines.llllvm.src/test/CodeGen/AMDGPU/fneg-combines.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/select-fabs-fneg-extract.llllvm.src/test/CodeGen/AMDGPU/select-fabs-fneg-extract.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/sint_to_fp.i64.llllvm.src/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
Revision 365639 by martong:
[analyzer]Add user docs rst

Summary:
Add user documentation page. This is an empty page atm, later patches will add
the specific user documentatoins.

Reviewers: dkrupp

Subscribers: whisperity, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, gamesh411, Charusso, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64494
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ClangStaticAnalyzer.rstclang.src/docs/ClangStaticAnalyzer.rst
The file was added/cfe/trunk/docs/analyzer/user-docs.rstclang.src/docs/analyzer/user-docs.rst
Revision 365638 by nico:
Remove two unused member variables.

They were added over 10 years ago in r66575 and have never been used as
far as I can tell.

(r67087 added similar fields to Compilation, and those are used.)
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Driver.hclang.src/include/clang/Driver/Driver.h
Revision 365637 by xbolva00:
[InstCombine] pow(C,x) -> exp2(log2(C)*x)

Summary:
Transform
pow(C,x)

To
exp2(log2(C)*x)

if C > 0, C != inf, C != NaN (and C is not power of 2, since we have some fold for such case already).

log(C) is folded by the compiler and exp2 is much faster to compute than pow.

Reviewers: spatel, efriedma, evandro

Reviewed By: evandro

Subscribers: lebedev.ri, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64099
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cppllvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/pow-exp.llllvm.src/test/Transforms/InstCombine/pow-exp.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/pow_fp_int.llllvm.src/test/Transforms/InstCombine/pow_fp_int.ll
Revision 365636 by spatel:
[InferFunctionAttrs] add/adjust tests for dereferenceable; NFC

Based on review comments for D64258.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InferFunctionAttrs/dereferenceable.llllvm.src/test/Transforms/InferFunctionAttrs/dereferenceable.ll
Revision 365634 by kadircet:
[clangd] Filter out non-governed files from broadcast

Summary:
This also turns off implicit discovery of additional compilation
databases.

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64247
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/GlobalCompilationDatabase.cppclang-tools-extra.src/clangd/GlobalCompilationDatabase.cpp
The file was modified/clang-tools-extra/trunk/clangd/GlobalCompilationDatabase.hclang-tools-extra.src/clangd/GlobalCompilationDatabase.h
The file was modified/clang-tools-extra/trunk/clangd/QueryDriverDatabase.cppclang-tools-extra.src/clangd/QueryDriverDatabase.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cppclang-tools-extra.src/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/ClangdTests.cppclang-tools-extra.src/clangd/unittests/ClangdTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/GlobalCompilationDatabaseTests.cppclang-tools-extra.src/clangd/unittests/GlobalCompilationDatabaseTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TestFS.cppclang-tools-extra.src/clangd/unittests/TestFS.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TestFS.hclang-tools-extra.src/clangd/unittests/TestFS.h