Changes

Summary

  1. Avoid building the entire tree and testing LLVM itself on MLIR builders (details)
Commit fbdda46df1702d87909e66856796ffaefb5c0b41 by joker.eph
Avoid building the entire tree and testing LLVM itself on MLIR builders

This reduces the amount of targets to build and tests. The build gets faster (see below) but
the main motivation right now is to not get notified by an mlir-* bot when there is a failure
in a LLVM test (there are enough other bots to cover these).

Build time gain is hard to evaluate because it is highly dependent on the machine.
Below are the results on my Linux machine (with the same cmake config as the
win-mlir-buildbot, so no python tests):
```
$ time ninja check-mlir -j 16
894.323 [0/1/2803] Running the MLIR regression tests

Testing Time: 98.80s
  Unsupported      : 163
  Passed           : 927
  Expectedly Failed:   1

real 16m41.103s
user 188m17.260s
sys 23m22.081s
```

After that, adding `ninja -j 16` results in an added:

```
$ time ninja -j 16
441.094 [0/1/767] Linking CXX executable bin/SpeculativeJIT

real 7m21.771s
user 86m25.291s
sys 15m5.505s
```

So it is ~1/3 of the build time that we're saving here.

Differential Revision: https://reviews.llvm.org/D110187
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [ELF][AArch64] Refine and fix the condition when BTI/PAC PLT needs bti c (details)
  2. [Analysis] reduce code for isOnlyUsedInZeroEqualityComparison; NFC (details)
  3. [ValueTracking] fix isOnlyUsedInZeroEqualityComparison with no users (details)
  4. [mlir][sparse] generalize reduction support in sparse compiler (details)
  5. [libc++][test] Remove disable_missing_braces_warning.h from tests (details)
  6. [libc++][NFCI] Remove uses of _LIBCPP_INLINE_VAR (details)
  7. Reset operation when canceling root update transaction (details)
  8. [mlir:DataFlowAnalysis] Reprocess the arguments of already executable edges (details)
  9. [JumpThreading] Add test with free instructions (NFC) (details)
  10. [InstCombine] add test for shift-shift with extra use; NFC (details)
  11. [InstCombine] add one-use check to shift-shift transform (details)
  12. [libc++][NFC] Add missing whitespace in <compare> (details)
  13. [mlir][Linalg] Teach constant -> generic op fusion to handle scalar constants. (details)
  14. [Clang] Ignore BTFTag attr if used as a type attribute (details)
  15. [OpenMP][Offloading] Change `bool IsSPMD` to `int8_t Mode` in `__kmpc_target_init` and `__kmpc_target_deinit` (details)
  16. Fix bug for Ops with default valued attributes and successors/variadic regions. (details)
  17. [RISCV] Add test cases showing failure to use ADDIW before fcvt.s.w/fcvt.d.w/fcvt.h.w. NFC (details)
  18. [RISCV] Add fcvt.s.w(u)/fcvt.d.w(u)/fcvt.h.w(u) to hasAllNBitUsers (details)
  19. [RISCV] Remove stale FIXMEs from float-convert.ll and double-convert.ll. NFC (details)
  20. Diagnose -Wunused-value based on CFG reachability (details)
  21. [flang] Catch error: base of DATA statement object can't be a pointer (details)
Commit 19d53d45f2709d37b07bcd73dc5300304ce2ffee by i
[ELF][AArch64] Refine and fix the condition when BTI/PAC PLT needs bti c

(As I mentioned in https://reviews.llvm.org/D62609#1534158 ,
the condition for using bti c for executable can be loosened.)

In two cases the address of a PLT may escape:

* canonical PLT entry for a STT_FUNC
* non-preemptible STT_GNU_IFUNC which is converted to STT_FUNC

The first case can be detected with `needsPltAddr`.

