LLVM  14.0.0git
Macros | Functions
X86PartialReduction.cpp File Reference
#include "X86.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicsX86.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Operator.h"
#include "llvm/Pass.h"
#include "X86TargetMachine.h"
Include dependency graph for X86PartialReduction.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "x86-partial-reduction"
 

Functions

 INITIALIZE_PASS (X86PartialReduction, DEBUG_TYPE, "X86 Partial Reduction", false, false) bool X86PartialReduction
 
static ValuematchAddReduction (const ExtractElementInst &EE)
 
static bool isReachableFromPHI (PHINode *Phi, BinaryOperator *BO)
 
static void collectLeaves (Value *Root, SmallVectorImpl< Instruction * > &Leaves)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "x86-partial-reduction"

Definition at line 28 of file X86PartialReduction.cpp.

Function Documentation

◆ collectLeaves()

static void collectLeaves ( Value Root,
SmallVectorImpl< Instruction * > &  Leaves 
)
static

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( X86PartialReduction  ,
DEBUG_TYPE  ,
"X86 Partial Reduction ,
false  ,
false   
)

◆ isReachableFromPHI()

static bool isReachableFromPHI ( PHINode Phi,
BinaryOperator BO 
)
static

◆ matchAddReduction()

static Value* matchAddReduction ( const ExtractElementInst EE)
static