| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
constant exprs as well as instructions.
llvm-svn: 71262
|
| |
|
|
|
|
|
|
|
| |
which are not analyzed with SCEV techniques, which can require
brute-forcing through a large number of instructions. This
fixes a massive compile-time issue on 400.perlbench (in
particular, the loop in MD5Transform).
llvm-svn: 71259
|
| |
|
|
|
|
| |
clients to use it.
llvm-svn: 71258
|
| |
|
|
|
|
| |
separate function.
llvm-svn: 71252
|
| |
|
|
|
|
|
| |
exit block of a loop, if there is exactly one, similar to
getExitingBlock.
llvm-svn: 71245
|
| |
|
|
| |
llvm-svn: 71241
|
| |
|
|
|
|
| |
the various notions of type size used in LLVM.
llvm-svn: 71230
|
| |
|
|
|
|
| |
several regressions. The problem due to 71158 is now fixed.
llvm-svn: 71176
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
checking for bcopy... no
checking for getc_unlocked... Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511.
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decUtility.c:360: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[4]: *** [decUtility.o] Error 1
make[4]: *** Waiting for unfinished jobs....
Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511.
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decNumber.c:5591: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[4]: *** [decNumber.o] Error 1
make[3]: *** [all-stage2-libdecnumber] Error 2
make[3]: *** Waiting for unfinished jobs....
llvm-svn: 71165
|
| |
|
|
|
|
|
| |
SCEVAddRecExpr. This eliminates redundant code for visiting
all the operands of an expression.
llvm-svn: 71157
|
| |
|
|
|
|
|
|
| |
AsmWriter::processDebugLoc function.
No functionality change.
llvm-svn: 71156
|
| |
|
|
| |
llvm-svn: 71150
|
| |
|
|
| |
llvm-svn: 71147
|
| |
|
|
| |
llvm-svn: 71140
|
| |
|
|
| |
llvm-svn: 71138
|
| |
|
|
|
|
|
|
|
|
|
| |
methods:
-Have it return a label ID
-Remove the unused Instruction parameter
No functionality change.
llvm-svn: 71132
|
| |
|
|
|
|
|
| |
CallbackVH to participate in dyn_cast, isa, etc. without needing
an explicit conversion.
llvm-svn: 71087
|
| |
|
|
| |
llvm-svn: 71084
|
| |
|
|
|
|
| |
Patch by Robert Schuster!
llvm-svn: 71083
|
| |
|
|
|
|
| |
Incomplete, but better than nothing.
llvm-svn: 71081
|
| |
|
|
|
|
|
|
| |
the optimizers about this. For example, a readonly
function with no uses cannot be removed unless it is
also marked nounwind.
llvm-svn: 71071
|
| |
|
|
| |
llvm-svn: 71032
|
| |
|
|
| |
llvm-svn: 71028
|
| |
|
|
| |
llvm-svn: 71022
|
| |
|
|
| |
llvm-svn: 71014
|
| |
|
|
| |
llvm-svn: 70950
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CallbackVH, with fixes. allUsesReplacedWith need to
walk the def-use chains and invalidate all users of a
value that is replaced. SCEVs of users need to be
recalcualted even if the new value is equivalent. Also,
make forgetLoopPHIs walk def-use chains, since any
SCEV that depends on a PHI should be recalculated when
more information about that PHI becomes available.
llvm-svn: 70927
|
| |
|
|
|
|
|
|
|
| |
that it
shows up in -print-machineinstrs. This doesn't appear to affect anything, but it was
weird for some DBG_LABELs to have DebugLocs but not all of them.
llvm-svn: 70921
|
| |
|
|
|
|
| |
FindFunctionBackedges function.
llvm-svn: 70819
|
| |
|
|
| |
llvm-svn: 70817
|
| |
|
|
| |
llvm-svn: 70804
|
| |
|
|
|
|
|
|
|
|
| |
not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all.
VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants.
Not yet enabled. This is part 1. More coming.
llvm-svn: 70787
|
| |
|
|
| |
llvm-svn: 70764
|
| |
|
|
|
|
|
|
| |
DIDescriptor::ValidDebugInfo
-Create DebugLocs without the need to have a DwarfWriter around
llvm-svn: 70682
|
| |
|
|
| |
llvm-svn: 70661
|
| |
|
|
|
|
|
|
|
| |
makes ScalarEvolution::deleteValueFromRecords, and it's code that
subtly needed to be called before ReplaceAllUsesWith, unnecessary.
It also makes ValueDeletionListener unnecessary.
llvm-svn: 70645
|
| |
|
|
|
|
|
| |
to make the copy constructor and destructor protected, and corresponding
adjustments to the unittests.
llvm-svn: 70644
|
| |
|
|
| |
llvm-svn: 70643
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of returning a list of pointers to Values that are deleted. This was
unsafe, because the pointers in the list are, by nature of what
RecursivelyDeleteDeadInstructions does, always dangling. Replace this
with a simple callback mechanism. This may eventually be removed if
all clients can reasonably be expected to use CallbackVH.
Use this to factor out the dead-phi-cycle-elimination code from LSR
utility function, and generalize it to use the
RecursivelyDeleteTriviallyDeadInstructions utility function.
This makes LSR more aggressive about eliminating dead PHI cycles;
adjust tests to either be less trivial or to simply expect fewer
instructions.
llvm-svn: 70636
|
| |
|
|
|
|
|
| |
it also forget any SCEVs associated with loop-header PHIs in the loop,
as they may be dependent on trip count information.
llvm-svn: 70633
|
| |
|
|
|
|
|
|
| |
apparently
helps some problems on win32 platforms (PR4119)
llvm-svn: 70603
|
| |
|
|
| |
llvm-svn: 70572
|
| |
|
|
| |
llvm-svn: 70557
|
| |
|
|
|
|
| |
is associated with a SCEV expansion.
llvm-svn: 70556
|
| |
|
|
|
|
| |
Instructions.
llvm-svn: 70552
|
| |
|
|
| |
llvm-svn: 70522
|
| |
|
|
|
|
| |
explains what the pointer tagging in Use is for.
llvm-svn: 70521
|
| |
|
|
|
|
|
|
| |
-Replace DebugLocTuple's Source ID with CompileUnit's GlobalVariable*
-Remove DwarfWriter::getOrCreateSourceID
-Make necessary changes for the above (fix callsites, etc.)
llvm-svn: 70520
|
| |
|
|
|
|
| |
comment a bit.
llvm-svn: 70515
|
| |
|
|
|
|
|
|
|
| |
classes.
This is implemented as a function rather than a method on TargetRegisterClass
because it is symmetric in its arguments.
llvm-svn: 70512
|