The second case is not straightforward to detect because for the Relocations.cpp
created `directSym`, it's difficult to know whether the associated `sym` has
exercised the `!needsPlt(expr)` code path. Just use the conservative `isInIplt`
condition. A non-preemptible ifunc not referenced by non-GOT-generating
non-PLT-generating relocations will have an unneeded `bti c`, but the cost is acceptable.

The second case fixes a bug as well: a -shared link may have non-preemptible ifunc.
Before the patch we did not emit `bti c` and could be wrong if the PLT address escaped.
GNU ld doesn't handle the case: `relocation R_AARCH64_ADR_PREL_PG_HI21 against STT_GNU_IFUNC symbol 'ifunc2' isn't handled by elf64_aarch64_final_link_relocate` (https://sourceware.org/bugzilla/show_bug.cgi?id=28370)

For -shared, if BTI is enabled but PAC is disabled, the PLT entry size increases
from 16 to 24 because we have to select the PLT scheme early, but the cost is
acceptable.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D110217
The file was modifiedlld/ELF/Arch/AArch64.cpp
The file was modifiedlld/test/ELF/aarch64-feature-btipac.s
The file was modifiedlld/test/ELF/aarch64-ifunc-bti.s
The file was modifiedlld/test/ELF/aarch64-feature-bti.s
The file was modifiedlld/test/ELF/Inputs/aarch64-addrifunc.s
Commit b05804ab4c8c62a9d24aff9a0da0eb8ba5d0296f by spatel
[Analysis] reduce code for isOnlyUsedInZeroEqualityComparison; NFC

There's a bug here noted by the FIXME and visible in variations of PR50836.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit a85d7a56c7bbd9b3c8409c00f48de47bec5fc8af by spatel
[ValueTracking] fix isOnlyUsedInZeroEqualityComparison with no users

This is another problem exposed by:
https://bugs.llvm.org/PR50836
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was addedllvm/test/Transforms/InstCombine/strlen-3.ll
Commit 5da21338bcd0fe377fc788b1b24cf055ab1977af by ajcbik
[mlir][sparse] generalize reduction support in sparse compiler

Now not just SUM, but also PRODUCT, AND, OR, XOR. The reductions
MIN and MAX are still to be done (also depends on recognizing
these operations in cmp-select constructs).

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D110203
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_vector.mlir
Commit 9fb3669429a8bc59622c26ab6f5cf6926ee97e7d by joeloser93
[libc++][test] Remove disable_missing_braces_warning.h from tests

Several tests include `disable_missing_braces_warning.h` but do not need
to. Remove the include.

Inspired from discussion at https://reviews.llvm.org/D109668

Reviewed By: ldionne, #libc, Mordante

Differential Revision: https://reviews.llvm.org/D109711
The file was modifiedlibcxx/test/std/containers/views/span.cons/stdarray.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.swap/swap.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.range/begin-end.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/tuple_element.fail.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/deduct.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/compare.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/iterators.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.data/data_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/deduct.fail.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.fill/fill.fail.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.size/size.pass.cpp
The file was removedlibcxx/test/support/disable_missing_braces_warning.h
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.special/swap.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.data/data.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/indexing.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/at_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/front_back.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/indexing_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/compare.fail.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.swap/swap.fail.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.fill/fill.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_const_rv.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get.fail.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/at.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply_extended_types.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/front_back_const.pass.cpp
Commit cb793e1a3655b8a571cb621db9d221c46f32ba9f by Louis Dionne
[libc++][NFCI] Remove uses of _LIBCPP_INLINE_VAR

All supported compilers provide support for inline variables in C++17 now.
Also, as a fly-by fix, replace some uses of _LIBCPP_CONSTEXPR by just
constexpr.

The only exception in this patch is `std::ignore`, which is provided
prior to C++17. Since it is defined in an anonymous namespace, it always
has internal linkage anyway, so using an inline variable there doesn't
provide any benefit. Instead, `inline` was removed entirely on `std::ignore`.

Differential Revision: https://reviews.llvm.org/D110243
The file was modifiedlibcxx/include/type_traits
The file was modifiedlibcxx/include/__memory/uses_allocator.h
The file was modifiedlibcxx/include/experimental/simd
The file was modifiedlibcxx/include/__utility/piecewise_construct.h
The file was modifiedlibcxx/include/optional
The file was modifiedlibcxx/include/variant
The file was modifiedlibcxx/include/new
The file was modifiedlibcxx/include/ratio
The file was modifiedlibcxx/include/tuple
The file was modifiedlibcxx/include/__mutex_base
The file was modifiedlibcxx/include/__functional/bind.h
The file was modifiedlibcxx/include/__memory/allocator_arg_t.h
The file was modifiedlibcxx/include/__utility/in_place.h
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/system_error
The file was modifiedlibcxx/include/chrono
Commit b2b63d1b9122befaf44bf91a3ed1e8a71c6ffe06 by cathyzhyi
Reset operation when canceling root update transaction

Should reset the operation to original state when canceling the updates.

Reviewed By: rriddle, ftynse

Differential Revision: https://reviews.llvm.org/D110176
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp
Commit 6e60bb6883178cf14e6fd47a6789495636e4322f by riddleriver
[mlir:DataFlowAnalysis] Reprocess the arguments of already executable edges

This fixes a bug where we discover new information about the arguments of an
already executable edge, but don't visit the arguments. We only visit the arguments, and not the block itself, so this commit shouldn't really affect performance at all.

Fixes PR#51871

Differential Revision: https://reviews.llvm.org/D110197
The file was modifiedmlir/lib/Analysis/DataFlowAnalysis.cpp
The file was modifiedmlir/test/Transforms/sccp.mlir
Commit d8e1203f91500a4a87218e9a8f5de03456bd8603 by nikita.ppv
[JumpThreading] Add test with free instructions (NFC)

Which demonstrates that "free" instructions can prevent jump
threading.
The file was addedllvm/test/Transforms/JumpThreading/free_instructions.ll
Commit 55aa4e92f7374f01ef8d3c2f793a8666a1b13dca by spatel
[InstCombine] add test for shift-shift with extra use; NFC
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-shl.ll
Commit 1cd6b44f267b256051e6106d9cf665f3bae2fd22 by spatel
[InstCombine] add one-use check to shift-shift transform

We don't want to create extra instructions, and this
could infinite loop with the proposed transform in D110170.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-shl.ll
Commit 474816384fd43f5176339b625981fd986be95489 by Louis Dionne
[libc++][NFC] Add missing whitespace in <compare>
The file was modifiedlibcxx/include/__compare/ordering.h
Commit a40a08ed988f4da0183622ff62bc151712bd9de0 by ravishankarm
[mlir][Linalg] Teach constant -> generic op fusion to handle scalar constants.

The current folder of constant -> generic op only handles splat
constants. The same logic holds for scalar constants. Teach the
pattern to handle such cases.

Differential Revision: https://reviews.llvm.org/D109982
The file was modifiedmlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
Commit b875343873a584965daf507d73ff1fe71eab1953 by yhs
[Clang] Ignore BTFTag attr if used as a type attribute

Currently, linux kernel has a __user attribute ([1]) defined as
   __attribute__((noderef, address_space(__user)))
which is used by sparse tool ([2]) to do some
type checking of pointers to user space memory.
During normal compilation, __user will be defined
to nothing so it won't have an impact on compilation.

The btf_tag attribute, which is motivated by
carrying linux kernel annotations into dwarf/BTF,
is introduced in [3]. We intended to define __user as
   __attribute__((btf_tag("user")))
so such information will be encoded in dwarf/BTF
and can be used later by bpf verification or other
tracing tools.

But linux kernel __user attribute is also used during
type conversion which btf_tag doesn't support ([4]) since
such type conversion is only used for compiler analysis
and not encoded in dwarf/btf. Theoretically, it is
possible for clang to understand these tags and
do a sparse-like type checking work. But I would like
to leave that to future work and for now suggest simply
ignore these btf_tag attributes if they are used
as type attributes.

  [1] https://github.com/torvalds/linux/blob/master/include/linux/compiler_types.h#L10
  [2] https://sparse.docs.kernel.org/en/latest/
  [3] https://reviews.llvm.org/D106614
  [4] https://github.com/torvalds/linux/blob/master/fs/binfmt_flat.c#L135

Differential Revision: https://reviews.llvm.org/D110116
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/Sema/attr-btf_tag.c
Commit 423d34f74a10ae122a67a18a76c2ead6e26924eb by tianshilei1992
[OpenMP][Offloading] Change `bool IsSPMD` to `int8_t Mode` in `__kmpc_target_init` and `__kmpc_target_deinit`

This is a follow-up of D110029, which uses bitset to indicate execution mode. This patches makes the changes in the function call.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D110279
The file was modifiedclang/test/OpenMP/nvptx_SPMD_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/single_threaded_execution.ll
The file was modifiedclang/test/OpenMP/amdgcn_target_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/custom_state_machines.ll
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedllvm/test/Transforms/OpenMP/global_constructor.ll
The file was modifiedclang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/fold_generic_main_thread.ll
The file was modifiedclang/test/OpenMP/nvptx_target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_force_full_runtime_SPMD_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was modifiedclang/test/OpenMP/declare_target_codegen_globalization.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_simd_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/replace_globalization.ll
The file was modifiedclang/test/OpenMP/target_parallel_for_debug_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Kernel.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_nested_parallel_codegen.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Types.h
The file was modifiedllvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
The file was modifiedclang/test/OpenMP/nvptx_data_sharing.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Interface.h
The file was modifiedllvm/test/Transforms/OpenMP/deduplication_target.ll
The file was modifiedllvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
The file was modifiedopenmp/libomptarget/deviceRTLs/common/include/target.h
The file was modifiedclang/test/OpenMP/nvptx_target_simd_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/spmdization_remarks.ll
The file was modifiedclang/test/OpenMP/nvptx_parallel_for_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_lambda_capturing.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/spmdization.ll
The file was modifiedllvm/test/Transforms/OpenMP/parallel_level_fold.ll
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/support.h
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedllvm/test/Transforms/OpenMP/always_inline_device.ll
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_debug_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedllvm/test/Transforms/OpenMP/spmdization_guarding.ll
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omp_data.cu
The file was modifiedclang/test/OpenMP/nvptx_target_printf_codegen.c
The file was modifiedllvm/test/Transforms/OpenMP/spmdization_assumes.ll
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/remove_globalization.ll
Commit cd36bab4ca901199c753e99cb66143eca52ffed8 by joker.eph
Fix bug for Ops with default valued attributes and successors/variadic regions.

When both a DefaultValuedAttr and a successor or variadic region was specified, this would generate invalid C++ declaration. There would be the parameter with a default value, followed by the successors/regions, which don't have a default, which is invalid.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D110205
The file was modifiedmlir/test/mlir-tblgen/op-attribute.td
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit c7e78150f733d5be3cae766de3385173e2e245ff by craig.topper
[RISCV] Add test cases showing failure to use ADDIW before fcvt.s.w/fcvt.d.w/fcvt.h.w. NFC

By not using ADDIW we can cause both an ADDIW and ADDI to be emitted
when the add has multiple users.

These instructions needed be added to the list of instructions that
only use the lower 32 bits of input.

I've also added tests for the wu versions, but I'm having trouble
showing bad codegen from it.
The file was modifiedllvm/test/CodeGen/RISCV/float-convert.ll
The file was modifiedllvm/test/CodeGen/RISCV/half-convert.ll
The file was modifiedllvm/test/CodeGen/RISCV/double-convert.ll
Commit f0a422f935af877d8d9304eacbfbb6621e9ff643 by craig.topper
[RISCV] Add fcvt.s.w(u)/fcvt.d.w(u)/fcvt.h.w(u) to hasAllNBitUsers

These instructions only read the lower 32 bits of their input.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/half-convert.ll
The file was modifiedllvm/test/CodeGen/RISCV/double-convert.ll
The file was modifiedllvm/test/CodeGen/RISCV/float-convert.ll
Commit 16ba77d19c5e28e693fc1bf69d7c6071ed59c6b1 by craig.topper
[RISCV] Remove stale FIXMEs from float-convert.ll and double-convert.ll. NFC
The file was modifiedllvm/test/CodeGen/RISCV/double-convert.ll
The file was modifiedllvm/test/CodeGen/RISCV/float-convert.ll
Commit cbbf2e8c8ae7730ff0121f4868de4a7d188feb65 by Yuanfang Chen
Diagnose -Wunused-value based on CFG reachability

While at it, add the diagnosis message "left operand of comma operator has no effect" (used by GCC) for comma operator.

This also makes Clang diagnose in the constant evaluation context which aligns with GCC/MSVC behavior. (https://godbolt.org/z/7zxb8Tx96)

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D103938
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/CXX/drs/dr14xx.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/warn-type-safety.c
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp
The file was modifiedclang/test/CodeCompletion/pragma-macro-token-caching.c
The file was modifiedclang/test/Frontend/fixed_point_crash.c
The file was modifiedclang/test/CXX/basic/basic.link/p8.cpp
The file was modifiedclang/test/Sema/i-c-e.c
The file was modifiedclang/test/Sema/sizeless-1.c
The file was modifiedclang/test/Sema/switch-1.c
The file was modifiedclang/test/SemaCXX/warn-comma-operator.cpp
The file was modifiedclang/test/Parser/objcxx11-attributes.mm
The file was modifiedclang/test/SemaTemplate/lambda-capture-pack.cpp
The file was modifiedclang/test/Sema/exprs.c
The file was modifiedclang/test/Analysis/dead-stores.c
The file was modifiedclang/test/Parser/cxx0x-ambig.cpp
The file was modifiedclang/test/Sema/warn-unused-value.c
The file was modifiedclang/test/SemaCXX/overloaded-operator.cpp
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp
The file was modifiedclang/test/SemaCXX/builtin-constant-p.cpp
The file was modifiedclang/test/SemaCXX/expression-traits.cpp
The file was modifiedclang/test/Parser/cxx1z-init-statement.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/SemaCXX/matrix-type-operators.cpp
The file was modifiedclang/test/SemaTemplate/derived.cpp
The file was modifiedclang/test/SemaCXX/vector.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/PCH/cxx-explicit-specifier.cpp
The file was modifiedclang/test/SemaCXX/warn-unused-value.cpp
The file was modifiedclang/test/SemaCXX/constant-expression.cpp
The file was modifiedclang/test/CXX/drs/dr20xx.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/Parser/objc-try-catch-1.m
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/Parser/cxx-ambig-decl-expr.cpp
The file was modifiedclang/test/Parser/objc-messaging-1.m
The file was modifiedclang/test/Sema/vla-2.c
The file was modifiedclang/test/CXX/drs/dr7xx.cpp
The file was modifiedclang/test/SemaCXX/attr-annotate.cpp
The file was modifiedclang/test/Sema/const-eval.c
Commit 57705df2de9db50adca4a19ca32ee928990cc380 by pklausler
[flang] Catch error: base of DATA statement object can't be a pointer

A pointer with subscripts, substring indices, or components cannot
be initialized by a DATA statement (although of course a whole pointer
can be so).  Catch the missing cases.

Differential Revision: https://reviews.llvm.org/D109931
The file was modifiedflang/lib/Semantics/check-data.cpp
The file was modifiedflang/test/Semantics/data04.f90