Polly 20.0.0git
Functions | Variables
IRBuilder.cpp File Reference
#include "polly/CodeGen/IRBuilder.h"
#include "polly/ScopInfo.h"
#include "polly/Support/ScopHelper.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/Metadata.h"

Go to the source code of this file.

Functions

static MDNode * getID (LLVMContext &Ctx, Metadata *arg0=nullptr, Metadata *arg1=nullptr)
 Get a self referencing id metadata node.
 
static llvm::Value * getMemAccInstPointerOperand (Instruction *Inst)
 Get the pointer operand.
 
static Value * findBasePtr (Value *Val)
 Find the base pointer of an array access.
 

Variables

static const int MaxArraysInAliasScops = 10
 

Function Documentation

◆ findBasePtr()

static Value * findBasePtr ( Value *  Val)
static

Find the base pointer of an array access.

This should be equivalent to ScalarEvolution::getPointerBase, which we cannot use here the IR is still under construction which ScalarEvolution assumes to not be modified.

Definition at line 194 of file IRBuilder.cpp.

References polly::Value.

Referenced by polly::ScopAnnotator::annotate().

◆ getID()

static MDNode * getID ( LLVMContext &  Ctx,
Metadata *  arg0 = nullptr,
Metadata *  arg1 = nullptr 
)
static

Get a self referencing id metadata node.

The MDNode looks like this (if arg0/arg1 are not null):

'!n = distinct !{!n, arg0, arg1}'

Returns
The self referencing id metadata node.

Definition at line 32 of file IRBuilder.cpp.

References arg1, and Ctx.

Referenced by polly::ScopAnnotator::buildAliasScopes().

◆ getMemAccInstPointerOperand()

static llvm::Value * getMemAccInstPointerOperand ( Instruction *  Inst)
static

Get the pointer operand.

Parameters
InstThe instruction to be analyzed.
Returns
the pointer operand in case Inst is a memory access instruction and nullptr otherwise.

Definition at line 181 of file IRBuilder.cpp.

References polly::MemAccInst::dyn_cast().

Referenced by polly::ScopAnnotator::annotate().

Variable Documentation

◆ MaxArraysInAliasScops

const int MaxArraysInAliasScops = 10
static

Definition at line 23 of file IRBuilder.cpp.

Referenced by polly::ScopAnnotator::buildAliasScopes().