platform/upstream/llvm.git
23 months agoNaryReassociate: Convert tests to opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 01:14:01 +0000 (20:14 -0500)]
NaryReassociate: Convert tests to opaque pointers

NVPTX/nary-gep.ll had one test that checked for a deleted bitcast
which needed to be updated manually.

23 months agoStraightLineStrengthReduce: Convert tests to opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 15:56:02 +0000 (10:56 -0500)]
StraightLineStrengthReduce: Convert tests to opaque pointers

Required some manual updates in AMDGPU/pr23975.ll and
slsr-gep.ll. pr23975.ll had another offset 0 GEP that probably should
not have been deleted.

23 months agoSampleProfile: Convert tests to opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 21:28:23 +0000 (16:28 -0500)]
SampleProfile: Convert tests to opaque pointers

syntax.ll required removing some diffs that apparently looked like
pointers in message checking.

23 months agoPhaseOrdering: Convert tests to opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 21:56:00 +0000 (16:56 -0500)]
PhaseOrdering: Convert tests to opaque pointers

Required manually running update_test_checks:
  AArch64/hoisting-sinking-required-for-vectorization.ll
  AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
  ARM/arm_mult_q15.ll
  X86/hoist-load-of-baseptr.ll
  X86/spurious-peeling.ll

23 months agoScalarizer: Convert tests to opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 16:32:18 +0000 (11:32 -0500)]
Scalarizer: Convert tests to opaque pointers

23 months ago[Scalar] Use std::optional in GVN.h (NFC)
Kazu Hirata [Mon, 28 Nov 2022 02:24:43 +0000 (18:24 -0800)]
[Scalar] Use std::optional in GVN.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[IR] Use std::optional in Attributor.h (NFC)
Kazu Hirata [Mon, 28 Nov 2022 02:24:42 +0000 (18:24 -0800)]
[IR] Use std::optional in Attributor.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Target] Use std::optional in CGPassBuilderOption.h (NFC)
Kazu Hirata [Mon, 28 Nov 2022 02:24:40 +0000 (18:24 -0800)]
[Target] Use std::optional in CGPassBuilderOption.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[ProfileData] Use std::optional in MemProf.h (NFC)
Kazu Hirata [Mon, 28 Nov 2022 02:24:39 +0000 (18:24 -0800)]
[ProfileData] Use std::optional in MemProf.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months agoMemorySanitizer: Convert tests to opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 21:04:35 +0000 (16:04 -0500)]
MemorySanitizer: Convert tests to opaque pointers

Required fixups:
  alloca.ll
  avx2-intrinsics-x86.ll
  csr.ll
  instrumentation-with-call-threshold.ll
  msan_asm_conservative.ll
  msan_basic.ll
  msan_debug_info.ll
  msan_kernel_basic.ll
  msan_x86intrinsics.ll
  mul_by_constant.ll

23 months agoHWAsan: Convert tests to opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 21:49:10 +0000 (16:49 -0500)]
HWAsan: Convert tests to opaque pointers

Fixups needed in:
  X86/alloca-with-calls.ll
  X86/alloca.ll
  alloca-with-calls.ll
  atomic.ll
  basic.ll
  dbg-value-tag-offset.ll
  kernel-alloca.ll
  prologue.ll
  use-after-scope.ll

23 months agoHWAsan: Fix creating unnecessary bitcast with opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 21:57:25 +0000 (16:57 -0500)]
HWAsan: Fix creating unnecessary bitcast with opaque pointers

This was creating a ptr to ptr bitcast. Convert a relevant test to
opaque pointers.

23 months agoPGOProfile: Convert tests to opaque pointers
Fangrui Song [Mon, 28 Nov 2022 02:13:09 +0000 (18:13 -0800)]
PGOProfile: Convert tests to opaque pointers

23 months agoGlobalDCE: Convert tests to opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 00:12:18 +0000 (19:12 -0500)]
GlobalDCE: Convert tests to opaque pointers

The script mangled both virtual-functions-base-pointer-call.ll and
virtual-functions-derived-pointer-call.ll pretty badly, deleting the
run line and most of the block comment.

Replaced the bitcast with and addrspacecast in 2002-07-17-CastRef.ll,
based on the apparent intent of the test.

For 2003-07-01-SelfReference.ll, the script produced "call ptr ()
@getfunc" which surprisingly parses as valid.

