Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More general cloning #146

Merged
merged 5 commits into from
Aug 8, 2024
Merged

More general cloning #146

merged 5 commits into from
Aug 8, 2024

Conversation

sifislag
Copy link
Collaborator

@sifislag sifislag commented Aug 7, 2024

Cloner can work recursively cloning if a cloned block references another cloned block.
To achieved this cloned operations are now defined as recursive records:
.type CloneList = [pushStmt: Statement, blockToClone: Block, rest: CloneList]

Also made AbstractAscentingSorter parametrizable.

Results

viair-dec23

For has_output 0 not detected by config aug24-ir-clone4: set()                                       
For has_output 2 not detected by config aug24-ir-clone5: {'77720c143c6b9c3a7613e04ae230ea61', '373dd605affa18cac1a8c02db115d792'}                                                                          
                                                                                                     
ANALYTIC: decomp_time                                                                                
aug24-ir-clone4 (common): 25370.114812135696                                                         
aug24-ir-clone5 (common): 25537.83535528183 (+0.6611%)                                               
                                                                                                     
ANALYTIC: Analytics_JumpToMany                                                                       
aug24-ir-clone4 (common): 4181 (+2.677%)                                                             
aug24-ir-clone5 (common): 4072

ANALYTIC: Analytics_DeadBlocks                                                                       
aug24-ir-clone4 (common): 603 (+0.3328%)                                                             
aug24-ir-clone5 (common): 601                                                                        

ANALYTIC: Analytics_LocalBlockEdge                                                                   
aug24-ir-clone4 (common): 1823778 (-0.01409%)                                                        
aug24-ir-clone5 (common): 1824035                                                                    

ANALYTIC: Analytics_StmtMissingOperand                                                               
aug24-ir-clone4 (common): 339 (+26.97%)                                                              
aug24-ir-clone5 (common): 267                                                                        

ANALYTIC: Analytics_PrivateFunctionMatchesMetadata                                                   
aug24-ir-clone4 (common): 85740                                                                      
aug24-ir-clone5 (common): 85723 (-0.01983%)                                                          

ANALYTIC: Analytics_PrivateFunctionMatchesMetadataIncorrectArgs                                      
aug24-ir-clone4 (common): 873 (+0.576%)                                                              
aug24-ir-clone5 (common): 868                                                                        

ANALYTIC: Analytics_PrivateFunctionMatchesMetadataIncorrectReturnArgs                                
aug24-ir-clone4 (common): 418 (+1.211%)                                                              
aug24-ir-clone5 (common): 413                                                                        

ANALYTIC: Analytics_Contexts                                                                         
aug24-ir-clone4 (common): 2974540                                                                    
aug24-ir-clone5 (common): 2975161 (+0.02088%)

metadata-dataset1

ANALYTIC: decomp_time             
aug24-meta-clone4 (common): 13071.210783481598
aug24-meta-clone5 (common): 13409.114562749863 (+2.585%)       
                                                  
ANALYTIC: Analytics_JumpToMany 
aug24-meta-clone4 (common): 120 (+4.348%)
aug24-meta-clone5 (common): 115

ANALYTIC: Analytics_LocalBlockEdge
aug24-meta-clone4 (common): 1424651 (-0.001263%)
aug24-meta-clone5 (common): 1424669

ANALYTIC: Analytics_StmtMissingOperand
aug24-meta-clone4 (common): 43
aug24-meta-clone5 (common): 44 (+2.326%)

ANALYTIC: Analytics_PrivateFunctionMatchesMetadata
aug24-meta-clone4 (common): 105133
aug24-meta-clone5 (common): 105133

ANALYTIC: Analytics_PrivateFunctionMatchesMetadataIncorrectArgs
aug24-meta-clone4 (common): 165 (+3.774%)
aug24-meta-clone5 (common): 159

ANALYTIC: Analytics_MissingJumpTargetAnyCtx
aug24-meta-clone4 (common): 6
aug24-meta-clone5 (common): 9 (+50%)

ANALYTIC: Analytics_Contexts
aug24-meta-clone4 (common): 1226468
aug24-meta-clone5 (common): 1231829 (+0.4371%)

Investigated small seeming regression in Analytics_MissingJumpTargetAnyCtx. Incompleteness just seemed bigger due to more cloning. Increasing stack depth fixes it. May consider it.

Copy link

github-actions bot commented Aug 7, 2024

Test Results (Souffle 2.3)

56 tests  +1   56 ✅ +1   38m 32s ⏱️ - 1m 41s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit c0ea754. ± Comparison against base commit fa1e299.

Copy link

github-actions bot commented Aug 7, 2024

Test Results (Souffle 2.4)

56 tests  +1   56 ✅ +1   39m 32s ⏱️ - 14m 31s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit c0ea754. ± Comparison against base commit fa1e299.

@sifislag sifislag merged commit 8bb3e15 into master Aug 8, 2024
5 checks passed
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