Devang Patel
d491198000
Loop unswitch preserves dom info.
...
Use simple analysis interface to preserve analysis info maintained by other loop passes.
llvm-svn: 40627
2007-07-31 08:03:26 +00:00
Devang Patel
b98a097ae9
Implement Simple Analysis interfaces - cloneBasicBlockAnalysis and deleteAnalysisValue.
...
llvm-svn: 40626
2007-07-31 08:01:41 +00:00
Devang Patel
cc2b233b62
Introduce Simple Analysis interface for loop passes.
...
Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value.
llvm-svn: 40625
2007-07-31 08:00:57 +00:00
Christopher Lamb
b08423b36e
Teach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite.
...
llvm-svn: 40624
2007-07-31 07:04:51 +00:00
Christopher Lamb
fc1bd87814
Un-XFAIL these tests after r40622 fixed them.
...
llvm-svn: 40623
2007-07-31 07:03:24 +00:00
Reid Spencer
861245172c
Regenerate.
...
llvm-svn: 40621
2007-07-31 06:37:43 +00:00
Chris Lattner
49820d63dc
Oops, I committed the wrong file before. This expands the description of
...
type.
llvm-svn: 40620
2007-07-31 06:37:39 +00:00
Reid Spencer
4f178405ad
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
llvm-svn: 40619
2007-07-31 06:37:27 +00:00
Reid Spencer
160e4faedc
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
llvm-svn: 40618
2007-07-31 06:33:37 +00:00
Evan Cheng
242a87734a
This isn't safe when there are uses of load's chain result.
...
llvm-svn: 40617
2007-07-31 06:21:44 +00:00
Chris Lattner
364439eb15
Fix PR1581, patch by Timo Savola
...
llvm-svn: 40616
2007-07-31 06:00:51 +00:00
Chris Lattner
c6684bc0c5
Add a start at a clang internals manual, documenting some
...
of the more subtle and interesting classes.
llvm-svn: 40615
2007-07-31 05:42:17 +00:00
Chris Lattner
bcb22a9c8d
add a link
...
llvm-svn: 40614
2007-07-31 04:52:37 +00:00
Reid Spencer
66eb88bf48
Regenerate (again).
...
llvm-svn: 40613
2007-07-31 03:55:56 +00:00
Reid Spencer
36ded45e5d
Don't include newlines in the whitespace before newline (WSNL) rule.
...
Fix the comment for WSNL to describe its actual function.
llvm-svn: 40612
2007-07-31 03:55:43 +00:00
Reid Spencer
22910a08a0
Regenerate.
...
llvm-svn: 40611
2007-07-31 03:50:36 +00:00
Reid Spencer
d45d07ac72
For PR1553:
...
Make the AsmParser auto-upgrade the old zext and sext
keywords for parameter attributes and handle the
end-of-line ambiguity.
llvm-svn: 40610
2007-07-31 02:57:37 +00:00
Devang Patel
7d165e1d84
If loop can be unswitched again, then do it yourself.
...
llvm-svn: 40609
2007-07-30 23:07:10 +00:00
Anton Korobeynikov
187bf73b5d
Add a comment: don't expect from external function resolver in interpreter
...
things, it wasn't designed to handle.
llvm-svn: 40608
2007-07-30 23:03:25 +00:00
Owen Anderson
850138157e
Avoid potential iterator invalidation problems.
...
llvm-svn: 40607
2007-07-30 21:26:39 +00:00
Devang Patel
14fae50666
Remove dead code.
...
llvm-svn: 40606
2007-07-30 21:10:44 +00:00
Scott Michel
34e2d22d63
- Allow custom lowering for CTPOP, CTTZ, CTLZ.
...
- Fixed an existing unexpanded tab.
llvm-svn: 40605
2007-07-30 21:00:31 +00:00
Devang Patel
c5e340eded
LCSSA preserves dom info.
...
llvm-svn: 40604
2007-07-30 20:23:45 +00:00
Devang Patel
698852561c
Loop Rotation pass preserves dominator tree and frontier.
...
llvm-svn: 40603
2007-07-30 20:22:53 +00:00
Devang Patel
bb97ac4dce
LICM preserves scalar evolution and dom frontier.
...
llvm-svn: 40602
2007-07-30 20:19:59 +00:00
Reid Spencer
32046f7b05
Regenerate for __dso_handle, per Anton's request.
...
llvm-svn: 40601
2007-07-30 20:13:24 +00:00
Anton Korobeynikov
7ac2521021
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.
llvm-svn: 40600
2007-07-30 20:02:02 +00:00
Reid Spencer
dff9d69cfb
Fix a typo/thinko.
...
llvm-svn: 40599
2007-07-30 19:53:57 +00:00
Dan Gohman
4ff9fb14f6
Fix a bug in getCopyFromParts turned up in the testcase for PR1132.
...
llvm-svn: 40598
2007-07-30 19:09:17 +00:00
Chris Lattner
fedeaa3045
Don't use canonical type for sema here. In
...
void func() {
typedef int foo;
foo *Y;
**Y; // error
}
we now get:
indirection requires pointer operand ('foo' invalid)
instead of:
indirection requires pointer operand ('int' invalid)
llvm-svn: 40597
2007-07-30 18:53:26 +00:00
Owen Anderson
212d5c27f6
Use more caching when computing non-local dependence. This makes bzip2 not
...
use up the entire 32-bit address space.
llvm-svn: 40596
2007-07-30 17:29:24 +00:00
Owen Anderson
d66e285b2e
Fix a bug caused by indiscriminantly asking for the dominators of a predecessor.
...
llvm-svn: 40595
2007-07-30 16:57:08 +00:00
Dan Gohman
204dece054
Use tabs more consistently in assembler pseudo-ops.
...
llvm-svn: 40594
2007-07-30 15:08:02 +00:00
Dan Gohman
33d0ea2597
Print a space between the comment character and the basic block name,
...
for prettiness.
llvm-svn: 40593
2007-07-30 15:06:25 +00:00
Dan Gohman
941e2efd55
Fix the comments for the 'fast' parameter in addPassesToEmitFile.
...
llvm-svn: 40592
2007-07-30 15:04:59 +00:00
Dan Gohman
070a3f94a2
Remove a FIXME comment that wasn't removed when the code it accompanied
...
was removed.
llvm-svn: 40591
2007-07-30 15:01:09 +00:00
Dan Gohman
55360dacd4
Fix the comment for getClosestTargetForJIT to reflect the fact that
...
it does not have a Module parameter.
llvm-svn: 40590
2007-07-30 14:58:59 +00:00
Dan Gohman
e379f08b19
More explicit keywords.
...
llvm-svn: 40589
2007-07-30 14:51:59 +00:00
Dan Gohman
e6656eb4ad
Fix pastos in comments for doFinalization functions.
...
llvm-svn: 40588
2007-07-30 14:51:13 +00:00
Evan Cheng
c8780b0ae9
New test case.
...
llvm-svn: 40587
2007-07-30 07:52:03 +00:00
Evan Cheng
581d2795dc
Vector fneg must be expanded into fsub -0.0, X.
...
llvm-svn: 40586
2007-07-30 07:51:22 +00:00
Steve Naroff
2dc379a7ae
Upgrade a comment...
...
llvm-svn: 40585
2007-07-30 03:52:55 +00:00
Steve Naroff
0d595ca0bb
Finish up semantic analysis for vector components.
...
llvm-svn: 40584
2007-07-30 03:29:09 +00:00
Christopher Lamb
3fbfad3547
Add tests for generating noalias parameter attribute from __restrict qualified function parameters. C++ tests are currently XFAILing see PR1582.
...
llvm-svn: 40583
2007-07-29 23:29:16 +00:00
Reid Spencer
7717ff5368
Be explicit about which level of optimization is being asked for. The -O option
...
is equivalent to -O1.
llvm-svn: 40581
2007-07-29 18:23:22 +00:00
Steve Naroff
ddf5a1d7a6
Implement pretty diagnostics when doing on-the-fly vector sizing (for vector component access).
...
For example, before this commit, the following diagnostics would be emitted...
ocu.c:49:12: error: incompatible types assigning 'float __attribute__((ocu_vector_type(3)))' to 'float4'
vec4_2 = vec4.rgb; // shorten
~~~~~~ ^ ~~~~~~~~
ocu.c:51:7: error: incompatible types assigning 'float __attribute__((ocu_vector_type(2)))' to 'float'
f = vec2.xx; // shorten
~ ^ ~~~~~~~
Now, the diagnostics look as you would expect...
ocu.c:49:12: error: incompatible types assigning 'float3' to 'float4'
vec4_2 = vec4.rgb; // shorten
~~~~~~ ^ ~~~~~~~~
ocu.c:51:7: error: incompatible types assigning 'float2' to 'float'
f = vec2.xx; // shorten
~ ^ ~~~~~~~
llvm-svn: 40579
2007-07-29 16:33:31 +00:00
Christopher Lamb
5fecb80efa
Change the x86 backend to use extract_subreg for truncation operations. Passes DejaGnu, SingleSource and MultiSource.
...
llvm-svn: 40578
2007-07-29 01:24:57 +00:00
Steve Naroff
f7a5da17d9
Added a new expression, OCUVectorComponent.
...
llvm-svn: 40577
2007-07-28 23:10:27 +00:00
Christopher Lamb
ac3a364c51
Add register info needed to use subreg sets on X86.
...
llvm-svn: 40572
2007-07-28 19:03:30 +00:00
Nick Lewycky
62989d6775
Make this explictly signed. Fixes PR1571.
...
llvm-svn: 40569
2007-07-28 16:43:10 +00:00