23 months agoThreadSanitizer: Convert tests to opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 20:56:40 +0000 (15:56 -0500)]
ThreadSanitizer: Convert tests to opaque pointers

Required manual fixes in atomic.ll, missing_dbg.ll

23 months agoLowerAtomic: Convert tests to opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 20:33:50 +0000 (15:33 -0500)]
LowerAtomic: Convert tests to opaque pointers

23 months agoSeparateConstOffsetFromGEP: Update tests to use opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 19:37:41 +0000 (14:37 -0500)]
SeparateConstOffsetFromGEP: Update tests to use opaque pointers

NVPTX/split-gep.ll needed a check for a bitcast replaced.

23 months agoSeparateConstOffsetFromGEP: Fix creating pointless bitcasts
Matt Arsenault [Sat, 26 Nov 2022 19:53:36 +0000 (14:53 -0500)]
SeparateConstOffsetFromGEP: Fix creating pointless bitcasts

This was directly creating new BitCastInsts, so under opaque pointers,
would end up producing bitcast from ptr to ptr.

23 months agoSeparateConstOffsetFromGEP: Add baseline test for opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 20:04:38 +0000 (15:04 -0500)]
SeparateConstOffsetFromGEP: Add baseline test for opaque pointers

This currently emits a pointless bitcast.

23 months agoUtils: Update tests for opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 20:45:58 +0000 (15:45 -0500)]
Utils: Update tests for opaque pointers

Also use -disable-output

23 months agoSafeStack: Convert tests to opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 21:45:33 +0000 (16:45 -0500)]
SafeStack: Convert tests to opaque pointers

X86/struct.ll, X86/array.ll and X86/array-aligned required manual
updates to reorder instructions.

23 months agoStructurizeCFG: Convert tests to opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 15:07:04 +0000 (10:07 -0500)]
StructurizeCFG: Convert tests to opaque pointers

23 months agoInferAddressSpaces: Switch tests to use opt -passes
Matt Arsenault [Mon, 28 Nov 2022 01:24:34 +0000 (20:24 -0500)]
InferAddressSpaces: Switch tests to use opt -passes

23 months agoInferAddressSpaces: Convert tests to opaque pointers
Matt Arsenault [Mon, 28 Nov 2022 01:11:40 +0000 (20:11 -0500)]
InferAddressSpaces: Convert tests to opaque pointers

Had constantexprs be mangled by the opaquify script; had to update
those lines manually:
  NVPTX/bug31948.ll
  AMDGPU/old-pass-regressions.ll
  AMDGPU/old-pass-regressions-inseltpoison.ll
  AMDGPU/infer-address-space.ll

Required re-reunning update_test_checks:
  AMDGPU/redundant-addrspacecast.ll

In AMDGPU/insert-pos-assert.ll, bitcast_insert_pos_assert_2 deleted a
getelementptr of 0 which I'm guessing was relevant. Replaced with an
offset 1 GEP to ensure another addrspacecast is inserted.

AMDGPU/infer-getelementptr.ll had one case improve by introducing an
inbounds.

23 months ago[lld] Change Optional to std::optional
Fangrui Song [Mon, 28 Nov 2022 01:25:33 +0000 (17:25 -0800)]
[lld] Change Optional to std::optional

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months agoDataFlowSanitizer: Convert most tests to opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 22:50:47 +0000 (17:50 -0500)]
DataFlowSanitizer: Convert most tests to opaque pointers

This was pain every step of the way; there's still one to go.

23 months agoDataFlowSanitizer: Don't use anonymous values in test
Matt Arsenault [Sun, 27 Nov 2022 23:55:29 +0000 (18:55 -0500)]
DataFlowSanitizer: Don't use anonymous values in test

This interferes with test updates.

23 months agoAddressSanitizer: Convert tests to opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 18:55:03 +0000 (13:55 -0500)]
AddressSanitizer: Convert tests to opaque pointers

Needed some manual fixes:
  AMDGPU/asan_instrument_generic_address_space.ll
  dynamic-shadow-darwin.ll
  lifetime.ll
  stack-poisoning-byval-args.ll
  global_metadata_windows.ll
  asan-masked-load-store.ll
  stack-poisoning-and-lifetime.ll
  stack-poisoning-and-lifetime-be.ll

