LLVM API Documentation
#include "llvm/Transforms/Scalar.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/Pass.h"
Go to the source code of this file.
Defines | |
#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 |
#define DEBUG_TYPE "loweratomic" |
Definition at line 22 of file LowerAtomic.cpp.
INITIALIZE_PASS | ( | LowerAtomic | , |
"loweratomic" | , | ||
"Lower atomic intrinsics to non-atomic form" | , | ||
false | , | ||
false | |||
) |
Definition at line 144 of file LowerAtomic.cpp.
static bool LowerAtomicCmpXchgInst | ( | AtomicCmpXchgInst * | CXI | ) | [static] |
Definition at line 24 of file LowerAtomic.cpp.
References llvm::Instruction::eraseFromParent(), llvm::UndefValue::get(), llvm::AtomicCmpXchgInst::getCompareOperand(), llvm::AtomicCmpXchgInst::getNewValOperand(), llvm::Instruction::getParent(), llvm::AtomicCmpXchgInst::getPointerOperand(), llvm::Value::getType(), and llvm::Value::replaceAllUsesWith().
static bool LowerAtomicRMWInst | ( | AtomicRMWInst * | RMWI | ) | [static] |
Definition at line 43 of file LowerAtomic.cpp.
References llvm::AtomicRMWInst::Add, llvm::AtomicRMWInst::And, llvm::Instruction::eraseFromParent(), llvm::AtomicRMWInst::getOperation(), llvm::Instruction::getParent(), llvm::AtomicRMWInst::getPointerOperand(), llvm::AtomicRMWInst::getValOperand(), llvm_unreachable, llvm::AtomicRMWInst::Max, llvm::AtomicRMWInst::Min, llvm::AtomicRMWInst::Nand, llvm::AtomicRMWInst::Or, llvm::Value::replaceAllUsesWith(), llvm::AtomicRMWInst::Sub, llvm::AtomicRMWInst::UMax, llvm::AtomicRMWInst::UMin, llvm::AtomicRMWInst::Xchg, and llvm::AtomicRMWInst::Xor.
static bool LowerFenceInst | ( | FenceInst * | FI | ) | [static] |
Definition at line 97 of file LowerAtomic.cpp.
References llvm::Instruction::eraseFromParent().
static bool LowerLoadInst | ( | LoadInst * | LI | ) | [static] |
Definition at line 102 of file LowerAtomic.cpp.
References llvm::NotAtomic, and llvm::LoadInst::setAtomic().
static bool LowerStoreInst | ( | StoreInst * | SI | ) | [static] |
Definition at line 107 of file LowerAtomic.cpp.
References llvm::NotAtomic, and llvm::StoreInst::setAtomic().