Skip to content

Add Automatic SSR Inference#28

Open
ThomasRupf wants to merge 53 commits intopulp-platform:mainfrom
ThomasRupf:main
Open

Add Automatic SSR Inference#28
ThomasRupf wants to merge 53 commits intopulp-platform:mainfrom
ThomasRupf:main

Conversation

@ThomasRupf
Copy link

General

For compilation flags, see readme.
Note that SSR inference uses the new pass manager, which is invoked with -fexperimental-new-pass-manager in Clang.

Files

Optimisation Pipeline

File Purpose
llvm/lib/Transforms/SSR/SSRInferencePass.cpp (and header) main pass (inserted into pipeline)
llvm/lib/Transforms/SSR/SSRGenerationPass.cpp (and header) code generation pass
llvm/lib/Analysis/AffineAccessAnalysis.cpp (and header) analysis that finds square affine access patterns

RISC-V Backend

All in llvm/lib/Target/RISC-V (no header files)

File Purpose
RISCVExpandSSRInstsPostRegAlloc.cpp expands push/pop pseudo instructions after reg-alloc

Not scheduled in pipeline

File Purpose
RISCVSSRReassociate.cpp experimental reassociation pass
RISCVSSRStatistics.cpp count number of load/store push/pop per loop
Snitch/SNITCHAutoFrep.cpp see "autofrep" paragraph in thesis

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant