Jlm
Functions
RegionAwareModRefSummarizerTests.cpp File Reference
#include <gtest/gtest.h>
#include <jlm/llvm/DotWriter.hpp>
#include <jlm/llvm/ir/CallingConvention.hpp>
#include <jlm/llvm/ir/operators/alloca.hpp>
#include <jlm/llvm/ir/operators/IntegerOperations.hpp>
#include <jlm/llvm/ir/operators/Load.hpp>
#include <jlm/llvm/ir/operators/operators.hpp>
#include <jlm/llvm/ir/operators/Store.hpp>
#include <jlm/llvm/opt/alias-analyses/Andersen.hpp>
#include <jlm/llvm/opt/alias-analyses/RegionAwareModRefSummarizer.hpp>
#include <jlm/llvm/TestRvsdgs.hpp>
#include <jlm/rvsdg/UnitType.hpp>
#include <jlm/rvsdg/view.hpp>
#include <jlm/util/Statistics.hpp>
Include dependency graph for RegionAwareModRefSummarizerTests.cpp:

Go to the source code of this file.

Functions

static std::unique_ptr< jlm::llvm::aa::PointsToGraphRunAndersen (jlm::llvm::LlvmRvsdgModule &rvsdgModule)
 
static bool setsEqual (const jlm::util::HashSet< jlm::llvm::aa::PointsToGraph::NodeIndex > &receivedMemoryNodes, const jlm::util::HashSet< jlm::llvm::aa::PointsToGraph::NodeIndex > &expectedMemoryNodes)
 
 TEST (RegionAwareModRefSummarizerTests, TestStore1)
 
 TEST (RegionAwareModRefSummarizerTests, TestStore2)
 
 TEST (RegionAwareModRefSummarizerTests, TestLoad1)
 
 TEST (RegionAwareModRefSummarizerTests, TestLoad2)
 
 TEST (RegionAwareModRefSummarizerTests, TestLoadFromUndef)
 
 TEST (RegionAwareModRefSummarizerTests, TestCall1)
 
 TEST (RegionAwareModRefSummarizerTests, TestCall2)
 
 TEST (RegionAwareModRefSummarizerTests, TestIndirectCall)
 
 TEST (RegionAwareModRefSummarizerTests, TestIndirectCall2)
 
 TEST (RegionAwareModRefSummarizerTests, TestGamma)
 
 TEST (RegionAwareModRefSummarizerTests, TestTheta)
 
 TEST (RegionAwareModRefSummarizerTests, TestDelta1)
 
 TEST (RegionAwareModRefSummarizerTests, TestDelta2)
 
 TEST (RegionAwareModRefSummarizerTests, TestImports)
 
 TEST (RegionAwareModRefSummarizerTests, TestPhi1)
 
 TEST (RegionAwareModRefSummarizerTests, TestPhi2)
 
 TEST (RegionAwareModRefSummarizerTests, TestPhiWithDelta)
 
 TEST (RegionAwareModRefSummarizerTests, TestMemcpy)
 
 TEST (RegionAwareModRefSummarizerTests, TestEscapedMemory1)
 
 TEST (RegionAwareModRefSummarizerTests, TestEscapedMemory2)
 
 TEST (RegionAwareModRefSummarizerTests, TestEscapedMemory3)
 
 TEST (RegionAwareModRefSummarizerTests, testSetjmpHandling)
 
 TEST (RegionAwareModRefSummarizerTests, TestEscapedFunction)
 
 TEST (RegionAwareModRefSummarizerTests, TestStatistics)
 

Function Documentation

◆ RunAndersen()

static std::unique_ptr<jlm::llvm::aa::PointsToGraph> RunAndersen ( jlm::llvm::LlvmRvsdgModule rvsdgModule)
static

Definition at line 24 of file RegionAwareModRefSummarizerTests.cpp.

◆ setsEqual()

static bool setsEqual ( const jlm::util::HashSet< jlm::llvm::aa::PointsToGraph::NodeIndex > &  receivedMemoryNodes,
const jlm::util::HashSet< jlm::llvm::aa::PointsToGraph::NodeIndex > &  expectedMemoryNodes 
)
static

Definition at line 32 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [1/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestCall1   
)

Definition at line 231 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [2/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestCall2   
)

Definition at line 302 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [3/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestDelta1   
)

Definition at line 680 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [4/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestDelta2   
)

Definition at line 735 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [5/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestEscapedFunction   
)

Creates the RVSDG equivalent of the program

void opaque(); static int global;

void f() { global = global + 1; opaque(); return global; }

The ModRefSet for the call to opaque() should contain the global variable "global", since f() can be called from external functions.

Definition at line 1529 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [6/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestEscapedMemory1   
)

Definition at line 1124 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [7/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestEscapedMemory2   
)

Definition at line 1164 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [8/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestEscapedMemory3   
)

Definition at line 1246 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [9/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestGamma   
)

Definition at line 599 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [10/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestImports   
)

Definition at line 791 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [11/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestIndirectCall   
)

Definition at line 377 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [12/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestIndirectCall2   
)

Definition at line 458 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [13/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestLoad1   
)

Definition at line 128 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [14/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestLoad2   
)

Definition at line 164 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [15/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestLoadFromUndef   
)

Definition at line 197 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [16/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestMemcpy   
)

Definition at line 1068 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [17/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestPhi1   
)

Definition at line 847 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [18/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestPhi2   
)

Definition at line 908 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [19/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestPhiWithDelta   
)

Definition at line 1050 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [20/24]

TEST ( RegionAwareModRefSummarizerTests  ,
testSetjmpHandling   
)

Definition at line 1288 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [21/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestStatistics   
)

Definition at line 1626 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [22/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestStore1   
)

Definition at line 39 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [23/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestStore2   
)

Definition at line 82 of file RegionAwareModRefSummarizerTests.cpp.

◆ TEST() [24/24]

TEST ( RegionAwareModRefSummarizerTests  ,
TestTheta   
)

Definition at line 641 of file RegionAwareModRefSummarizerTests.cpp.