File tree Expand file tree Collapse file tree 1 file changed +5
-0
lines changed
llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes Expand file tree Collapse file tree 1 file changed +5
-0
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ namespace llvm::sandboxir {
26
26
class BottomUpVec final : public FunctionPass {
27
27
bool Change = false ;
28
28
std::unique_ptr<LegalityAnalysis> Legality;
29
+ // / The original instructions that are potentially dead after vectorization.
29
30
DenseSet<Instruction *> DeadInstrCandidates;
30
31
// / Maps scalars to vectors.
31
32
std::unique_ptr<InstrMaps> IMaps;
@@ -40,6 +41,10 @@ class BottomUpVec final : public FunctionPass {
40
41
Value *createShuffle (Value *VecOp, const ShuffleMask &Mask);
41
42
// / Packs all elements of \p ToPack into a vector and returns that vector.
42
43
Value *createPack (ArrayRef<Value *> ToPack);
44
+ // / After we create vectors for groups of instructions, the original
45
+ // / instructions are potentially dead and may need to be removed. This
46
+ // / function helps collect these instructions (along with the pointer operands
47
+ // / for loads/stores) so that they can be cleaned up later.
43
48
void collectPotentiallyDeadInstrs (ArrayRef<Value *> Bndl);
44
49
// / Recursively try to vectorize \p Bndl and its operands.
45
50
Value *vectorizeRec (ArrayRef<Value *> Bndl, unsigned Depth);
You can’t perform that action at this time.
0 commit comments