LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions
LowerAtomic.cpp File Reference
#include "llvm/Transforms/Scalar.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/Pass.h"
Include dependency graph for LowerAtomic.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "loweratomic"
 

Functions

static bool LowerAtomicCmpXchgInst (AtomicCmpXchgInst *CXI)
 
static bool LowerAtomicRMWInst (AtomicRMWInst *RMWI)
 
static bool LowerFenceInst (FenceInst *FI)
 
static bool LowerLoadInst (LoadInst *LI)
 
static bool LowerStoreInst (StoreInst *SI)
 
 INITIALIZE_PASS (LowerAtomic,"loweratomic","Lower atomic intrinsics to non-atomic form", false, false) Pass *llvm
 

Macro Definition Documentation

#define DEBUG_TYPE   "loweratomic"

Definition at line 15 of file LowerAtomic.cpp.

Function Documentation

INITIALIZE_PASS ( LowerAtomic  ,
"loweratomic"  ,
"Lower atomic intrinsics to non-atomic form"  ,
false  ,
false   
)

Definition at line 138 of file LowerAtomic.cpp.

static bool LowerAtomicCmpXchgInst ( AtomicCmpXchgInst CXI)
static
static bool LowerAtomicRMWInst ( AtomicRMWInst RMWI)
static
static bool LowerFenceInst ( FenceInst FI)
static

Definition at line 93 of file LowerAtomic.cpp.

References llvm::Instruction::eraseFromParent().

static bool LowerLoadInst ( LoadInst LI)
static

Definition at line 98 of file LowerAtomic.cpp.

References llvm::NotAtomic, and llvm::LoadInst::setAtomic().

static bool LowerStoreInst ( StoreInst SI)
static

Definition at line 103 of file LowerAtomic.cpp.

References llvm::NotAtomic, and llvm::StoreInst::setAtomic().