This included some of the worst opaquify breakages I've seen. The
tests were dependent on 0 indexed GEPs, and had check lines directly
checking pointee types.

23 months ago[lld-macho] Change most Optional to std::optional
Fangrui Song [Mon, 28 Nov 2022 00:54:07 +0000 (16:54 -0800)]
[lld-macho] Change most Optional to std::optional

23 months ago[COFF] Change most Optional to std::optional
Fangrui Song [Mon, 28 Nov 2022 00:39:40 +0000 (16:39 -0800)]
[COFF] Change most Optional to std::optional

23 months ago[IPO] Remove an unused function declaration
Kazu Hirata [Mon, 28 Nov 2022 00:22:07 +0000 (16:22 -0800)]
[IPO] Remove an unused function declaration

The corresponding definition doesn't seem to have existed every since
the declaration was introduced on Jul 8, 2019 in commit
accd3e87478eb75d455e016500ef3d2ddbeca82d.

FWIW, we do have AAReturnedValuesImpl::getAssumedUniqueReturnValue
declared and defined in Attributor.cpp.

23 months ago[test][asan] Double ended version of TestContainer
Vitaly Buka [Sun, 27 Nov 2022 22:29:30 +0000 (14:29 -0800)]
[test][asan] Double ended version of TestContainer

23 months ago[NFC][asan] Extract FixUnalignedStorage
Vitaly Buka [Sun, 27 Nov 2022 21:32:17 +0000 (13:32 -0800)]
[NFC][asan] Extract FixUnalignedStorage

And simplify slightly: adjust for unaligned container
only if aligned case poisons different bytes.

23 months ago[NFC][asan] Extract kMaxRangeToCheck into a function
Vitaly Buka [Sun, 27 Nov 2022 20:15:06 +0000 (12:15 -0800)]
[NFC][asan] Extract kMaxRangeToCheck into a function

23 months ago[test][asan] Simplify a few expressions
Vitaly Buka [Sun, 27 Nov 2022 20:09:56 +0000 (12:09 -0800)]
[test][asan] Simplify a few expressions

23 months ago[test][asan] Check find_bad_address test
Vitaly Buka [Sun, 27 Nov 2022 19:50:50 +0000 (11:50 -0800)]
[test][asan] Check find_bad_address test

For consistency with future TestDoubleEndedContainer, where calculation
of the expected bad address is complicated.

23 months ago[test][asan] Deduplicate code
Vitaly Buka [Sun, 27 Nov 2022 08:50:07 +0000 (00:50 -0800)]
[test][asan] Deduplicate code

23 months ago[NFC][asan] Rename variables in __sanitizer_annotate_contiguous_container
Vitaly Buka [Sun, 27 Nov 2022 08:29:38 +0000 (00:29 -0800)]
[NFC][asan] Rename variables in __sanitizer_annotate_contiguous_container

23 months ago[IR] Use std::optional in Statepoint.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:40:10 +0000 (14:40 -0800)]
[IR] Use std::optional in Statepoint.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[IR] Use std::optional in ModuleSummaryIndex.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:40:08 +0000 (14:40 -0800)]
[IR] Use std::optional in ModuleSummaryIndex.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[IR] Use std::optional in Instructions.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:40:07 +0000 (14:40 -0800)]
[IR] Use std::optional in Instructions.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[IR] Use std::optional in InstrTypes.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:40:05 +0000 (14:40 -0800)]
[IR] Use std::optional in InstrTypes.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Support] Use std::optional in raw_ostream.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:16:12 +0000 (14:16 -0800)]
[Support] Use std::optional in raw_ostream.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Support] Use std::optional in ToolOutputFile.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:16:11 +0000 (14:16 -0800)]
[Support] Use std::optional in ToolOutputFile.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Support] Use std::optional in InstructionCost.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:16:09 +0000 (14:16 -0800)]
[Support] Use std::optional in InstructionCost.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Support] Use std::optional in InitLLVM.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:16:08 +0000 (14:16 -0800)]
[Support] Use std::optional in InitLLVM.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Support] Use std::optional in HashBuilder.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:16:06 +0000 (14:16 -0800)]
[Support] Use std::optional in HashBuilder.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Support] Use std::optional in GlobPattern.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:16:05 +0000 (14:16 -0800)]
[Support] Use std::optional in GlobPattern.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Support] Use std::optional in GenericDomTreeConstruction.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:16:03 +0000 (14:16 -0800)]
[Support] Use std::optional in GenericDomTreeConstruction.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Support] Use std::optional in CachePruning.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 22:16:01 +0000 (14:16 -0800)]
[Support] Use std::optional in CachePruning.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months agomlir/linalg: use std::optional
Ramkumar Ramachandra [Sun, 27 Nov 2022 21:32:20 +0000 (13:32 -0800)]
mlir/linalg: use std::optional

This is part of an effort to migrate from llvm::Optional to std::optional:

See also: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

Signed-off-by: Ramkumar Ramachandra <r@artagnon.com>
23 months agomlir/VectorToGPU: use std::optional (NFC)
Ramkumar Ramachandra [Sun, 27 Nov 2022 21:32:18 +0000 (13:32 -0800)]
mlir/VectorToGPU: use std::optional (NFC)

This is part of an effort to migrate from llvm::Optional to std::optional:

See also: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

Signed-off-by: Ramkumar Ramachandra <r@artagnon.com>
23 months ago[Analysis] Use std::optional in TensorSpec.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:28 +0000 (12:18 -0800)]
[Analysis] Use std::optional in TensorSpec.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in TargetTransformInfo.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:26 +0000 (12:18 -0800)]
[Analysis] Use std::optional in TargetTransformInfo.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in TargetLibraryInfo.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:24 +0000 (12:18 -0800)]
[Analysis] Use std::optional in TargetLibraryInfo.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in ProfileSummaryInfo.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:23 +0000 (12:18 -0800)]
[Analysis] Use std::optional in ProfileSummaryInfo.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in ObjCARCAnalysisUtils.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:21 +0000 (12:18 -0800)]
[Analysis] Use std::optional in ObjCARCAnalysisUtils.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in ModuleSummaryAnalysis.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:20 +0000 (12:18 -0800)]
[Analysis] Use std::optional in ModuleSummaryAnalysis.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in MemoryDependenceAnalysis.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:18 +0000 (12:18 -0800)]
[Analysis] Use std::optional in MemoryDependenceAnalysis.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in MLInlineAdvisor.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:16 +0000 (12:18 -0800)]
[Analysis] Use std::optional in MLInlineAdvisor.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in LoopCacheAnalysis.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:15 +0000 (12:18 -0800)]
[Analysis] Use std::optional in LoopCacheAnalysis.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in LoopAccessAnalysis.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 20:18:13 +0000 (12:18 -0800)]
[Analysis] Use std::optional in LoopAccessAnalysis.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in LazyCallGraph.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 19:49:06 +0000 (11:49 -0800)]
[Analysis] Use std::optional in LazyCallGraph.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in InlineCost.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 19:49:04 +0000 (11:49 -0800)]
[Analysis] Use std::optional in InlineCost.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in IRSimilarityIdentifier.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 19:49:03 +0000 (11:49 -0800)]
[Analysis] Use std::optional in IRSimilarityIdentifier.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in DemandedBits.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 19:49:01 +0000 (11:49 -0800)]
[Analysis] Use std::optional in DemandedBits.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in BlockFrequencyInfoImpl.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 19:49:00 +0000 (11:49 -0800)]
[Analysis] Use std::optional in BlockFrequencyInfoImpl.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[Analysis] Use std::optional in BasicAliasAnalysis.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 19:48:58 +0000 (11:48 -0800)]
[Analysis] Use std::optional in BasicAliasAnalysis.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[ADT] Use std::optional in TypeSwitch.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 19:48:57 +0000 (11:48 -0800)]
[ADT] Use std::optional in TypeSwitch.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[ADT] Use std::optional in StringSwitch.h (NFC)
Kazu Hirata [Sun, 27 Nov 2022 19:48:55 +0000 (11:48 -0800)]
[ADT] Use std::optional in StringSwitch.h (NFC)

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

23 months ago[NFC][InstCombine] Drop "unused" check prefixes in newly added test
Roman Lebedev [Sun, 27 Nov 2022 19:21:29 +0000 (22:21 +0300)]
[NFC][InstCombine] Drop "unused" check prefixes in newly added test

23 months agoFixup last commit - actually stage check line updates
Roman Lebedev [Sun, 27 Nov 2022 18:58:36 +0000 (21:58 +0300)]
Fixup last commit - actually stage check line updates

