LLVM API Documentation

Defines | Functions
AtomicExpandPass.cpp File Reference
#include "llvm/CodeGen/Passes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Debug.h"
#include "llvm/Target/TargetLowering.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetSubtargetInfo.h"
Include dependency graph for AtomicExpandPass.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "atomic-expand"

Functions

 INITIALIZE_TM_PASS (AtomicExpand,"atomic-expand","Expand Atomic calls in terms of either load-linked & store-conditional or cmpxchg", false, false) FunctionPass *llvm
static ValueperformAtomicOp (AtomicRMWInst::BinOp Op, IRBuilder<> &Builder, Value *Loaded, Value *Inc)

Define Documentation

#define DEBUG_TYPE   "atomic-expand"

Definition at line 29 of file AtomicExpandPass.cpp.


Function Documentation

INITIALIZE_TM_PASS ( AtomicExpand  ,
"atomic-expand"  ,
"Expand Atomic calls in terms of either load-linked & store-conditional or cmpxchg"  ,
false  ,
false   
)

Definition at line 55 of file AtomicExpandPass.cpp.

static Value* performAtomicOp ( AtomicRMWInst::BinOp  Op,
IRBuilder<> &  Builder,
Value Loaded,
Value Inc 
) [static]