Skip to content

Commit

Permalink
[Polly] Fix typos discovered by codespell (#124545)
Browse files Browse the repository at this point in the history
Patch created using the following command line:
```bash
codespell polly --skip="*.pdf,polly/lib/External/*" --write-changes \
  --ignore-words-list=couter,createor,distribues,doble,identty,indention,indx,olt,ore,padd,sais,te,theses
```
  • Loading branch information
cclauss authored Jan 27, 2025
1 parent 62340ff commit 5aafc6d
Show file tree
Hide file tree
Showing 50 changed files with 60 additions and 60 deletions.
2 changes: 1 addition & 1 deletion polly/docs/Architecture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ executed in the so-called **Inliner cycle**, This is again a set of **Scalar
Simplification** passes, a set of **Simple Loop Optimizations**, and the
**Inliner** itself. Even though these passes make up the majority of the LLVM
pass pipeline, the primary goal of these passes is still canonicalization
without loosing semantic information that complicates later analysis. As part of
without losing semantic information that complicates later analysis. As part of
the inliner cycle, the LLVM inliner step-by-step tries to inline functions, runs
canonicalization passes to exploit newly exposed simplification opportunities,
and then tries to inline the further simplified functions. Some simple loop
Expand Down
4 changes: 2 additions & 2 deletions polly/docs/doxygen.cfg.in
Original file line number Diff line number Diff line change
Expand Up @@ -1066,7 +1066,7 @@ HTML_STYLESHEET =
# defined cascading style sheet that is included after the standard style sheets
# created by doxygen. Using this option one can overrule certain style aspects.
# This is preferred over using HTML_STYLESHEET since it does not replace the
# standard style sheet and is therefor more robust against future updates.
# standard style sheet and is therefore more robust against future updates.
# Doxygen will copy the style sheet file to the output directory. For an example
# see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
Expand Down Expand Up @@ -1950,7 +1950,7 @@ PREDEFINED =
EXPAND_AS_DEFINED =

# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
# remove all refrences to function-like macros that are alone on a line, have an
# remove all references to function-like macros that are alone on a line, have an
# all uppercase name, and do not end with a semicolon. Such function macros are
# typically used for boiler-plate code, and will confuse the parser if not
# removed.
Expand Down
2 changes: 1 addition & 1 deletion polly/include/polly/CodeGen/RuntimeDebugBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ struct RuntimeDebugBuilder {

/// Call fflush
///
/// @parma Builder The builder used to insert the code.
/// @param Builder The builder used to insert the code.
static void createFlush(PollyIRBuilder &Builder);
};
} // namespace polly
Expand Down
4 changes: 2 additions & 2 deletions polly/include/polly/DependenceInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ struct DependenceAnalysis final : public AnalysisInfoMixin<DependenceAnalysis> {

/// Invalidate the dependence information and recompute it when needed
/// again.
/// May be required when the underlaying Scop was changed in a way that
/// May be required when the underlying Scop was changed in a way that
/// would add new dependencies (e.g. between new statement instances
/// insierted into the SCoP) or intentionally breaks existing ones. It is
/// not required when updating the schedule that conforms the existing
Expand Down Expand Up @@ -251,7 +251,7 @@ class DependenceInfo final : public ScopPass {
const Dependences &recomputeDependences(Dependences::AnalysisLevel Level);

/// Invalidate the dependence information and recompute it when needed again.
/// May be required when the underlaying Scop was changed in a way that would
/// May be required when the underlying Scop was changed in a way that would
/// add new dependencies (e.g. between new statement instances insierted into
/// the SCoP) or intentionally breaks existing ones. It is not required when
/// updating the schedule that conforms the existing dependencies.
Expand Down
2 changes: 1 addition & 1 deletion polly/include/polly/ScopInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -1494,7 +1494,7 @@ class ScopStmt final {
/// @param Access The access to add.
/// @param Prepend If true, will add @p Access before all other instructions
/// (instead of appending it).
void addAccess(MemoryAccess *Access, bool Preprend = false);
void addAccess(MemoryAccess *Access, bool Prepend = false);

/// Remove a MemoryAccess from this statement.
///
Expand Down
2 changes: 1 addition & 1 deletion polly/include/polly/Support/SCEVAffinator.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class SCEVAffinator final : public llvm::SCEVVisitor<SCEVAffinator, PWACtx> {
/// Check an <nsw> AddRec for the loop @p L is cached.
bool hasNSWAddRecForLoop(llvm::Loop *L) const;

/// Return the LoopInfo used by thi object.
/// Return the LoopInfo used by the object.
llvm::LoopInfo *getLI() const { return &LI; }

private:
Expand Down
4 changes: 2 additions & 2 deletions polly/include/polly/Support/ScopHelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ using RecordedAssumptionsTy = llvm::SmallVector<Assumption, 8>;
///
/// This function will add the assumption to the RecordedAssumptions. This
/// collection will be added (@see addAssumption) to the assumed context once
/// all paramaters are known and the context is fully built.
/// all parameters are known and the context is fully built.
///
/// @param RecordedAssumption container which keeps all recorded assumptions.
/// @param Kind The assumption kind describing the underlying cause.
Expand Down Expand Up @@ -132,7 +132,7 @@ using BoxedLoopsSetTy = llvm::SetVector<const llvm::Loop *>;
/// isNull(), isInstruction(), isLoad(), isStore(), ..., isMemTransferInst(),
/// operator bool(), operator!()
///
/// The functions isa, cast, cast_or_null, dyn_cast are modeled te resemble
/// The functions isa, cast, cast_or_null, dyn_cast are modeled to resemble
/// those from llvm/Support/Casting.h. Partial template function specialization
/// is currently not supported in C++ such that those cannot be used directly.
/// (llvm::isa could, but then llvm:cast etc. would not have the expected
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/Analysis/ScopBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2522,7 +2522,7 @@ combineReductionType(MemoryAccess::ReductionType RT0,
return MemoryAccess::RT_NONE;
}

/// True if @p AllAccs intersects with @p MemAccs execpt @p LoadMA and @p
/// True if @p AllAccs intersects with @p MemAccs except @p LoadMA and @p
/// StoreMA
bool hasIntersectingAccesses(isl::set AllAccs, MemoryAccess *LoadMA,
MemoryAccess *StoreMA, isl::set Domain,
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/Analysis/ScopDetectionDiagnostic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ static Statistic RejectStatistics[] = {
SCOP_STAT(LoopOnlySomeLatches, "Not all loop latches in scop"),
SCOP_STAT(FuncCall, "Function call with side effects"),
SCOP_STAT(NonSimpleMemoryAccess,
"Compilated access semantics (volatile or atomic)"),
"Complicated access semantics (volatile or atomic)"),
SCOP_STAT(Alias, "Base address aliasing"),
SCOP_STAT(Other, ""),
SCOP_STAT(IntToPtr, "Integer to pointer conversions"),
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/CodeGen/IslNodeBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1159,7 +1159,7 @@ bool IslNodeBuilder::preloadInvariantEquivClass(
// For an equivalence class of invariant loads we pre-load the representing
// element with the unified execution context. However, we have to map all
// elements of the class to the one preloaded load as they are referenced
// during the code generation and therefor need to be mapped.
// during the code generation and therefore need to be mapped.
const MemoryAccessList &MAs = IAClass.InvariantAccesses;
if (MAs.empty())
return true;
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/CodeGen/Utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ static BasicBlock *splitEdge(BasicBlock *Prev, BasicBlock *Succ,
// llvm::SplitCriticalEdge is more efficient than
// llvm::SplitBlockPredecessors, which is more general. In the future we might
// either modify llvm::SplitCriticalEdge to allow skipping the critical edge
// check; or Copy&Pase it here.
// check; or Copy&Paste it here.
BasicBlock *MiddleBlock = SplitBlockPredecessors(
Succ, ArrayRef<BasicBlock *>(Prev), Suffix, DT, LI);

Expand Down
2 changes: 1 addition & 1 deletion polly/lib/Support/SCEVAffinator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ PWACtx SCEVAffinator::visitUDivExpr(const SCEVUDivExpr *Expr) {
}

// TODO: One can represent the dividend as piece-wise function to be more
// precise but therefor a heuristic is needed.
// precise but therefore a heuristic is needed.

// Assume a non-negative dividend.
takeNonNegativeAssumption(DividendPWAC, RecordedAssumptions);
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/Support/ScopHelper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ struct ScopExpander final : SCEVVisitor<ScopExpander, const SCEV *> {

// FIXME: This emits a SCEV for GenSE (since GenLRepl will refer to the
// induction variable of a generated loop), so we should not use SCEVVisitor
// with it. Howver, it still contains references to the SCoP region.
// with it. However, it still contains references to the SCoP region.
return visit(Evaluated);
}
///}
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/Transform/DeLICM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1290,7 +1290,7 @@ class DeLICMImpl final : public ZoneAlgorithm {
continue;
}

// Check for more than one element acces per statement instance.
// Check for more than one element access per statement instance.
// Currently we expect write accesses to be functional, eg. disallow
//
// { Stmt[0] -> [i] : 0 <= i < 2 }
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/Transform/ManualOptimizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ class SearchTransformVisitor final
// transformed in innermost-first order.
isl::schedule Result;

/// Check wether a schedule after a transformation is legal. Return the old
/// Check whether a schedule after a transformation is legal. Return the old
/// schedule without the transformation.
isl::schedule
checkDependencyViolation(llvm::MDNode *LoopMD, llvm::Value *CodeRegion,
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/Transform/MatmulOptimizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1759,7 +1759,7 @@ static bool isTCPattern(isl::schedule_node Node, const Dependences *D,
//
// For example, this covers the matrix multiplication pattern after a full
// run of -polly-optree and -polly-delicm, where the write access is not
// through the original memory access, but trough a PHI node that was
// through the original memory access, but through a PHI node that was
// delicmed. Subsequently, such band nodes will be replaced by a single band
// node.
//
Expand Down
2 changes: 1 addition & 1 deletion polly/lib/Transform/ScheduleOptimizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -771,7 +771,7 @@ static void runIslScheduleOptimizer(
return;
}

// Apply ISL's algorithm only if not overriden by the user. Note that
// Apply ISL's algorithm only if not overridden by the user. Note that
// post-rescheduling optimizations (tiling, pattern-based, prevectorization)
// rely on the coincidence/permutable annotations on schedule tree bands that
// are added by the rescheduling analyzer. Therefore, disabling the
Expand Down
8 changes: 4 additions & 4 deletions polly/lib/Transform/ScheduleTreeTransform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -572,13 +572,13 @@ class BandCollapseRewriter final
isl::schedule_node_band Band = RootBand;
isl::ctx Ctx = Band.ctx();

// Do not merge permutable band to avoid loosing the permutability property.
// Do not merge permutable band to avoid losing the permutability property.
// Cannot collapse even two permutable loops, they might be permutable
// individually, but not necassarily across.
if (unsignedFromIslSize(Band.n_member()) > 1u && Band.permutable())
return getBase().visitBand(Band);

// Find collapsable bands.
// Find collapsible bands.
SmallVector<isl::schedule_node_band> Nest;
int NumTotalLoops = 0;
isl::schedule_node Body;
Expand Down Expand Up @@ -884,10 +884,10 @@ class GreedyFusionRewriter final
collectPotentiallyFusableBands(Child, Bands, Child);
}

// Direct children that had at least one of its decendants fused.
// Direct children that had at least one of its descendants fused.
SmallDenseSet<isl_schedule_node *, 4> ChangedDirectChildren;

// Fuse neigboring bands until reaching the end of candidates.
// Fuse neighboring bands until reaching the end of candidates.
int i = 0;
while (i + 1 < (int)Bands.size()) {
isl::schedule Fused =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; This test checks that we do not accidently mutate the debug info when
; This test checks that we do not accidentally mutate the debug info when
; inserting loop parallel metadata.
; RUN: opt %loadNPMPolly < %s -S -polly -passes=polly-codegen -polly-ast-detect-parallel | FileCheck %s
; CHECK-NOT: !7 = !{!7}
Expand Down
2 changes: 1 addition & 1 deletion polly/test/CodeGen/multiple-codegens.ll
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
; RegionPassManager. -polly-codegen must not reuse the -polly-ast analysis the
; was created for the first -polly-scops pass.
; The current solution is that only the first -polly-codegen is allowed to
; generate code, the second detects it is re-using an IslAst that belongs to a
; generate code, the second detects it is reusing an IslAst that belongs to a
; different ScopInfo.
;
; int a, b, c;
Expand Down
2 changes: 1 addition & 1 deletion polly/test/CodeGen/multiple-scops-in-a-row.ll
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

; We explicitly check here that the second scop is not code generated. Later
; improvements may make this possible (e.g., Polly gaining support for
; parameteric conditional expressions or a changed code generation order).
; parametric conditional expressions or a changed code generation order).
; However, in case this happens, we want to ensure this test case is been
; reasoned about and updated accordingly.

Expand Down
2 changes: 1 addition & 1 deletion polly/test/CodeGen/reduction_2.ll
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ if.end: ; preds = %if.then, %for.end
declare void @llvm.memset.p0.i64(ptr nocapture, i8, i64, i32, i1) nounwind

; This is a negative test. We can prove that RED[0] in the conditional after
; the loop is dereferencable and consequently expand the SCoP from the
; the loop is dereferenceable and consequently expand the SCoP from the
; loop to include the conditional. However, during SCoP generation we realize
; that, while RED[0] is invariant, it is written to as part of the same scop
; and can consequently not be hoisted. Hence, we invalidate the scop.
Expand Down
2 changes: 1 addition & 1 deletion polly/test/CodeGen/scalar-store-from-same-bb.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
; RUN: -passes=polly-codegen -S < %s | FileCheck %s

; This test ensures that the expression N + 1 that is stored in the phi-node
; alloca, is directly computed and not incorrectly transfered through memory.
; alloca, is directly computed and not incorrectly transferred through memory.

; CHECK: store i64 [[REG:%.*]], ptr %res.phiops
; CHECK: [[REG]] = add i64 %N, 1
Expand Down
2 changes: 1 addition & 1 deletion polly/test/CodeGen/test-invalid-operands-for-select.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
;
; Check that we do not crash as described here: http://llvm.org/PR21167
;
; In case the pieceweise affine function used to create an isl_ast_expr
; In case the piecewise affine function used to create an isl_ast_expr
; had empty cases (e.g., with contradicting constraints on the
; parameters), it was possible that the condition of the isl_ast_expr
; select was not a comparison but a constant (thus of type i64).
Expand Down
2 changes: 1 addition & 1 deletion polly/test/DeLICM/load-in-cond-inf-loop.ll
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; RUN: opt %loadNPMPolly '-passes=print<polly-delicm>' -disable-output < %s | FileCheck %s

; When %b is 0, %for.body13 is an infite loop. In this case the loaded
; When %b is 0, %for.body13 is an infinite loop. In this case the loaded
; value %1 is not used anywhere.
; This is a problem when DeLICM tries to map %1 to %arrayidx16 because
; %1 has no corresponding when %b == 0 and therefore hat no location
Expand Down
2 changes: 1 addition & 1 deletion polly/test/DeLICM/pr41656.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
;
; This test case has an InvalidContext such that part of the predecessors
; of for.body.us.i lie within the invalid context. This causes a
; consistency check withing the invalid context of PR41656 to fail.
; consistency check within the invalid context of PR41656 to fail.
;
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"

Expand Down
2 changes: 1 addition & 1 deletion polly/test/DeLICM/pr48783.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
;
; PHI predecessors of statement instances can only be reliably derived in defined behaviour situations. In this case, the inner loop's counter would overflow when its upper bound (%call24) is lower than its lower bound (2). However, due to the nsw flag, this would be undefined behavior and therefore not added to any runtime-check context, but to the defined-behaviour context.
;
; Dereived from test case pr41656.ll
; Derived from test case pr41656.ll
;
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"

Expand Down
2 changes: 1 addition & 1 deletion polly/test/DeLICM/reject_outofquota.ll
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ return:
; CHECK: maximal number of operations exceeded during zone analysis

; Check that even if the quota was exceeded in DeLICM, DependenceInfo is still
; successfull since it uses a different operations counter.
; successful since it uses a different operations counter.
;
; DEP: RAW dependences:
; DEP-NOT: n/a
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print<polly-ast>' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s
;
; Verify that the outer dimension doesnt't carry reduction dependences
; Verify that the outer dimension doesn't carry reduction dependences
;
; CHECK-NOT:#pragma known-parallel reduction
; CHECK: #pragma known-parallel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print<polly-ast>' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s
;
; Verify that the outer dimension doesnt't carry reduction dependences
; Verify that the outer dimension doesn't carry reduction dependences
;
; CHECK-NOT:#pragma known-parallel reduction
; CHECK: #pragma known-parallel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print<polly-ast>' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s
;
; Verify that the outer dimension doesnt't carry reduction dependences
; Verify that the outer dimension doesn't carry reduction dependences
;
; CHECK-NOT:#pragma known-parallel reduction
; CHECK: #pragma known-parallel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

; Check that the pattern matching detects the matrix multiplication pattern
; after a full run of -polly-optree and -polly-delicm, where the write access
; is not through the original memory access, but trough a PHI node that was
; is not through the original memory access, but through a PHI node that was
; delicmed. This test covers the polybench 2mm and 3mm cases.
;
; This test case generates the following schedule, which contains filters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
;
; Check that the pattern matching detects the tensor contraction pattern
; after a full run of -polly-delicm. This test case generates the following
; schedule, which contans two band nodes. Without DeLICM two statement are
; schedule, which contains two band nodes. Without DeLICM two statement are
; generated.
;
; domain: "{ Stmt5[i0, i1, i2, i3, i4, i5] : 0 <= i0 <= 31 and 0 <= i1 <= 31 and
Expand Down
2 changes: 1 addition & 1 deletion polly/test/ScopDetect/scev_remove_max.ll
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; RUN: opt %loadNPMPolly '-passes=print<polly-detect>' < %s

; This test case helps to determine wether SCEVRemoveMax::remove produces
; This test case helps to determine whether SCEVRemoveMax::remove produces
; an infinite loop and a segmentation fault, if it processes, for example,
; '((-1 + (-1 * %b1)) umax {(-1 + (-1 * %yStart)),+,-1}<%.preheader>)'.
;
Expand Down
2 changes: 1 addition & 1 deletion polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
; XFAIL: *

; The test case stopped making sense after r310940 that added infinite loops to
; the PostDominatorTree. Infinite loops are postdominated ony by the virtual
; the PostDominatorTree. Infinite loops are postdominated only by the virtual
; root, which causes them not to appear in regions in ScopDetection anymore.

; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" -polly-allow-nonaffine-loops '-passes=print<polly-detect>' -disable-output < %s 2>&1 | FileCheck %s
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops '-passes=print<polly-detect>,print<polly-function-scops>' -disable-output < %s 2>&1 | FileCheck %s
; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -polly-unprofitable-scalar-accs=true -polly-process-unprofitable=false '-passes=print<polly-detect>,print<polly-function-scops>' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT
;
; Verify that we over approximate the read acces of A[j] in the last statement as j is
; Verify that we over approximate the read access of A[j] in the last statement as j is
; computed in a non-affine loop we do not model.
;
; CHECK: Function: f
Expand Down
2 changes: 1 addition & 1 deletion polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
; CODE-RTC-NEXT: br i1 %{{[a-zA-Z0-9\.]*}}, label %polly.preload.exec, label %polly.preload.merge

; Check that we don't generate a runtime check because we treat all
; parameters as dereferencable.
; parameters as dereferenceable.
; CODE-NOT: polly.preload.cond: ; preds = %polly.preload.begin
; CODE-NOT: br i1 %{{r1:[a-zA-Z0-9]*}}, label %polly.preload.exec, label %polly.preload.merge

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
; RUN: opt %loadNPMPolly '-passes=print<polly-function-scops>' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s
;
; Verify that we only have one parameter and one invariant load for all
; three loads that occure in the region but actually access the same
; three loads that occur in the region but actually access the same
; location. Also check that the execution context is the most generic
; one, e.g., here the universal set.
;
Expand Down
Loading

0 comments on commit 5aafc6d

Please sign in to comment.