summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/VPlanTransforms.h
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2019-12-07 08:52:36 +0000
committerFlorian Hahn <flo@fhahn.com>2019-12-07 08:56:35 +0000
commite60b36cf92e1570284482eddb2eac3652e28c2eb (patch)
tree22ea32b378b8bcb8bab7ad0d96a9bfc3b627a6fc /llvm/lib/Transforms/Vectorize/VPlanTransforms.h
parent884351547da27e76e14bef5fe20c3e3cb0e89acd (diff)
downloadbcm5719-llvm-e60b36cf92e1570284482eddb2eac3652e28c2eb.tar.gz
bcm5719-llvm-e60b36cf92e1570284482eddb2eac3652e28c2eb.zip
[VPlan] Rename VPlanHCFGTransforms to VPlanTransforms (NFC).
The file is intended to gather various VPlan transformations, not only CFG related transforms. Actually, the only transformation there is not CFG related. Reviewers: Ayal, gilr, hsaito, rengolin Reviewed By: gilr Differential Revision: https://reviews.llvm.org/D70732
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/VPlanTransforms.h')
-rw-r--r--llvm/lib/Transforms/Vectorize/VPlanTransforms.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Vectorize/VPlanTransforms.h b/llvm/lib/Transforms/Vectorize/VPlanTransforms.h
new file mode 100644
index 00000000000..0d3bd7da09a
--- /dev/null
+++ b/llvm/lib/Transforms/Vectorize/VPlanTransforms.h
@@ -0,0 +1,35 @@
+//===- VPlanTransforms.h - Utility VPlan to VPlan transforms --------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// This file provides utility VPlan to VPlan transformations.
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TRANSFORMS_VECTORIZE_VPLANTRANSFORMS_H
+#define LLVM_TRANSFORMS_VECTORIZE_VPLANTRANSFORMS_H
+
+#include "VPlan.h"
+#include "llvm/IR/Instruction.h"
+#include "llvm/Transforms/Vectorize/LoopVectorizationLegality.h"
+
+namespace llvm {
+
+class VPlanTransforms {
+
+public:
+ /// Replaces the VPInstructions in \p Plan with corresponding
+ /// widen recipes.
+ static void VPInstructionsToVPRecipes(
+ Loop *OrigLoop, VPlanPtr &Plan,
+ LoopVectorizationLegality::InductionList *Inductions,
+ SmallPtrSetImpl<Instruction *> &DeadInstructions);
+};
+
+} // namespace llvm
+
+#endif // LLVM_TRANSFORMS_VECTORIZE_VPLANTRANSFORMS_H
OpenPOWER on IntegriCloud