23 months ago[NFC][InstCombine] Add test coverage for potential fold
Roman Lebedev [Sun, 27 Nov 2022 18:57:43 +0000 (21:57 +0300)]
[NFC][InstCombine] Add test coverage for potential fold

23 months agoApply clang-tidy fixes for modernize-use-equals-default in TestLinalgDecomposeOps...
Mehdi Amini [Thu, 17 Nov 2022 10:59:26 +0000 (10:59 +0000)]
Apply clang-tidy fixes for modernize-use-equals-default in TestLinalgDecomposeOps.cpp (NFC)

23 months agoApply clang-tidy fixes for bugprone-copy-constructor-init in TestLinalgDecomposeOps...
Mehdi Amini [Thu, 17 Nov 2022 10:58:48 +0000 (10:58 +0000)]
Apply clang-tidy fixes for bugprone-copy-constructor-init in TestLinalgDecomposeOps.cpp (NFC)

23 months agoReassociate: Convert tests to opaque pointers
Matt Arsenault [Sat, 26 Nov 2022 21:50:38 +0000 (16:50 -0500)]
Reassociate: Convert tests to opaque pointers

canonicalize-neg-const.ll had some issues. The script somehow decided
to delete half the run line and merge it with the example expression
(which it also deleted most of).

23 months agoVerifier: Update error message for opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 17:55:30 +0000 (12:55 -0500)]
Verifier: Update error message for opaque pointers

23 months agoVerifier: Check ifunc resolver functions return a pointer
Matt Arsenault [Wed, 23 Nov 2022 22:33:27 +0000 (17:33 -0500)]
Verifier: Check ifunc resolver functions return a pointer

Clang and gcc both reject trying to use ifunc with a function which
doesn't return a pointer type. Some opaque pointer tests were using
this, apparently by accident.

23 months agollvm-reduce: Fix producing invalid reductions on ifunc
Matt Arsenault [Tue, 22 Nov 2022 21:31:43 +0000 (16:31 -0500)]
llvm-reduce: Fix producing invalid reductions on ifunc

23 months agoJumpThreading: Modernize some test checking
Matt Arsenault [Sun, 27 Nov 2022 16:42:45 +0000 (11:42 -0500)]
JumpThreading: Modernize some test checking

Stop using tests with grep, or no output checks at all. Just use
FileCheck and generate checks. Also remove unnecessary requires
asserts.

23 months ago[X86] Remove unnecessary VBLENDWYrr overrides
Simon Pilgrim [Sun, 27 Nov 2022 16:54:39 +0000 (16:54 +0000)]
[X86] Remove unnecessary VBLENDWYrr overrides

The znver2 override already matched the WriteBlendY class exactly, and the znver1 override wasn't accounting for ymm double-pumping.

Found with the help of D138359

23 months ago[Docs] Mention to add RUN line before running script to generate assertion
Shivam Gupta [Sun, 27 Nov 2022 15:43:03 +0000 (21:13 +0530)]
[Docs] Mention to add RUN line before running script to generate assertion

23 months ago[X86] Add test coverage for Issue #59217
Simon Pilgrim [Sun, 27 Nov 2022 16:37:17 +0000 (16:37 +0000)]
[X86] Add test coverage for Issue #59217

23 months agoJumpThreading: Convert tests to -passes
Matt Arsenault [Sun, 27 Nov 2022 16:18:35 +0000 (11:18 -0500)]
JumpThreading: Convert tests to -passes

23 months agoJumpThreading: Convert tests to opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 16:12:33 +0000 (11:12 -0500)]
JumpThreading: Convert tests to opaque pointers

phi-known.ll:test2 required deleting one manual check for a bitcast

Also strip trailing whitespace while we're touching everything.

23 months ago[X86] Fix uops counts for SLM extract/extract-store instructions
Simon Pilgrim [Sun, 27 Nov 2022 16:16:36 +0000 (16:16 +0000)]
[X86] Fix uops counts for SLM extract/extract-store instructions

Matches Intel AoM + Agner

23 months agoScalarizer: Fix fragile test of constant pointer
Matt Arsenault [Sun, 27 Nov 2022 15:48:25 +0000 (10:48 -0500)]
Scalarizer: Fix fragile test of constant pointer

It was using a bitcast instruction of a global to test a constant
pointer. After the opaquify script, the test would fold away to
nothing. Add some return uses, and try to test constant base pointers
more meaningfully.

