mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-02 07:32:52 +00:00
Now that the profitable bits of EnableFullLoadPRE have been enabled by default, rip out the remainder.
Anyone interested in more general PRE would be better served by implementing it separately, to get real anticipation calculation, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115337 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7c3423f413
commit
7267e14327
@ -61,7 +61,6 @@ STATISTIC(NumPRELoad, "Number of loads PRE'd");
|
||||
static cl::opt<bool> EnablePRE("enable-pre",
|
||||
cl::init(true), cl::Hidden);
|
||||
static cl::opt<bool> EnableLoadPRE("enable-load-pre", cl::init(true));
|
||||
static cl::opt<bool> EnableFullLoadPRE("enable-full-load-pre", cl::init(false));
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ValueTable Class
|
||||
@ -1604,14 +1603,13 @@ bool GVN::processNonLocalLoad(LoadInst *LI,
|
||||
unsigned NumUnavailablePreds = PredLoads.size();
|
||||
assert(NumUnavailablePreds != 0 &&
|
||||
"Fully available value should be eliminated above!");
|
||||
if (!EnableFullLoadPRE) {
|
||||
// If this load is unavailable in multiple predecessors, reject it.
|
||||
// FIXME: If we could restructure the CFG, we could make a common pred with
|
||||
// all the preds that don't have an available LI and insert a new load into
|
||||
// that one block.
|
||||
if (NumUnavailablePreds != 1)
|
||||
|
||||
// If this load is unavailable in multiple predecessors, reject it.
|
||||
// FIXME: If we could restructure the CFG, we could make a common pred with
|
||||
// all the preds that don't have an available LI and insert a new load into
|
||||
// that one block.
|
||||
if (NumUnavailablePreds != 1)
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if the load can safely be moved to all the unavailable predecessors.
|
||||
bool CanDoPRE = true;
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -gvn -enable-full-load-pre -S | FileCheck %s
|
||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
||||
|
||||
define i8* @cat(i8* %s1, ...) nounwind {
|
||||
entry:
|
||||
|
Loading…
Reference in New Issue
Block a user