Jlm
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
LocalAliasAnalysisArgumentAllocaTest Class Referencefinal
Inheritance diagram for LocalAliasAnalysisArgumentAllocaTest:
Inheritance graph
[legend]
Collaboration diagram for LocalAliasAnalysisArgumentAllocaTest:
Collaboration graph
[legend]

Classes

struct  Outputs
 

Public Member Functions

const OutputsGetOutputs () const noexcept
 
- Public Member Functions inherited from jlm::llvm::RvsdgTest
virtual ~RvsdgTest ()=default
 
jlm::llvm::LlvmRvsdgModulemodule ()
 
const rvsdg::Graphgraph ()
 
void InitializeTest ()
 

Private Member Functions

std::unique_ptr< jlm::llvm::LlvmRvsdgModuleSetupRvsdg () override
 Create RVSDG for this test.
 

Private Attributes

Outputs Outputs_ = {}
 

Detailed Description

Creates an RVSDG corresponding to the C code:

int opaque(int* p);
int func(int* arg) {
int local;
opaque(&local); // alloca escapes here
// store to local and load from arg should be NoAlias,
// even though local has escaped the function
local = 20;
return *arg;
}

Definition at line 752 of file LocalAliasAnalysisTests.cpp.

Member Function Documentation

◆ GetOutputs()

const Outputs & LocalAliasAnalysisArgumentAllocaTest::GetOutputs ( ) const
inlinenoexcept

Definition at line 763 of file LocalAliasAnalysisTests.cpp.

◆ SetupRvsdg()

std::unique_ptr< jlm::llvm::LlvmRvsdgModule > LocalAliasAnalysisArgumentAllocaTest::SetupRvsdg ( )
inlineoverrideprivatevirtual

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 770 of file LocalAliasAnalysisTests.cpp.

Member Data Documentation

◆ Outputs_

Outputs LocalAliasAnalysisArgumentAllocaTest::Outputs_ = {}
private

Definition at line 843 of file LocalAliasAnalysisTests.cpp.


The documentation for this class was generated from the following file: