Commits on Source (6)
-
Rodrigo Mesquita authored
See Note [Deterministic Uniques in the NCG] UniqDSM det uniques + use in Cmm.Info Now for SRTs SRT generation using deterministic uniq supply Back LabelMap with deterministic UDFM TSAN uniq rename hard Revert "TSAN uniq rename hard" This reverts commit 7ca5ab30. improvements to uniqdsm UniqDSM ProcPoint CmmLayoutStack UniqDet 90% of cpsTop UniqDSM Major progress in using UniqDSM in CmmToAsm and Ncg backends Fix imports Un-back label map with udfm Revert "Un-back label map with udfm" This reverts commit f5d2e4257214a3f7b7d845651e6662c5babfd6a3. Make UDSM oneshot deriving via state Fix -fllvm hang
Verified789ab550 -
Rodrigo Mesquita authored
See Note [Object determinism] and Note [Renaming uniques deterministically] Remame uniques straight off stgtocmm, before cmm pipeline WIP Progress Work around LLVM assembler bug! In a really stupid way) Fix ordering of CLabels for IdLabels Local test script tweaks Do uniq renaming before SRTs Revert "Do uniq renaming before SRTs" This reverts commit db38b635. Do on CmmGroup Do uniq-renaming pass right at `codeGen` not better Revert "Do uniq-renaming pass right at `codeGen`" This reverts commit 74e9068a. Reapply "Do uniq renaming before SRTs" This reverts commit 682f8973. Try ALSO after SRT Revert "Try ALSO after SRT" This reverts commit c5dd7b42. Renaming before and after SRTs bc of procs and srts and ... Wait no that was way too slow... cleaner approach, same idea Put deterministic renaming behind a flag Fix Ord CLabel only compare externalNames UniqRnem fixes external names DCmmDecl UniqRenam Refactor ProfilingInfo to preserve Unique information before rendering it Rename Profiling Info now that names are preserved Revert "Rename Profiling Info now that names are preserved" This reverts commit 2dd3da96. Revert "Refactor ProfilingInfo to preserve Unique information before rendering it" This reverts commit 8aba0515. Performance tweaks Get rid of UniqRenamable class, do it directly Make sure graph is renamed first, info table last Turns out it does matter! Whitespace
Verified417c7937 -
Rodrigo Mesquita authored
See Note [DCmmGroup vs CmmGroup or: Deterministic Info Tables] and Note [Object determinism] cmm: Back LabelMap with UDFM Use a deterministic unique map to back the implementation of `LabelMap`. This is necessary towards the goal of object code determinism in #12935. Our intended solution requires renaming uniques in a deterministic order (which will be the order in which they were created), but storing them label map makes us lose this order. Backing it with a UDFM fixes this issue. Introduce back LabelMap non deterministic Use NonDeterministic Label map in multiple passes (TODO: More could be available. Look through Det LabelMap uses again) Use NonDet for CFG More NonDet More explicit Introduce DCmmDecl, start Removing more maps
Verifiedc3dad666 -
Rodrigo Mesquita authored
This unique was leaking as part of the profiling description in info tables when profiling was enabled
Verified2e53ae13 -
Rodrigo Mesquita authoredVerified75901ed5
-
Rodrigo Mesquita authoredVerified3dc7d298
Showing
- compiler/GHC/Cmm.hs 87 additions, 8 deletionscompiler/GHC/Cmm.hs
- compiler/GHC/Cmm/BlockId.hs 7 additions, 3 deletionscompiler/GHC/Cmm/BlockId.hs
- compiler/GHC/Cmm/CLabel.hs 40 additions, 0 deletionscompiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Cmm/Dataflow.hs 11 additions, 11 deletionscompiler/GHC/Cmm/Dataflow.hs
- compiler/GHC/Cmm/Dataflow/Graph.hs 21 additions, 20 deletionscompiler/GHC/Cmm/Dataflow/Graph.hs
- compiler/GHC/Cmm/Graph.hs 6 additions, 6 deletionscompiler/GHC/Cmm/Graph.hs
- compiler/GHC/Cmm/Info.hs 26 additions, 19 deletionscompiler/GHC/Cmm/Info.hs
- compiler/GHC/Cmm/Info/Build.hs 18 additions, 13 deletionscompiler/GHC/Cmm/Info/Build.hs
- compiler/GHC/Cmm/LayoutStack.hs 24 additions, 18 deletionscompiler/GHC/Cmm/LayoutStack.hs
- compiler/GHC/Cmm/Opt.hs 10 additions, 12 deletionscompiler/GHC/Cmm/Opt.hs
- compiler/GHC/Cmm/Parser.y 2 additions, 2 deletionscompiler/GHC/Cmm/Parser.y
- compiler/GHC/Cmm/Pipeline.hs 44 additions, 41 deletionscompiler/GHC/Cmm/Pipeline.hs
- compiler/GHC/Cmm/ProcPoint.hs 7 additions, 7 deletionscompiler/GHC/Cmm/ProcPoint.hs
- compiler/GHC/Cmm/Reducibility.hs 6 additions, 6 deletionscompiler/GHC/Cmm/Reducibility.hs
- compiler/GHC/Cmm/Sink.hs 5 additions, 5 deletionscompiler/GHC/Cmm/Sink.hs
- compiler/GHC/Cmm/Switch.hs 6 additions, 1 deletioncompiler/GHC/Cmm/Switch.hs
- compiler/GHC/Cmm/Switch/Implement.hs 7 additions, 7 deletionscompiler/GHC/Cmm/Switch/Implement.hs
- compiler/GHC/Cmm/ThreadSanitizer.hs 2 additions, 1 deletioncompiler/GHC/Cmm/ThreadSanitizer.hs
- compiler/GHC/Cmm/UniqueRenamer.hs 252 additions, 0 deletionscompiler/GHC/Cmm/UniqueRenamer.hs
- compiler/GHC/CmmToAsm.hs 42 additions, 40 deletionscompiler/GHC/CmmToAsm.hs
compiler/GHC/Cmm/UniqueRenamer.hs
0 → 100644