Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
6e592c9
Baby steps. Writing out some graphs.
computerdisciple Sep 28, 2025
9e3600f
Implemented basic hashing.
computerdisciple Sep 30, 2025
1a88f78
Rerouted hashes along gamme edges.
computerdisciple Sep 30, 2025
daeaa0a
Minor changes to coloring and added delims for sub-regions.
computerdisciple Oct 1, 2025
bad009f
Renamed some methods and fields to follow naming convention.
computerdisciple Oct 3, 2025
19795ee
Merge branch 'pre'
computerdisciple Oct 3, 2025
5d915a1
Refactored hash into a separate class for convenience.
computerdisciple Oct 4, 2025
5e98e1d
Refactored hash into a separate class for convenience.
computerdisciple Oct 4, 2025
dfe5e4e
Save before delete flow draft
computerdisciple Oct 5, 2025
8ac5ff9
Reactive data flows top down.
computerdisciple Oct 6, 2025
7740b59
Added gamma end
computerdisciple Oct 6, 2025
cabe00c
Added theta node to flows
computerdisciple Oct 7, 2025
ea8e378
Added binary op hasher back in
computerdisciple Oct 7, 2025
8ffe567
Added unary gvn op
computerdisciple Oct 7, 2025
6ea5c1b
Removed flow data from cb args.
computerdisciple Oct 7, 2025
e46d6b4
Improved code layout.
computerdisciple Oct 7, 2025
d503107
Trivial changes
computerdisciple Oct 7, 2025
048071e
Added call op
computerdisciple Oct 7, 2025
07b96a2
Fixed bug in FlowData
computerdisciple Oct 7, 2025
041b7df
Removed commented out code and added comments.
computerdisciple Oct 7, 2025
9c192b0
Merge remote-tracking branch 'refs/remotes/origin/master'
computerdisciple Oct 7, 2025
ccca080
Compile check
computerdisciple Oct 7, 2025
c0c667a
Removed redundant loop.
computerdisciple Oct 7, 2025
3e5d596
First draft with Theta gvn possibly working.
computerdisciple Oct 7, 2025
637b702
Minor changes.
computerdisciple Oct 8, 2025
a177c99
Deleted some cout
computerdisciple Oct 16, 2025
90b7f72
Refactoring making gvn computing gvn dependencies from output ptr
computerdisciple Oct 19, 2025
83d47cf
New data flow style.
computerdisciple Oct 21, 2025
9163d80
Clean build
computerdisciple Oct 21, 2025
431bb37
Added leaf counting
computerdisciple Oct 21, 2025
c802a3d
Removed old code.
computerdisciple Oct 27, 2025
7ed6f79
Clean build
computerdisciple Oct 27, 2025
b4f4bf2
Integrated new gvn manager
computerdisciple Oct 27, 2025
51221f2
Changed visitors to methods.
computerdisciple Oct 27, 2025
169cdf9
Save before code removal
computerdisciple Oct 28, 2025
fe4d91e
Some refactoring.
computerdisciple Oct 28, 2025
065281b
Clean build
computerdisciple Oct 28, 2025
f164e31
Clean build
computerdisciple Oct 28, 2025
ca3314c
Theta gvn
computerdisciple Oct 28, 2025
2644386
Theta gvn
computerdisciple Oct 28, 2025
aacd6d0
Fixed bug where local should have been field.
computerdisciple Oct 28, 2025
a6a9ae6
Found bug in arithmetic
computerdisciple Oct 30, 2025
255c337
Working theta hash
computerdisciple Oct 31, 2025
a536bc5
Removed some debugging printing.
computerdisciple Oct 31, 2025
38808ca
Cleaned up some code
computerdisciple Oct 31, 2025
378d9a9
Checksum for inputs to prevent theta body reevaluation unless inputs …
computerdisciple Oct 31, 2025
b4dc2b7
Invariants treated as initial values when from outer loop.
computerdisciple Oct 31, 2025
1d381da
Fixed minor bug.
computerdisciple Nov 1, 2025
96efc34
Save before changes.
computerdisciple Nov 4, 2025
93147c6
Added finalization pass for thetas'
computerdisciple Nov 4, 2025
71969f5
Support for nested loops.
computerdisciple Nov 5, 2025
d6908fd
Merged.
computerdisciple Nov 5, 2025
fd5e59b
Factored out merging of values at loop entry.
computerdisciple Nov 5, 2025
94f96e7
Fixed some issues
computerdisciple Nov 11, 2025
3068e07
Trivial change
computerdisciple Nov 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions jlm/hls/Makefile.sub
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ libhls_SOURCES = \
jlm/hls/backend/rvsdg2rhls/alloca-conv.cpp \
jlm/hls/backend/rvsdg2rhls/check-rhls.cpp \
jlm/hls/backend/rvsdg2rhls/DeadNodeElimination.cpp \
jlm/hls/backend/rvsdg2rhls/PartialRedundancyElimination.cpp \
jlm/hls/backend/rvsdg2rhls/decouple-mem-state.cpp \
jlm/hls/backend/rvsdg2rhls/distribute-constants.cpp \
jlm/hls/backend/rvsdg2rhls/GammaConversion.cpp \
Expand Down Expand Up @@ -62,6 +63,7 @@ libhls_HEADERS = \
jlm/hls/backend/rvsdg2rhls/alloca-conv.hpp \
jlm/hls/backend/rvsdg2rhls/check-rhls.hpp \
jlm/hls/backend/rvsdg2rhls/DeadNodeElimination.hpp \
jlm/hls/backend/rvsdg2rhls/PartialRedundancyElimination.hpp \
jlm/hls/backend/rvsdg2rhls/decouple-mem-state.hpp \
jlm/hls/backend/rvsdg2rhls/distribute-constants.hpp \
jlm/hls/backend/rvsdg2rhls/GammaConversion.hpp \
Expand Down
4 changes: 4 additions & 0 deletions jlm/llvm/Makefile.sub
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,13 @@ libllvm_SOURCES = \
jlm/llvm/opt/alias-analyses/Steensgaard.cpp \
jlm/llvm/opt/CommonNodeElimination.cpp \
jlm/llvm/opt/DeadNodeElimination.cpp \
jlm/llvm/opt/gvn.cpp \
jlm/llvm/opt/IfConversion.cpp \
jlm/llvm/opt/inlining.cpp \
jlm/llvm/opt/InvariantValueRedirection.cpp \
jlm/llvm/opt/LoadChainSeparation.cpp \
jlm/llvm/opt/LoopUnswitching.cpp \
jlm/llvm/opt/PartialRedundancyElimination.cpp \
jlm/llvm/opt/PredicateCorrelation.cpp \
jlm/llvm/opt/pull.cpp \
jlm/llvm/opt/push.cpp \
Expand All @@ -84,6 +86,7 @@ libllvm_HEADERS = \
\
jlm/llvm/opt/unroll.hpp \
jlm/llvm/opt/DeadNodeElimination.hpp \
jlm/llvm/opt/gvn.hpp \
jlm/llvm/opt/inlining.hpp \
jlm/llvm/opt/CommonNodeElimination.hpp \
jlm/llvm/opt/push.hpp \
Expand Down Expand Up @@ -113,6 +116,7 @@ libllvm_HEADERS = \
jlm/llvm/opt/InvariantValueRedirection.hpp \
jlm/llvm/opt/LoadChainSeparation.hpp \
jlm/llvm/opt/LoopUnswitching.hpp \
jlm/llvm/opt/PartialRedundancyElimination.hpp \
jlm/llvm/opt/PredicateCorrelation.hpp \
jlm/llvm/opt/RvsdgTreePrinter.hpp \
jlm/llvm/opt/ScalarEvolution.hpp \
Expand Down
18 changes: 14 additions & 4 deletions jlm/llvm/ir/operators/MemoryStateOperations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,13 @@ MemoryStateMergeOperation::NormalizeSingleOperand(
const MemoryStateMergeOperation &,
const std::vector<rvsdg::Output *> & operands)
{
if (operands.size() == 1)
return operands;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Warray-bounds"
#pragma GCC diagnostic ignored "-Wstringop-overflow"
if (operands.size() == 1){
return {operands};
}
#pragma GCC diagnostic pop
Comment on lines +42 to +48
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Throw these pragmas out, please


return std::nullopt;
}
Expand Down Expand Up @@ -157,8 +162,13 @@ MemoryStateJoinOperation::NormalizeSingleOperand(
const MemoryStateJoinOperation &,
const std::vector<rvsdg::Output *> & operands)
{
if (operands.size() == 1)
return operands;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Warray-bounds"
#pragma GCC diagnostic ignored "-Wstringop-overflow"
if (operands.size() == 1){
return {operands};
}
#pragma GCC diagnostic pop
Comment on lines +165 to +171
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Throw these pragmas out, please.


return std::nullopt;
}
Expand Down
Loading
Loading