| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix initializeConstant, now initializeInt. Fixes major performance
bottleneck.
X == Y || X->DominatedBy(Y) is redundant. Remove the X == Y part.
Fix crasher in makeEqual where getOrInsertNode would add a new constant,
producing an NE relationship between the two members we're trying to make
equal. This now allows us to mark more BBs as unreachable.
llvm-svn: 33612
|
|
|
|
|
|
|
| |
Adjust the use of SetVector for changes in SetVector's interface.
Patch by Gordon Henriksen.
llvm-svn: 33280
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the basic block and is stable across runs in gdb or valgrind.
Make Node::update handle edges which dominate and are tighter than
existing edges.
Replace makeEqual's "squeeze theorem" code. Fixes miscompilation.
Gate the calls to defToOps and opsToDef. Before this, we were getting IG
edges about values which weren't even defined in the dominated area. This
reduces the size of the IG by about half.
llvm-svn: 33236
|
|
|
|
|
|
|
|
|
| |
that properties were being applied where they didn't belong. Fixes crash
in new MiBench testcase.
Also mark debugging code as such in #ifdef.
llvm-svn: 33177
|
|
|
|
|
|
|
| |
instruction. Doesn't work the other way though (can't recover bits that
have been truncated).
llvm-svn: 33104
|
|
|
|
| |
llvm-svn: 33096
|
|
|
|
| |
llvm-svn: 33076
|
|
|
|
|
|
|
| |
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
llvm-svn: 33073
|
|
|
|
|
|
| |
is so that it can be called from inside a debugger.
llvm-svn: 33067
|
|
|
|
|
|
| |
Please do not enable, there is still some known miscompile problem.
llvm-svn: 33066
|
|
|
|
|
|
|
|
| |
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.
llvm-svn: 32751
|
|
|
|
| |
llvm-svn: 32692
|
|
|
|
| |
llvm-svn: 32320
|
|
|
|
| |
llvm-svn: 32280
|
|
|
|
|
|
| |
is 'unsigned'.
llvm-svn: 32279
|
|
|
|
| |
llvm-svn: 32113
|
|
|
|
|
|
|
|
| |
Remove predicate simplifier from default gcc3 pipeline. New design is too
slow to enable by default.
Add new testcases for problems encountered in development.
llvm-svn: 31895
|
|
|
|
| |
llvm-svn: 31464
|
|
|
|
| |
llvm-svn: 31460
|
|
|
|
|
|
| |
Replace the REM instruction with UREM, SREM and FREM.
llvm-svn: 31369
|
|
|
|
|
|
|
|
| |
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
llvm-svn: 31195
|
|
|
|
|
|
| |
produce an EQ property.
llvm-svn: 31193
|
|
|
|
|
|
| |
Fix and comment the "or", "and" and "xor" transformations.
llvm-svn: 31189
|
|
|
|
| |
llvm-svn: 31184
|
|
|
|
|
|
| |
passes llvm-gcc bootstrap.
llvm-svn: 31146
|
|
|
|
|
|
|
| |
property is added by running through the list of uses of the value and
adding resolved properties to the property set.
llvm-svn: 31126
|
|
|
|
| |
llvm-svn: 31123
|
|
|
|
| |
llvm-svn: 31121
|
|
|
|
|
|
| |
optimization opportunity pointed out by Chris Lattner.
llvm-svn: 31118
|
|
|
|
|
|
| |
opportunity pointed out by Andrew Lewycky.
llvm-svn: 31115
|
|
|
|
|
|
| |
compile-time performance.
llvm-svn: 30896
|
|
|
|
|
|
|
| |
Ensure that we copy KnownProperties before calling visitBasicBlock, else
we may leak properties into blocks where they don't belong.
llvm-svn: 30705
|
|
|
|
|
|
| |
Fix SwitchInst where dest-block is the same as one of the cases.
llvm-svn: 30700
|
|
|
|
|
|
| |
optimize in more cases.
llvm-svn: 30699
|
|
|
|
|
|
| |
ConstantBool::getTrue() and ConstantBool::getFalse().
llvm-svn: 30665
|
|
|
|
| |
llvm-svn: 30588
|
|
|
|
| |
llvm-svn: 30552
|
|
|
|
|
|
| |
with the right answer.
llvm-svn: 30550
|
|
|
|
|
|
| |
Fixes infinite loop in resolve().
llvm-svn: 30540
|
|
|
|
|
|
|
| |
that we can't modify the CFG any more, at least not until it's possible
to update the dominator tree (PR217).
llvm-svn: 30469
|
|
|
|
| |
llvm-svn: 30305
|
|
|
|
| |
llvm-svn: 30304
|
|
|
|
| |
llvm-svn: 30298
|
|
|
|
| |
llvm-svn: 30251
|
|
|
|
|
|
|
|
|
| |
operations (like findProperties) should be faster, at the expense of
unionSets being slower in cases that are rare in practise.
Don't erase a dead Instruction. This fixes a memory corruption issue.
llvm-svn: 30235
|
|
|
|
|
|
|
|
| |
Reorder operations to remove duplicated work.
Fix to leave floating-point types out of the optimization.
Add tests to predsimplify.ll for SwitchInst and SelectInst handling.
llvm-svn: 30055
|
|
|
|
|
|
| |
corrects missing optimization opportunity removing cases from a switch.
llvm-svn: 30009
|
|
|
|
|
|
|
|
| |
another Value) weren't being found by findProperties.
This fixes predsimplify.ll test6, a missed optimization opportunity.
llvm-svn: 29991
|
|
|
|
|
|
|
|
|
| |
If a branch's condition has become a ConstantBool, simplify it immediately.
Removing the edge saves work and exposes up more optimization opportunities
in the pass.
Add support for SelectInst.
llvm-svn: 29970
|
|
and simplifies expressions. This implements the optimization described
in PR807.
llvm-svn: 29947
|