Dan Gohman
7428b0796c
A minor simplication in the generated code.
...
llvm-svn: 40479
2007-07-24 22:58:00 +00:00
Dan Gohman
a2e07a38bc
Use movaps to load a v4f32 build_vector of all-constant values into a
...
register instead of loading each element individually.
llvm-svn: 40478
2007-07-24 22:55:08 +00:00
Owen Anderson
b9ad251288
Add initial support for non-local memory dependence analysis.
...
NOTE: This has only been cursorily tested. Expected improvements soon.
llvm-svn: 40476
2007-07-24 21:52:37 +00:00
Owen Anderson
f22326ad3d
Make the copy constructor of SmallPtrSet much faster.
...
llvm-svn: 40474
2007-07-24 21:31:23 +00:00
Anton Korobeynikov
e8170a07f8
Heal EH handling stuff by emitting correct offsets to callee-saved registers.
...
Pretty hackish, but code itself is dirty mess, so we won't make anything worse. :)
llvm-svn: 40472
2007-07-24 21:07:39 +00:00
Owen Anderson
eb9f1b612c
Add a GVN pass, using the value numbering code I developed for GVNPRE and the
...
load elimination code from RedundantLoadElimination.
llvm-svn: 40469
2007-07-24 17:55:58 +00:00
Reid Spencer
4e179b88aa
Make output match actual condition tested. Thanks, Duncan.
...
llvm-svn: 40464
2007-07-24 14:35:44 +00:00
Devang Patel
aa2a753350
Unreachable block is not a root node in post dominator tree.
...
llvm-svn: 40458
2007-07-24 01:02:25 +00:00
Owen Anderson
5969a3cb91
Rename a lot of things to change FastDLE to RedundantLoadElimination.
...
llvm-svn: 40457
2007-07-24 00:17:04 +00:00
Owen Anderson
2aab0eafe9
Rename FastDLE as RedundantLoadElimination.
...
llvm-svn: 40456
2007-07-24 00:08:38 +00:00
Reid Spencer
b9f23cc28b
1. Make sure we print the Function Value for parameter attribute errors
...
2. Fold an if statement into the Assert1 macro call.
llvm-svn: 40455
2007-07-23 23:46:43 +00:00
Reid Spencer
6286ca1d69
Add better verification of attributes on function types. It is not permitted
...
to use sret or inreg on the function. It is equally illegal to use noreturn
or nounwind on a parameter; they only go with the function. This patch
enforces these rules.
llvm-svn: 40453
2007-07-23 23:09:55 +00:00
Chandler Carruth
f4eead2a50
Fix for PR1567, which involves a weird bug on non-32bit architectures and silly C type sizes.
...
llvm-svn: 40451
2007-07-23 22:42:15 +00:00
Owen Anderson
004db891dd
Add testcases for FastDLE.
...
llvm-svn: 40449
2007-07-23 22:18:05 +00:00
Owen Anderson
0a79ada820
Don't delete volatile loads. Doing so is not safe.
...
llvm-svn: 40448
2007-07-23 22:05:54 +00:00
Owen Anderson
8523f2d7c4
Forgot to commit this file.
...
llvm-svn: 40447
2007-07-23 22:00:03 +00:00
Owen Anderson
0448fc9e66
Fix a comment.
...
llvm-svn: 40446
2007-07-23 21:51:37 +00:00
Owen Anderson
bd3360e856
Add FastDLE, the load-elimination counterpart of FastDSE.
...
llvm-svn: 40445
2007-07-23 21:48:08 +00:00
Owen Anderson
c133ed619f
Move these tests to use FastDSE instead of old DSE.
...
llvm-svn: 40444
2007-07-23 20:49:13 +00:00
Dan Gohman
54b8032d64
Fix some uses of dyn_cast to be uses of cast.
...
llvm-svn: 40443
2007-07-23 20:24:29 +00:00
Dan Gohman
e2dcfd1516
Delete the svn:executable property on these files, which aren't executable.
...
llvm-svn: 40441
2007-07-23 19:26:08 +00:00
Owen Anderson
d3a8c81c04
Fix file header.
...
llvm-svn: 40440
2007-07-23 18:30:37 +00:00
Chris Lattner
914de64a0a
completely remove a transformation that is unsafe in the face of
...
undefs.
llvm-svn: 40439
2007-07-23 17:10:17 +00:00
Duncan Sands
5a29993695
The Ada f-e produces various auxiliary output files
...
that cannot be suppressed and cannot be redirected:
they are dumped in the current working directory.
When running the testsuite this means that these
files do not end up in the Output directory. The
best solution I could find is to change directory
into Output before running tests.
llvm-svn: 40437
2007-07-23 15:23:35 +00:00
Duncan Sands
ec44ba07b5
For multipart tests, place the parts with no
...
RUN line in Support. Give up on sending output
to /dev/null - this cannot always be arranged.
llvm-svn: 40436
2007-07-23 13:41:53 +00:00
Reid Spencer
35a72e2e77
Restore ability to build archives (oops)
...
Fix -include line so it doesn't reference /dev/null
llvm-svn: 40429
2007-07-23 08:20:46 +00:00
Reid Spencer
6f1704a3ad
Remove bizarre use of /dev/null in a makefile include line that
...
produces warning from make about bad timestamp on /dev/null
Patch by Holger Schurig.
llvm-svn: 40426
2007-07-23 08:09:15 +00:00
Bill Wendling
10234b995b
Fix some validation errors.
...
llvm-svn: 40417
2007-07-23 04:44:02 +00:00
Bill Wendling
e87712fdfd
Converted to "svn" and reformatted.
...
llvm-svn: 40416
2007-07-23 04:41:42 +00:00
Reid Spencer
ed6d445c9b
Remove dead option.
...
llvm-svn: 40415
2007-07-23 04:23:32 +00:00
Bill Wendling
b39f31e7c8
Small change.
...
llvm-svn: 40413
2007-07-23 03:56:42 +00:00
Bill Wendling
9193d8762c
Point to the correct SVN repository.
...
llvm-svn: 40412
2007-07-23 03:56:11 +00:00
Bill Wendling
97342a9b0c
Add missing SSE builtins:
...
__builtin_ia32_cvtss2si64
__builtin_ia32_cvttss2si64
__builtin_ia32_cvtsi642ss
__builtin_ia32_cvtsd2si64
__builtin_ia32_cvttsd2si64
__builtin_ia32_cvtsi642sd
llvm-svn: 40411
2007-07-23 03:07:27 +00:00
Reid Spencer
dd93d5abaa
Report an error if one occurs in releaseModule.
...
llvm-svn: 40405
2007-07-22 21:39:37 +00:00
Chris Lattner
06bdb78751
Disable the string map copy ctor and assignment operators,
...
they don't do the right thing.
Implement StringMap::erase.
Fix a nasty bug in the default ctor.
llvm-svn: 40395
2007-07-22 20:08:01 +00:00
Duncan Sands
644d0388fc
Remove -O1 in favour of making llvm-gcc-4.2 a bit
...
smarter.
llvm-svn: 40391
2007-07-22 10:25:44 +00:00
Chris Lattner
b4bf211c23
This xform isn't safe, removing it.
...
llvm-svn: 40378
2007-07-21 21:27:27 +00:00
Reid Spencer
1f65c8ce63
Update for changes in library.sh
...
llvm-svn: 40371
2007-07-21 09:33:41 +00:00
Devang Patel
f45fc256e1
Apply temporary work around to fix llvm mis-compilation
...
reported in PR 1556.
llvm-svn: 40133
2007-07-21 00:34:29 +00:00
Evan Cheng
53cb03b583
No more noResults.
...
llvm-svn: 40132
2007-07-21 00:34:19 +00:00
Dan Gohman
ac8ccab48f
Don't assume that only Uses can be kills. Defs are marked as kills initially
...
when there are no uses. This fixes a dangling-pointer bug, where pointers to
deleted instructions were not removed from kills lists. More info here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009749.html
llvm-svn: 40131
2007-07-20 23:17:34 +00:00
Dan Gohman
d1cc67ea8d
Simplify the logic for setVolatile.
...
llvm-svn: 40130
2007-07-20 23:14:50 +00:00
Duncan Sands
925762f19b
Need -O1 or better to have these builtins lowered to
...
llvm intrinsics in llvm-gcc-4.2. This is because
get_pointer_alignment bails out: it relies on TER
to compute accurate alignment information.
llvm-svn: 40128
2007-07-20 22:39:06 +00:00
Chris Lattner
c157b172c1
zext(undef) = 0 and sext(undef) = 0, not undef.
...
This hopefully fixes a miscompilation of TargetData.cpp when self hosting.
llvm-svn: 40125
2007-07-20 22:09:02 +00:00
Chris Lattner
9663eb4a5b
this xform is already done by the constant folder.
...
llvm-svn: 40124
2007-07-20 22:06:41 +00:00
Evan Cheng
cdb4e7949f
Added -print-emitted-asm to print out JIT generated asm to cerr.
...
llvm-svn: 40123
2007-07-20 21:56:13 +00:00
Reid Spencer
d46e64cae9
Update to include clean and install commands.
...
llvm-svn: 40119
2007-07-20 20:54:41 +00:00
Chandler Carruth
e5c617b3a0
No longer referencing "shared memory" as this can confuse people. The memory is
...
clearly shared between processors if these instructions are being used, no
further specification of what type of memory is necessary.
llvm-svn: 40118
2007-07-20 20:14:52 +00:00
Reid Spencer
63e429d8bf
Silly HTML
...
llvm-svn: 40117
2007-07-20 20:03:33 +00:00
Reid Spencer
491c2963bd
Fix validation errors.
...
llvm-svn: 40116
2007-07-20 19:59:11 +00:00