SuccessChanges

Summary

  1. [NFC][InstCombine] Comb through just-added "omit mask before left-shift" tests once more
  2. 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>!
  3. [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
  4. gn build: Merge r365687
  5. 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.
  6. [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
  7. [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
  8. Revert "[System Model] [TTI] Update cache and prefetch TTI interfaces" This broke some PPC prefetching tests. This reverts commit 9fdfb045ae8bb643ab0d0455dcf9ecaea3b1eb3c.
  9. 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
  10. [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
  11. 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
  12. [X86] EltsFromConsecutiveLoads - clean up element size calcs. NFCI. Determine the element/load size calculations earlier and assert that they are whole bytes in size.
  13. [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
  14. [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.
  15. [X86] Regenerate tests. NFCI. Hasn't been regenerated since the update script could merge 32/64-bit checks.
  16. [X86] Add tests for an alternative sequence for _mm_storel_pi/_mm_storeh_pi intrinsics. NFC
  17. [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
  18. [NFC][InstCombine] Fixup some tests in just-added "omit mask before left-shift" tests
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.lltrunk/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.lltrunk/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.lltrunk/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.lltrunk/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.lltrunk/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.lltrunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
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.txttrunk/CMakeLists.txt
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.cpptrunk/lib/CodeGen/GlobalISel/Utils.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cpptrunk/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-cbz.mirtrunk/test/CodeGen/AArch64/GlobalISel/select-cbz.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mirtrunk/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/swifterror.lltrunk/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.gntrunk/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.gntrunk/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
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.cpptrunk/lib/MC/ELFObjectWriter.cpp
The file was modified/llvm/trunk/test/MC/ELF/basic-elf-32.strunk/test/MC/ELF/basic-elf-32.s
The file was modified/llvm/trunk/test/MC/ELF/compression.strunk/test/MC/ELF/compression.s
The file was modified/llvm/trunk/test/MC/ELF/relocation-386.strunk/test/MC/ELF/relocation-386.s
The file was modified/llvm/trunk/test/MC/Mips/elf-relsym.strunk/test/MC/Mips/elf-relsym.s
The file was modified/llvm/trunk/test/MC/Mips/xgot.strunk/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.cpptrunk/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/opt-shuffle-splat.mirtrunk/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.cpptrunk/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mirtrunk/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mir
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.htrunk/include/llvm/Analysis/TargetTransformInfo.h
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.htrunk/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.htrunk/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/include/llvm/MC/MCSubtargetInfo.htrunk/include/llvm/MC/MCSubtargetInfo.h
The file was modified/llvm/trunk/lib/MC/MCSubtargetInfo.cpptrunk/lib/MC/MCSubtargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.htrunk/lib/Target/AArch64/AArch64Subtarget.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.cpptrunk/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.htrunk/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonTargetTransformInfo.htrunk/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.cpptrunk/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.htrunk/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetTransformInfo.htrunk/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.cpptrunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was added/llvm/trunk/test/CodeGen/ARM/nnan-fsub.lltrunk/test/CodeGen/ARM/nnan-fsub.ll
The file was removed/llvm/trunk/test/CodeGen/ARM/unsafe-fsub.lltrunk/test/CodeGen/ARM/unsafe-fsub.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fmul-combines.lltrunk/test/CodeGen/X86/fmul-combines.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fp-fast.lltrunk/test/CodeGen/X86/fp-fast.ll
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.htrunk/include/llvm/Analysis/TargetTransformInfo.h
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.htrunk/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.htrunk/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/include/llvm/MC/MCSubtargetInfo.htrunk/include/llvm/MC/MCSubtargetInfo.h
The file was modified/llvm/trunk/lib/MC/MCSubtargetInfo.cpptrunk/lib/MC/MCSubtargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.htrunk/lib/Target/AArch64/AArch64Subtarget.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.cpptrunk/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.htrunk/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonTargetTransformInfo.htrunk/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.cpptrunk/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.htrunk/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetTransformInfo.htrunk/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.cppN/A
The file was modified/clang-tools-extra/trunk/clangd/index/dex/dexp/Dexp.cppN/A
The file was modified/clang-tools-extra/trunk/clangd/indexer/IndexerMain.cppN/A
The file was modified/llvm/trunk/include/llvm/Support/CommandLine.htrunk/include/llvm/Support/CommandLine.h
The file was modified/llvm/trunk/lib/Support/CommandLine.cpptrunk/lib/Support/CommandLine.cpp
The file was modified/llvm/trunk/unittests/Support/CommandLineTest.cpptrunk/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.cpptrunk/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.cpptrunk/lib/Transforms/Utils/LoopRotationUtils.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/loop-rotate-valuemap.lltrunk/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.txttrunk/examples/CMakeLists.txt
The file was modified/llvm/trunk/examples/HowToUseLLJIT/HowToUseLLJIT.cpptrunk/examples/HowToUseLLJIT/HowToUseLLJIT.cpp
The file was added/llvm/trunk/examples/LLJITExamplestrunk/examples/LLJITExamples
The file was added/llvm/trunk/examples/LLJITExamples/CMakeLists.txttrunk/examples/LLJITExamples/CMakeLists.txt
The file was added/llvm/trunk/examples/LLJITExamples/ExampleModules.htrunk/examples/LLJITExamples/ExampleModules.h
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCachetrunk/examples/LLJITExamples/LLJITWithObjectCache
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCache/CMakeLists.txttrunk/examples/LLJITExamples/LLJITWithObjectCache/CMakeLists.txt
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCache/LLJITWithObjectCache.cpptrunk/examples/LLJITExamples/LLJITWithObjectCache/LLJITWithObjectCache.cpp
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileUtils.htrunk/include/llvm/ExecutionEngine/Orc/CompileUtils.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/LLJIT.htrunk/include/llvm/ExecutionEngine/Orc/LLJIT.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LLJIT.cpptrunk/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.lltrunk/test/CodeGen/X86/avx2-intrinsics-canonical.ll
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.lltrunk/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
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.cpptrunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/inline-asm-blockaddress.lltrunk/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.lltrunk/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.lltrunk/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.lltrunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll

Summary

  1. [OPENMP]Remove not used check line from the test, NFC.
  2. 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
  3. 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
  4. [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.
  5. [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.
  6. [clang] Preserve names of addrspacecast'ed values. Differential Revision: https://reviews.llvm.org/D63846
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.cpptrunk/test/OpenMP/sections_lastprivate_codegen.cpp
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.cpptrunk/lib/Driver/ToolChains/Linux.cpp
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.cpptrunk/tools/clang-refactor/ClangRefactor.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/dex/dexp/Dexp.cppN/A
The file was modified/clang-tools-extra/trunk/clangd/indexer/IndexerMain.cppN/A
The file was modified/llvm/trunk/include/llvm/Support/CommandLine.hN/A
The file was modified/llvm/trunk/lib/Support/CommandLine.cppN/A
The file was modified/llvm/trunk/unittests/Support/CommandLineTest.cppN/A
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.deftrunk/include/clang/Basic/BuiltinsX86.def
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpptrunk/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/Headers/xmmintrin.htrunk/lib/Headers/xmmintrin.h
The file was modified/cfe/trunk/test/CodeGen/builtins-x86.ctrunk/test/CodeGen/builtins-x86.c
The file was modified/cfe/trunk/test/CodeGen/sse-builtins.ctrunk/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.ctrunk/test/CodeGen/avx-builtins.c
The file was modified/cfe/trunk/test/CodeGen/bmi-builtins.ctrunk/test/CodeGen/bmi-builtins.c
The file was modified/cfe/trunk/test/CodeGen/bmi2-builtins.ctrunk/test/CodeGen/bmi2-builtins.c
The file was modified/cfe/trunk/test/CodeGen/popcnt-builtins.ctrunk/test/CodeGen/popcnt-builtins.c
The file was modified/cfe/trunk/test/CodeGen/rdrand-builtins.ctrunk/test/CodeGen/rdrand-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse-builtins.ctrunk/test/CodeGen/sse-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse2-builtins.ctrunk/test/CodeGen/sse2-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse41-builtins.ctrunk/test/CodeGen/sse41-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse42-builtins.ctrunk/test/CodeGen/sse42-builtins.c
The file was modified/cfe/trunk/test/CodeGen/tbm-builtins.ctrunk/test/CodeGen/tbm-builtins.c
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.cpptrunk/lib/CodeGen/TargetInfo.cpp
The file was modified/cfe/trunk/test/CodeGenCUDA/builtins-amdgcn.cutrunk/test/CodeGenCUDA/builtins-amdgcn.cu
The file was modified/cfe/trunk/test/CodeGenOpenCL/address-spaces-conversions.cltrunk/test/CodeGenOpenCL/address-spaces-conversions.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/address-space-deduction.cltrunk/test/CodeGenOpenCLCXX/address-space-deduction.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-of-this.cltrunk/test/CodeGenOpenCLCXX/addrspace-of-this.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-operators.cltrunk/test/CodeGenOpenCLCXX/addrspace-operators.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-references.cltrunk/test/CodeGenOpenCLCXX/addrspace-references.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/template-address-spaces.cltrunk/test/CodeGenOpenCLCXX/template-address-spaces.cl

Summary

  1. [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
  2. 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
  3. 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
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.txttrunk/clang-doc/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-doc/Generators.cpptrunk/clang-doc/Generators.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/Generators.htrunk/clang-doc/Generators.h
The file was added/clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpptrunk/clang-doc/HTMLGenerator.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/MDGenerator.cpptrunk/clang-doc/MDGenerator.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpptrunk/clang-doc/tool/ClangDocMain.cpp
The file was modified/clang-tools-extra/trunk/unittests/clang-doc/CMakeLists.txttrunk/unittests/clang-doc/CMakeLists.txt
The file was added/clang-tools-extra/trunk/unittests/clang-doc/HTMLGeneratorTest.cpptrunk/unittests/clang-doc/HTMLGeneratorTest.cpp
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.cpptrunk/clangd/GlobalCompilationDatabase.cpp
The file was modified/clang-tools-extra/trunk/clangd/GlobalCompilationDatabase.htrunk/clangd/GlobalCompilationDatabase.h
The file was modified/clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpptrunk/clangd/QueryDriverDatabase.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cpptrunk/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/ClangdTests.cpptrunk/clangd/unittests/ClangdTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/GlobalCompilationDatabaseTests.cpptrunk/clangd/unittests/GlobalCompilationDatabaseTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TestFS.cpptrunk/clangd/unittests/TestFS.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TestFS.htrunk/clangd/unittests/TestFS.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.cppN/A
The file was modified/clang-tools-extra/trunk/clangd/index/dex/dexp/Dexp.cpptrunk/clangd/index/dex/dexp/Dexp.cpp
The file was modified/clang-tools-extra/trunk/clangd/indexer/IndexerMain.cpptrunk/clangd/indexer/IndexerMain.cpp
The file was modified/llvm/trunk/include/llvm/Support/CommandLine.hN/A
The file was modified/llvm/trunk/lib/Support/CommandLine.cppN/A
The file was modified/llvm/trunk/unittests/Support/CommandLineTest.cppN/A

Summary

  1. [TSan] Fix compiler error on Linux/AArch64
  2. [TSan] Attempt to fix linker error on Linux/AArch64
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.cctrunk/lib/tsan/rtl/tsan_platform_linux.cc
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.cctrunk/lib/tsan/rtl/tsan_platform_linux.cc