Changes

Summary

  1. [fir] Add fir reduction builder (details)
  2. [lld-macho] Mark dylib symbols coming from -weak_framework as weak-ref. (details)
  3. [mlir][linalg] Run CSE after every CodegenStrategy transformation. (details)
  4. [OpenMP] Add RTL function to externalization RAII (details)
  5. [mlir][linalg] Fix windows build issue in hoist padding. (details)
  6. [DAG] Create fptosi.sat from clamped fptosi (details)
  7. [mlir][linalg] Use top down traversal for padding. (details)
  8. [clang][dataflow] Fix broken build in ClangStaticAnalyzer (details)
  9. [mlir][linalg] Support the empty anchor op string when padding. (details)
  10. [DSE] Use optimized access if available for redundant store elimination. (details)
  11. Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible. (details)
  12. [mlir][linalg] Adapt the decompose patterns to use a filter (NFC). (details)
  13. [mlir][linalg] Add decompose to CodegenStrategy. (details)
  14. [fir] Remove unused fct recordTypeCanBeMemCopied (details)
  15. Revert "[fir] Add fir reduction builder" (details)
  16. Code quality: Combine V_RSQ (details)
  17. Fix file extension of alignment-assumption-ignorelist.cppp test (details)
  18. [LV] Remove unneeded cast to Operator [NFC] (details)
  19. [clang][dataflow] Make header parse (details)
  20. [PS4][DWARF] Explicitly set default DWARF version to 4 (details)
  21. [CSSPGO] Sorting nodes in a cycle of profiled call graph. (details)
  22. [JITLink][ELF] Add support for reading extended table (details)
  23. [JITLink][ELF] Don't skip sections of size 0 (details)
  24. [SCEV] Track and invalidate ValuesAtScopes users (details)
  25. [RegionPass] Added check for -filter-print-funcs option to the region IR dumps. (details)
  26. Revert "Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible." (details)
  27. [SLP][NFC]Move static function to make it visible in member function, (details)
  28. [InstSimplify] add tests for 'or' logic folds; NFC (details)
  29. [InstSimplify] add tests for 'or' with logic ops; NFC (details)
  30. [InstSimplify] refactor 'or' logic folds; NFC (details)
  31. [InstSimplify] adjust tests for 'or' of logic ops; NFC (details)
  32. [InstSimplify] reduce code duplication for 'or' logic fold; NFC (details)
Commit cf3422d3df5b00d771bba837b9f51f67ab07eb64 by clementval
[fir] Add fir reduction builder

This patch introduces a bunch of builder functions
to create function calls to runtime reduction functions.

This patch is part of the upstreaming effort from fir-dev branch.

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: mleair <leairmark@gmail.com>

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

Reviewed By: awarzynski
The file was addedflang/include/flang/Optimizer/Builder/Runtime/Reduction.h
The file was modifiedflang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was addedflang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was addedflang/lib/Optimizer/Builder/Runtime/Reduction.cpp
Commit 74cbd71072de4f20c5cb9852dc4cf96ac7a4b5a4 by vyng
[lld-macho] Mark dylib symbols coming from -weak_framework as weak-ref.

PR:52564

Differential Revision: https://reviews.llvm.org/D114397
The file was modifiedlld/test/MachO/weak-import.s
The file was modifiedlld/MachO/Symbols.h
Commit 914e72d40014de1c61709969666be59f27712e5e by gysit
[mlir][linalg] Run CSE after every CodegenStrategy transformation.

Add CSE after every transformation. Transformations such as tiling introduce redundant computation, for example, one AffineMinOp for every operand dimension pair. Follow up transformations such as Padding and Hoisting benefit from CSE since comparing slice sizes simplifies to comparing SSA values instead of analyzing affine expressions.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114585
The file was modifiedmlir/test/Dialect/Linalg/codegen-strategy.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
Commit 7986a5f23ebbf7fc3c6d667610fd193288dba7ce by jhuber6
[OpenMP] Add RTL function to externalization RAII

This patch adds the `__kmpc_get_warp_size` OpenMP RTL function to the
externalization RAII struct. This was getting optimized out and then
being replaced with an undefined value once added back in, causing bugs
for complex reductions.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D114802
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 1ae7342a7dd44561c86dcd2de456169185e1ce80 by gysit
[mlir][linalg] Fix windows build issue in hoist padding.

