mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-28 22:24:28 +00:00
[LVI] Revert the remainder of "r218231 - Add two thresholds lvi-overdefined-BB-threshold and lvi-overdefined-threshold"
Some of r218231 was reverted with the code that used it in r218971, but not all of it. This removes the rest (which is now dead). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219469 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -27,7 +27,6 @@
|
|||||||
#include "llvm/IR/IntrinsicInst.h"
|
#include "llvm/IR/IntrinsicInst.h"
|
||||||
#include "llvm/IR/PatternMatch.h"
|
#include "llvm/IR/PatternMatch.h"
|
||||||
#include "llvm/IR/ValueHandle.h"
|
#include "llvm/IR/ValueHandle.h"
|
||||||
#include "llvm/Support/CommandLine.h"
|
|
||||||
#include "llvm/Support/Debug.h"
|
#include "llvm/Support/Debug.h"
|
||||||
#include "llvm/Support/raw_ostream.h"
|
#include "llvm/Support/raw_ostream.h"
|
||||||
#include "llvm/Target/TargetLibraryInfo.h"
|
#include "llvm/Target/TargetLibraryInfo.h"
|
||||||
@ -38,20 +37,6 @@ using namespace PatternMatch;
|
|||||||
|
|
||||||
#define DEBUG_TYPE "lazy-value-info"
|
#define DEBUG_TYPE "lazy-value-info"
|
||||||
|
|
||||||
// Experimentally derived threshold for the number of basic blocks lowered for
|
|
||||||
// lattice value overdefined.
|
|
||||||
static cl::opt<unsigned>
|
|
||||||
OverdefinedBBThreshold("lvi-overdefined-BB-threshold",
|
|
||||||
cl::init(1500), cl::Hidden,
|
|
||||||
cl::desc("Threshold of the number of basic blocks lowered for lattice value"
|
|
||||||
"'overdefined'."));
|
|
||||||
|
|
||||||
// Experimentally derived threshold for additional lowering lattice values
|
|
||||||
// overdefined per block.
|
|
||||||
static cl::opt<unsigned>
|
|
||||||
OverdefinedThreshold("lvi-overdefined-threshold", cl::init(10), cl::Hidden,
|
|
||||||
cl::desc("Threshold of lowering lattice value 'overdefined'."));
|
|
||||||
|
|
||||||
char LazyValueInfo::ID = 0;
|
char LazyValueInfo::ID = 0;
|
||||||
INITIALIZE_PASS_BEGIN(LazyValueInfo, "lazy-value-info",
|
INITIALIZE_PASS_BEGIN(LazyValueInfo, "lazy-value-info",
|
||||||
"Lazy Value Information Analysis", false, true)
|
"Lazy Value Information Analysis", false, true)
|
||||||
@ -363,9 +348,6 @@ namespace {
|
|||||||
const DataLayout *DL;
|
const DataLayout *DL;
|
||||||
/// An optional DT pointer.
|
/// An optional DT pointer.
|
||||||
DominatorTree *DT;
|
DominatorTree *DT;
|
||||||
/// A counter to record how many times Overdefined has been tried to be
|
|
||||||
/// lowered.
|
|
||||||
DenseMap<BasicBlock *, unsigned> LoweringOverdefinedTimes;
|
|
||||||
|
|
||||||
friend struct LVIValueHandle;
|
friend struct LVIValueHandle;
|
||||||
|
|
||||||
@ -498,9 +480,6 @@ void LazyValueInfoCache::eraseBlock(BasicBlock *BB) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void LazyValueInfoCache::solve() {
|
void LazyValueInfoCache::solve() {
|
||||||
// Reset the counter of lowering overdefined value.
|
|
||||||
LoweringOverdefinedTimes.clear();
|
|
||||||
|
|
||||||
while (!BlockValueStack.empty()) {
|
while (!BlockValueStack.empty()) {
|
||||||
std::pair<BasicBlock*, Value*> &e = BlockValueStack.top();
|
std::pair<BasicBlock*, Value*> &e = BlockValueStack.top();
|
||||||
if (solveBlockValue(e.second, e.first)) {
|
if (solveBlockValue(e.second, e.first)) {
|
||||||
@ -559,7 +538,6 @@ bool LazyValueInfoCache::solveBlockValue(Value *Val, BasicBlock *BB) {
|
|||||||
// lattice value to overdefined, so that cycles will terminate and be
|
// lattice value to overdefined, so that cycles will terminate and be
|
||||||
// conservatively correct.
|
// conservatively correct.
|
||||||
BBLV.markOverdefined();
|
BBLV.markOverdefined();
|
||||||
++LoweringOverdefinedTimes[BB];
|
|
||||||
|
|
||||||
Instruction *BBI = dyn_cast<Instruction>(Val);
|
Instruction *BBI = dyn_cast<Instruction>(Val);
|
||||||
if (!BBI || BBI->getParent() != BB) {
|
if (!BBI || BBI->getParent() != BB) {
|
||||||
|
Reference in New Issue
Block a user