23 months agoCodeGenPrepare: Don't use anonymous values some in tests
Matt Arsenault [Sun, 27 Nov 2022 15:30:37 +0000 (10:30 -0500)]
CodeGenPrepare: Don't use anonymous values some in tests

These are always an obstacle to test updates, and often break after
running opaquify scripts on them.

23 months agoX86: Make test check more precise
Matt Arsenault [Sun, 27 Nov 2022 15:17:38 +0000 (10:17 -0500)]
X86: Make test check more precise

This is really checking an i8*, not an i8.

23 months agoCodeGenPrepare: Don't use undef base pointers in addressing mode test
Matt Arsenault [Sun, 27 Nov 2022 15:15:31 +0000 (10:15 -0500)]
CodeGenPrepare: Don't use undef base pointers in addressing mode test

This broke after the opaquify script.

23 months agoSeparateConstOffsetFromGEP: Switch tests to use -passes
Matt Arsenault [Sun, 27 Nov 2022 14:55:40 +0000 (09:55 -0500)]
SeparateConstOffsetFromGEP: Switch tests to use -passes

23 months agoUtils: Fix assume builder test using old name of null_pointer_is_valid
Matt Arsenault [Sat, 26 Nov 2022 20:56:26 +0000 (15:56 -0500)]
Utils: Fix assume builder test using old name of null_pointer_is_valid

Presumably this hasn't been testing the right thing since the
attribute was moved from a string attribute.

23 months ago[lld/mac] Covert start-lib.s test to use qualified paths instead of `cd %t`
Nico Weber [Sun, 27 Nov 2022 15:00:30 +0000 (10:00 -0500)]
[lld/mac] Covert start-lib.s test to use qualified paths instead of `cd %t`

Makes it easier to paste failing RUN lines to run them manually.
No behavior change.

23 months agoUtils: Don't use anonymous values in test
Matt Arsenault [Sat, 26 Nov 2022 20:49:50 +0000 (15:49 -0500)]
Utils: Don't use anonymous values in test

These interefered with opaque pointer conversion

23 months agoHotColdSplit: Don't use anonymous values in test
Matt Arsenault [Sat, 26 Nov 2022 22:45:32 +0000 (17:45 -0500)]
HotColdSplit: Don't use anonymous values in test

These were interfering with the conversion to opaque pointers

23 months agoSampleProfile: Don't use anonymous values in test
Matt Arsenault [Sun, 27 Nov 2022 14:40:00 +0000 (09:40 -0500)]
SampleProfile: Don't use anonymous values in test

These interfered with converting the test to opaque pointers.

23 months agoIndirectCallPromotion: Fix illegal promotion with opaque pointers
Matt Arsenault [Sun, 27 Nov 2022 14:23:21 +0000 (09:23 -0500)]
IndirectCallPromotion: Fix illegal promotion with opaque pointers

This was doing a type check on the argument types and skipping all
other safety checks if they matched.

23 months ago[AVR] Remove unused register scavenger
Ayke van Laethem [Wed, 23 Nov 2022 17:18:07 +0000 (18:18 +0100)]
[AVR] Remove unused register scavenger

The LPMW/ELPMW instruction can be modified to use an earlyclobber, which
prevents it from using the Z register as an output register.

Also see: https://reviews.llvm.org/D131844

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

23 months ago[AVR] Add $ separator string (like avr-gcc)
Ayke van Laethem [Wed, 23 Nov 2022 01:10:22 +0000 (02:10 +0100)]
[AVR] Add $ separator string (like avr-gcc)

avr-gcc uses the $ symbol as an assembly separator instead of the more
common %% syntax. We need it in LLVM too to be compatible.

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

23 months ago[AVR] Fix broken bitcast for aliases in non-zero address space
Ayke van Laethem [Thu, 24 Nov 2022 19:24:36 +0000 (20:24 +0100)]
[AVR] Fix broken bitcast for aliases in non-zero address space

This was triggered by some code in picolibc. The minimal version looks
like this:

    double infinity(void) {
       return 5;
    }

    extern long double infinityl() __attribute__((__alias__("infinity")));

These two declarations have a different type (not because of the 'long
double', which is also 'double' in IR, but because infinityl has
variadic parameters). This led to a crash in the bitcast which assumed
address space 0.

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