Iterating backwardSlice and removing elements at the same time can fail on windows for specific build configurations (the code was introduced in https://reviews.llvm.org/D114420). This revision introduces a second vector to collect all operations and removes them after finishing the reverse iteration.

Reviewed By: hpmorgan

Differential Revision: https://reviews.llvm.org/D114775
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
Commit 9e8a71caf02a503006eb08b5cd291adeaa20a9c2 by david.green
[DAG] Create fptosi.sat from clamped fptosi

This adds a fold in DAGCombine to create fptosi_sat from sequences for
smin(smax(fptosi(x))) nodes, where the min/max saturate the output of
the fp convert to a specific bitwidth (say INT_MIN and INT_MAX). Because
it is dealing with smin(/smax) in DAG they may currently be ISD::SMIN,
ISD::SETCC/ISD::SELECT, ISD::VSELECT or ISD::SELECT_CC nodes which need
to be handled similarly.

A shouldConvertFpToSat method was added to control when converting may
be profitable. The original fptosi will have a less strict semantics
than the fptosisat, with less values that need to produce defined
behaviour.

This especially helps on ARM/AArch64 where the vcvt instructions
naturally saturate the result.

Differential Revision: https://reviews.llvm.org/D111976
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/test/CodeGen/RISCV/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/AArch64/fpclamptosat.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/CodeGen/ARM/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/X86/fpclamptosat.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 7f7103cd06b06f54e69fdb0aa7361b02b7c86177 by gysit
[mlir][linalg] Use top down traversal for padding.

Pad the operation using a top down traversal. The top down traversal unlocks folding opportunities and dim op canonicalizations due to the introduced extract slice operation after the padded operation.

Depends On D114585

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114689
The file was modifiedmlir/test/Dialect/Linalg/pad.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
Commit 3e32f827e2647b6fa8022cbc76eac384b3c4e2b4 by yitzhakm
[clang][dataflow] Fix broken build in ClangStaticAnalyzer

Adds a missing virtual destructor.
The file was modifiedclang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
Commit 316e627c2b98bac867836378dd6294ad79f7eb3f by gysit
[mlir][linalg] Support the empty anchor op string when padding.

Add support for an empty anchor op string in vectorization. An empty anchor op string is useful after fusion when there are multiple different operations to vectorize.

Depends On D114689

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114690
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/test/Dialect/Linalg/codegen-strategy.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h
Commit c9ad356266f3c91d90bcb149d178423cb3e04c42 by flo
[DSE] Use optimized access if available for redundant store elimination.

Using the optimized access enables additional optimizations in cases
where the defining access is a non-aliasing store.

Alternatively we could also walk upwards and skip non-aliasing defs
here, but my experiments so far showed that this will noticeably
increase compile-time for little extra gain compared to just using the
optimized access.

Improvements of dse.NumRedundantStores on MultiSource/CINT2006/CPF2006
on X86 with -O3:

     test-suite...-typeset/consumer-typeset.test     1.00                  76.00              7500.0%
     test-suite.../Benchmarks/Bullet/bullet.test     3.00                  12.00              300.0%
     test-suite...006/453.povray/453.povray.test     3.00                   6.00              100.0%
     test-suite...telecomm-gsm/telecomm-gsm.test     1.00                   2.00              100.0%
     test-suite...ediabench/gsm/toast/toast.test     1.00                   2.00              100.0%
     test-suite...marks/7zip/7zip-benchmark.test     1.00                   2.00              100.0%
     test-suite...ications/JM/lencod/lencod.test     7.00                  10.00              42.9%
     test-suite...6/464.h264ref/464.h264ref.test     6.00                   8.00              33.3%
     test-suite...ications/JM/ldecod/ldecod.test     6.00                   7.00              16.7%
     test-suite...006/447.dealII/447.dealII.test    33.00                  33.00               0.0%
     test-suite...6/471.omnetpp/471.omnetpp.test    NaN                     1.00               nan%
     test-suite...006/450.soplex/450.soplex.test    NaN                     2.00               nan%
     test-suite.../CINT2006/403.gcc/403.gcc.test    NaN                     7.00               nan%
     test-suite...lications/ClamAV/clamscan.test    NaN                     1.00               nan%
     test-suite...CI_Purple/SMG2000/smg2000.test    NaN                     3.00               nan%

Follow-up to D111727.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D112315
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
Commit 1e8286467036d8ef1a972de723f805a4981b2692 by jamesfarrell
Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible.

See also https://github.com/android/ndk/issues/1455.

Differential Revision: https://reviews.llvm.org/D114163
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/unittests/ADT/TripleTest.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/test/SemaObjC/unguarded-availability-maccatalyst.m
The file was modifiedllvm/lib/Support/Triple.cpp
The file was modifiedclang/test/Sema/availability-guard-format.mm
The file was modifiedclang/test/SemaObjC/unguarded-availability.m
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedclang/test/SemaObjC/attr-availability.m
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedclang/test/Sema/attr-availability.c
The file was modifiedclang/test/SemaObjC/property-deprecated-warning.m
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedclang/test/Sema/attr-availability-android.c
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
Commit 98dbcff19cfedb4e27d267310a76d616cd435447 by gysit
[mlir][linalg] Adapt the decompose patterns to use a filter (NFC).

The revision updates the convolution decomposition patterns to take a linalg transformation filter. The transformation filter in a later revision allows use the patterns from CodegenStrategy.

Depends On D114690

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114797
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
Commit c8f2139eb0de70eec16901d2a7ddfdec62659685 by gysit
[mlir][linalg] Add decompose to CodegenStrategy.

Add the decompose patterns that lower higher dimensional convolutions to lower dimensional ones to CodegenStrategy and use CodegenStrategy to test the decompose patterns. Additionally, remove the assertion that checks the anchor op name is set in the CodegenStrategyTest pass. Removing the assertion allows us to simplify the pipelines used in the interchange and decompose tests.

Depends On D114797

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114798
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/test/Dialect/Linalg/interchange.mlir
The file was modifiedmlir/test/Dialect/Linalg/decompose-convolution.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h
Commit eb97c89cacb85c462e4e56057ae734716ed22324 by clementval
[fir] Remove unused fct recordTypeCanBeMemCopied

Remove unused fct added with 47f759309eeaf9bd77debe4f6c3e1fe52913b537
The file was modifiedflang/lib/Optimizer/Builder/FIRBuilder.cpp
Commit 3cc21ee6b966204b5d683e715f9e63ae9d63cbd4 by clementval
Revert "[fir] Add fir reduction builder"

This reverts commit cf3422d3df5b00d771bba837b9f51f67ab07eb64.

This fails on some buildbots
The file was removedflang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
The file was removedflang/include/flang/Optimizer/Builder/Runtime/Reduction.h
The file was removedflang/lib/Optimizer/Builder/Runtime/Reduction.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was modifiedflang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
Commit ca57b80cd6767b97477fd157831a2b099b5f8f75 by mateja.marjanovic
Code quality: Combine V_RSQ

Combine V_RCP and V_SQRT into V_RSQ on AMDGPU for GlobalISel.

Change-Id: I93c5dcb412483156a6e8b68c4085cbce83ac9703
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCombine.td
The file was modifiedllvm/lib/Target/AMDGPU/CaymanInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/R600Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructions.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-rsq.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/EvergreenInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-rsq.mir
Commit 455a2b824d7734939e54cfb3f47c054517f75be8 by hans
Fix file extension of alignment-assumption-ignorelist.cppp test

During the renaming of blacklist to ignorelist this test got renamed
incorrectly.

Differential revision: https://reviews.llvm.org/D114710
The file was removedcompiler-rt/test/ubsan/TestCases/Pointer/alignment-assumption-ignorelist.cppp
The file was addedcompiler-rt/test/ubsan/TestCases/Pointer/alignment-assumption-ignorelist.cpp
Commit c41b318423c4dbf0a65f81e5e9a816c1710ba4f6 by listmail
[LV] Remove unneeded cast to Operator [NFC]
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit fd1d8e45f488b28db8d63ab51733ddd1e37e751c by benny.kra
[clang][dataflow] Make header parse

Looks like this is actually dead code?
The file was modifiedclang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
Commit b8e03be88dc87303f7401ea7b9906947ac67a6db by paul.robinson
[PS4][DWARF] Explicitly set default DWARF version to 4
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.h
Commit bf317f66989cac26e17b4cd16ab1c7bdfe73dbe0 by hoy
[CSSPGO] Sorting nodes in a cycle of profiled call graph.

For nodes that are in a cycle of a profiled call graph, the current order the underlying scc_iter computes purely depends on how those nodes are reached from outside the SCC and inside the SCC, based on the Tarjan algorithm. This does not honor profile edge hotness, thus does not gurantee hot callsites to be inlined prior to cold callsites. To mitigate that, I'm adding an extra sorter on top of scc_iter to sort scc functions in the order of callsite hotness, instead of changing the internal of scc_iter.

Sorting on callsite hotness can be optimally based on detecting cycles on a directed call graph, i.e, to remove the coldest edge until a cycle is broken. However, detecting cycles isn't cheap. I'm using an MST-based approach which is faster and appear to deliver some performance wins.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D114204
The file was modifiedllvm/include/llvm/ADT/SCCIterator.h
The file was modifiedllvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
The file was modifiedllvm/tools/llvm-profgen/CSPreInliner.cpp
The file was addedllvm/test/Transforms/SampleProfile/Inputs/profile-context-order-scc.prof
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-order.ll
Commit 5e3200f3ce5ac807fa0fdd2b12484ee1540c6b50 by Steven Wu
[JITLink][ELF] Add support for reading extended table

Add support for reading extended table in ELF object file. This allows
JITLink to support ELF object files with many sections.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D114747
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
The file was addedllvm/test/ExecutionEngine/JITLink/X86/ELF_shndex.s
Commit c737d4d203210f96919f4406e5b815b0946535ab by Steven Wu
[JITLink][ELF] Don't skip sections of size 0

Size 0 sections can have symbols that have size 0. Build those sections
and symbols into the LinkGraph so they can be used properly if needed.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D114749
The file was addedllvm/test/ExecutionEngine/JITLink/X86/ELF_empty_section.s
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
Commit 37d72991c136244fe53be02f5af0ad643247a1e6 by nikita.ppv
[SCEV] Track and invalidate ValuesAtScopes users

ValuesAtScopes maps a SCEV and a Loop to another SCEV. While we
invalidate entries if the left-hand SCEV is invalidated, we
currently don't do this for the right-hand SCEV. Fix this by
tracking users in a reverse map and using it for invalidation.

This is conceptually the same change as D114738, but using the
reverse map to avoid performance issues.

Differential Revision: https://reviews.llvm.org/D114788
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was addedllvm/test/Transforms/IndVarSimplify/bbi-63564.ll
Commit a356dae74c8798d5f859d2339466e002a65e4abe by kpyzhov
[RegionPass] Added check for -filter-print-funcs option to the region IR dumps.

Differential Revision: https://reviews.llvm.org/D114310
The file was modifiedllvm/lib/Analysis/RegionPass.cpp
Commit 40d5eeac6cd89a2360c3ba997cbaa816abca828c by nikita.ppv
Revert "Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible."

This reverts commit 1e8286467036d8ef1a972de723f805a4981b2692.

llvm/test/Transforms/LoopStrengthReduce/X86/2009-11-10-LSRCrash.ll fails
with assertion failure:

llc: /home/nikic/llvm-project/llvm/include/llvm/ADT/Optional.h:196: T& llvm::optional_detail::OptionalStorage<T, true>::getValue() & [with T = unsigned int]: Assertion `hasVal' failed.
...
#8 0x00005633843af5cb llvm::MCStreamer::emitVersionForTarget(llvm::Triple const&, llvm::VersionTuple const&)
#9 0x0000563383b47f14 llvm::AsmPrinter::doInitialization(llvm::Module&)
The file was modifiedllvm/lib/Support/Triple.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedllvm/unittests/ADT/TripleTest.cpp
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedclang/test/SemaObjC/unguarded-availability-maccatalyst.m
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedclang/test/SemaObjC/unguarded-availability.m
The file was modifiedclang/test/SemaObjC/property-deprecated-warning.m
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedclang/test/Sema/attr-availability.c
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedclang/test/Sema/availability-guard-format.mm
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedclang/test/SemaObjC/attr-availability.m
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedclang/test/Sema/attr-availability-android.c
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
Commit fc57cfad3c1eac1baf0afd402deeeff6a6d1ee80 by a.bataev
[SLP][NFC]Move static function to make it visible in member function,
NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 746e632dafbec2277c62164b3e63da4bee1d8553 by spatel
[InstSimplify] add tests for 'or' logic folds; NFC

The tests are adapted from the xor patterns used with:
892648b18a8c
b326c058146f
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll
Commit 1fdb0f6ffdffdb67ab9169aab39f0429eaae3a98 by spatel
[InstSimplify] add tests for 'or' with logic ops; NFC

The code for these transforms can be refactored,
but the existing tests are incomplete.
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll
Commit 8dec0b23da116e1cf0cd49c955ff1fadf52d5096 by spatel
[InstSimplify] refactor 'or' logic folds; NFC

Reduce duplication for handling the top-level commuted operands.
There are several other folds that should be moved in here, but
we need to make sure there's good test coverage.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 33f8c1168f39c49091d644146ef49d9567cfa984 by spatel
[InstSimplify] adjust tests for 'or' of logic ops; NFC

Half of the tests had an extra instruction so were not testing the minimal patterns.
The file was modifiedllvm/test/Transforms/InstSimplify/AndOrXor.ll
Commit 7a7c059d867554e116244ad5639d05d75ed1a7cd by spatel
[InstSimplify] reduce code duplication for 'or' logic fold; NFC
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp