David Greene
df464195fe
Fix GLIBCXX_DEBUG error owing to dereference of end iterator. There's
...
no guarantee that an instruction returned by getDependency exists in
the maps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40647 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 20:01:27 +00:00
Owen Anderson
054ab94bff
Fix a misoptimization in aha.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40642 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 17:43:14 +00:00
Dan Gohman
a9cfed77b6
Use SCEVExpander::InsertCastOfTo instead of calling new IntToPtrInst
...
directly, because the insert point used by the SCEVExpander may vary
from what LSR originally computes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40641 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 17:22:27 +00:00
Devang Patel
8d246f09cb
Add note.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40638 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 16:52:25 +00:00
Chris Lattner
4330b3a3c2
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40636 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 16:18:25 +00:00
Christopher Lamb
321ff4e6d5
Revert overly aggressive interpretation of noalias
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40635 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 16:18:07 +00:00
Reid Spencer
1013b4d749
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40634 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 14:41:17 +00:00
Reid Spencer
1539a1cfc6
fp2uint -> fptoui
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40633 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 14:40:14 +00:00
Reid Spencer
e87f23377c
After a discussion with Anton, it turns out that the InReg attribute is not
...
permitted on function results. So, revert the last patch to make it illegal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40632 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 14:39:10 +00:00
Devang Patel
fee0a9c7ef
Bunch of tests to check loop passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40629 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 08:04:17 +00:00
Evan Cheng
c64a1a921c
Redo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32 s2v (f32 load ))), 0) -> (i32 load )
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40628 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 08:04:03 +00:00
Devang Patel
15c260adff
Loop unswitch preserves dom info.
...
Use simple analysis interface to preserve analysis info maintained by other loop passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40627 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 08:03:26 +00:00
Devang Patel
91d22c8b1e
Implement Simple Analysis interfaces - cloneBasicBlockAnalysis and deleteAnalysisValue.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40626 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 08:01:41 +00:00
Devang Patel
c7e49c08c2
Introduce Simple Analysis interface for loop passes.
...
Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40625 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 08:00:57 +00:00
Christopher Lamb
50192c2152
Teach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40624 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 07:04:51 +00:00
Christopher Lamb
66ca0bc73a
Un-XFAIL these tests after r40622 fixed them.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40623 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 07:03:24 +00:00
Reid Spencer
ee0142e4a6
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40621 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 06:37:43 +00:00
Reid Spencer
bf7f45152c
Allow the INREG parameter attribute to be added to functions. This permits the
...
function result to be passed in a register. This implements the GCC regparm
function attribute for llvm by translation to the InReg parameter attribute
and fixes test/CFrontend/2002-07-30-SubregSetAssertion.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40619 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 06:37:27 +00:00
Reid Spencer
6e800fe6cb
The InReg parameter attribute is valid on function results. The llvm-gcc-4.0
...
front end converts regparm attribute on the gcc function into InReg attribute
on the llvm function. This fixes test/CFrontend/2002-07-30-SubrefSetAssertion.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40618 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 06:33:37 +00:00
Evan Cheng
4ebcc8c2f8
This isn't safe when there are uses of load's chain result.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40617 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 06:21:44 +00:00
Chris Lattner
6240ab5022
Fix PR1581, patch by Timo Savola
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40616 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 06:00:51 +00:00
Reid Spencer
d8e616b173
Regenerate (again).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40613 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 03:55:56 +00:00
Reid Spencer
6794e616c7
Don't include newlines in the whitespace before newline (WSNL) rule.
...
Fix the comment for WSNL to describe its actual function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40612 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 03:55:43 +00:00
Reid Spencer
b8f85050d1
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40611 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 03:50:36 +00:00
Reid Spencer
1d3d230861
For PR1553:
...
Make the AsmParser auto-upgrade the old zext and sext
keywords for parameter attributes and handle the
end-of-line ambiguity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40610 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 02:57:37 +00:00
Devang Patel
6f62af6e64
If loop can be unswitched again, then do it yourself.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40609 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 23:07:10 +00:00
Anton Korobeynikov
42346f58d8
Add a comment: don't expect from external function resolver in interpreter
...
things, it wasn't designed to handle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40608 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 23:03:25 +00:00
Owen Anderson
891eecb040
Avoid potential iterator invalidation problems.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40607 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 21:26:39 +00:00
Devang Patel
df5cf2074c
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40606 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 21:10:44 +00:00
Scott Michel
910b66d8d6
- Allow custom lowering for CTPOP, CTTZ, CTLZ.
...
- Fixed an existing unexpanded tab.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40605 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 21:00:31 +00:00
Devang Patel
81a129c0fb
LCSSA preserves dom info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40604 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 20:23:45 +00:00
Devang Patel
d9a6dcba9f
Loop Rotation pass preserves dominator tree and frontier.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40603 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 20:22:53 +00:00
Devang Patel
96b651c627
LICM preserves scalar evolution and dom frontier.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40602 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 20:19:59 +00:00
Reid Spencer
9372f15d45
Regenerate for __dso_handle, per Anton's request.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40601 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 20:13:24 +00:00
Anton Korobeynikov
3b30a6e92d
Add detection of __dso_handle presence during configure. Use this information in the
...
JITer (short path is added for darwin). This is needed to properly JIT llvm-gcc-4.2-built
binaries, since cxa_atexit is enabled by default on much more targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40600 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 20:02:02 +00:00
Reid Spencer
ed3fa8552a
Fix a typo/thinko.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40599 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 19:53:57 +00:00
Dan Gohman
be444ed6db
Fix a bug in getCopyFromParts turned up in the testcase for PR1132.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40598 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 19:09:17 +00:00
Owen Anderson
45c8388e2a
Use more caching when computing non-local dependence. This makes bzip2 not
...
use up the entire 32-bit address space.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40596 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 17:29:24 +00:00
Owen Anderson
4f9ba7c40c
Fix a bug caused by indiscriminantly asking for the dominators of a predecessor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40595 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 16:57:08 +00:00
Dan Gohman
825811dc83
Use tabs more consistently in assembler pseudo-ops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40594 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 15:08:02 +00:00
Dan Gohman
286d56935c
Print a space between the comment character and the basic block name,
...
for prettiness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40593 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 15:06:25 +00:00
Dan Gohman
06dd2a68e1
Fix the comments for the 'fast' parameter in addPassesToEmitFile.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40592 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 15:04:59 +00:00
Dan Gohman
d47cab81b6
Remove a FIXME comment that wasn't removed when the code it accompanied
...
was removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40591 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 15:01:09 +00:00
Dan Gohman
fb71d38247
Fix the comment for getClosestTargetForJIT to reflect the fact that
...
it does not have a Module parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40590 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 14:58:59 +00:00
Dan Gohman
f452207d20
More explicit keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40589 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 14:51:59 +00:00
Dan Gohman
209ee187c9
Fix pastos in comments for doFinalization functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40588 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 14:51:13 +00:00
Evan Cheng
a5e496ff07
New test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40587 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 07:52:03 +00:00
Evan Cheng
66ffe6be0c
Vector fneg must be expanded into fsub -0.0, X.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40586 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 07:51:22 +00:00
Christopher Lamb
db9530599e
Add tests for generating noalias parameter attribute from __restrict qualified function parameters. C++ tests are currently XFAILing see PR1582.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40583 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-29 23:29:16 +00:00
Reid Spencer
6551606a99
Be explicit about which level of optimization is being asked for. The -O option
...
is equivalent to -O1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40581 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-29 18:23:22 +00:00