Commit Graph

42399 Commits

Author SHA1 Message Date
Devang Patel 6096f26bd4 Add utility pass to remove dbg info.
llvm-svn: 59068
2008-11-11 19:33:39 +00:00
Chris Lattner 6ce09d73f0 remove an extraneous tag
llvm-svn: 59067
2008-11-11 19:31:26 +00:00
Chris Lattner d402cc7b6a Make this document *substantially* better and cover a lot more territory.
Document written by Mason Woo (http://www.woo.com)!

llvm-svn: 59066
2008-11-11 19:30:41 +00:00
Devang Patel 38d2c7e0e8 Silence unused variable warning.
llvm-svn: 59064
2008-11-11 19:17:41 +00:00
Devang Patel 95b18126ee Use actual function name in comments.
llvm-svn: 59063
2008-11-11 19:16:41 +00:00
Dan Gohman 5499e89d06 Change the scheduler accessor methods to accept an explicit TargetMachine
argument instead of taking the SelectionDAG's TargetMachine. This is
needed for some upcoming scheduler changes.

llvm-svn: 59055
2008-11-11 17:50:47 +00:00
Evan Cheng 2d1937ede5 Add a README entry.
llvm-svn: 59052
2008-11-11 17:35:52 +00:00
Oscar Fuentes 93bf988701 CMake: forces rebuild of llvm-config's library dependency info when a
library is added or changed.

llvm-svn: 59051
2008-11-11 17:10:58 +00:00
Oscar Fuentes a08c2905ad CMake: corrected split of Alpha and Sparc AsmPrinters.
llvm-svn: 59050
2008-11-11 17:10:13 +00:00
Oscar Fuentes 90cf22e013 CMake: Removed unnecessary library path setting that was breaking the
build on OS X.

Fix by Jjgod Jiang!

llvm-svn: 59048
2008-11-11 16:56:52 +00:00
Anton Korobeynikov 03e084d482 Separate sparc asmprinter. This should unbreak the native build
llvm-svn: 59047
2008-11-11 16:42:57 +00:00
Anton Korobeynikov f4caceb668 Separate alpha asmprinter. This should unbreak native build.
llvm-svn: 59046
2008-11-11 16:42:17 +00:00
Dan Gohman 059c4fa8d8 The 32-bit displacement field in an x86 address is signed. Arrange for it
to be sign-extended when it is promoted to 64 bits for intermediate
offset calculations. The offset calculations are done as uint64_t so that
overflow conditions are well defined.

This fixes a problem which is currently hidden by the x86 AsmPrinter but
which was exposed by r58917 (which is temporarily reverted).  See PR3027
for details.

llvm-svn: 59044
2008-11-11 15:52:29 +00:00
Cedric Venet 8cb2e28e43 Update CMakeLists.txt
llvm-svn: 59039
2008-11-11 09:55:48 +00:00
Bill Wendling 49a5ce863e Fix for PR3040:
The CC was changed, but wasn't checked to see if it was legal if the DAG
combiner was being run after legalization. Threw in a couple of checks just to
make sure that it's okay. As far as the PR is concerned, no back-end target
actually exhibited this problem, so there isn't an associated testcase.

llvm-svn: 59035
2008-11-11 08:25:46 +00:00
Andrew Lenharth 2126a6d3c4 fix another libgcc blocker
llvm-svn: 59026
2008-11-11 06:06:07 +00:00
Mon P Wang 774e9ac433 Cleaned up and fix bugs in convert_rndsat node
llvm-svn: 59025
2008-11-11 05:40:06 +00:00
Bill Wendling 4942f296c9 Un-XFAIL tests now that they're fixed.
llvm-svn: 59023
2008-11-11 04:44:42 +00:00
Scott Michel aab89ca749 Unbreak the buildbot and back out (inadvertant) casting edits in CellSPU
backend.

llvm-svn: 59018
2008-11-11 03:06:06 +00:00
Evan Cheng ac2af2fdb2 Encode VFP arithmetic instructions.
llvm-svn: 59016
2008-11-11 02:11:05 +00:00
Devang Patel 53b39b5467 Cleanup debug info. assocated with deleted instructions.
llvm-svn: 59012
2008-11-11 00:54:10 +00:00
Devang Patel dc6699e82f Add utility routines to remove dead debug info.
llvm-svn: 59011
2008-11-11 00:53:02 +00:00
Bill Wendling 6fcefa065e r59009 broke these tests. XFAIL for now.
llvm-svn: 59010
2008-11-11 00:36:10 +00:00
Scott Michel abad22cf45 CellSPU: Fix bug 3606, as well as some ongoing work.
llvm-svn: 59009
2008-11-10 23:43:06 +00:00
Bill Wendling cfa3e287bb Small simplification. Use the iterator already present as the insertion point.
llvm-svn: 59008
2008-11-10 23:38:59 +00:00
Evan Cheng b172c66af3 Comments and indentation.
llvm-svn: 59007
2008-11-10 23:26:16 +00:00
Evan Cheng 02771dc473 Correct PIC function stub codegen.
llvm-svn: 59006
2008-11-10 23:14:47 +00:00
Oscar Fuentes 54c1dedd42 CMake: Fixed cross-compiling.
`clean' makefile target removes add-hoc directory created for building
the native tablegen.

llvm-svn: 59005
2008-11-10 22:09:59 +00:00
Dan Gohman d3b33fea65 Fix indentation.
llvm-svn: 59004
2008-11-10 22:09:58 +00:00
Bill Wendling b85755c829 Temporarily revert r58979 and related patch. It's causing a failure in X86 bootstrap:
Comparing stages 2 and 3
warning: ./cc1-checksum.o differs
warning: ./cc1obj-checksum.o differs
warning: ./cc1objplus-checksum.o differs
warning: ./cc1plus-checksum.o differs
Bootstrap comparison failure!
./alias.o differs
./alloc-pool.o differs
./attribs.o differs
./bb-reorder.o differs
./bitmap.o differs
./build/errors.o differs
./build/genattrtab.o differs
./build/genautomata.o differs
./build/genemit.o differs
./build/genextract.o differs
...

-bw

llvm-svn: 59003
2008-11-10 21:22:06 +00:00
Bill Wendling 747f59f0f7 - Make sure that we don't over-increment the iterator when going through the
basic blocks.
- Minor code clean-up.

llvm-svn: 59002
2008-11-10 21:13:10 +00:00
Mon P Wang 58fb9135e2 Added CONVERT_RNDSAT (conversion with rounding and saturation) SDNode to
support targets that support these conversions. Users should avoid using
this node as the current targets don't generating code for it.

llvm-svn: 59001
2008-11-10 20:54:11 +00:00
Steve Naroff 74eefb5722 Update VC++ project file.
llvm-svn: 58997
2008-11-10 20:03:21 +00:00
Devang Patel d0ce981372 If the sign of exit condition and split condition does not match
then do not split loop index.

llvm-svn: 58995
2008-11-10 19:48:34 +00:00
Duncan Sands ddacbb39ab Fix PR2667: add soft float support for sint_to_fp/uint_to_fp
where the argument is an apint, or smaller than the minimum
size for which there is a libcall (i32). 

llvm-svn: 58994
2008-11-10 17:36:26 +00:00
Duncan Sands 13b2e3634b Tweak some comments.
llvm-svn: 58993
2008-11-10 17:31:56 +00:00
Duncan Sands 7da4b44dd1 Small cleanups. No functionality change intended!
llvm-svn: 58992
2008-11-10 17:29:56 +00:00
Duncan Sands d5b53e1c6c When promoting the result of fp_to_uint/fp_to_sint,
inform the optimizers that the result must be zero/
sign extended from the smaller type.  For example,
if a fp to unsigned i16 is promoted to fp to i32,
then we are allowed to assume that the extra 16 bits
are zero (because the result of fp to i16 is undefined
if the result does not fit in an i16).  This is
quite aggressive, but should help the optimizers
produce better code.  This requires correcting a
test which thought that fp_to_uint is some kind
of truncation, which it is not: in the testcase
(which does fp to i1), either the fp value converts
to 0 or 1 or the result is undefined, which is
quite different to truncation.

llvm-svn: 58991
2008-11-10 17:28:30 +00:00
Duncan Sands 0a758fae91 Work around PR1000.
llvm-svn: 58984
2008-11-10 10:05:09 +00:00
Anton Korobeynikov 8e58c52b37 Proper way of doing llvm canadian-cross compilation.
Patch by Jim Grosbach!

llvm-svn: 58981
2008-11-10 07:33:13 +00:00
Dale Johannesen 23be3fd970 Reenable test.
llvm-svn: 58980
2008-11-10 07:30:32 +00:00
Dale Johannesen 671743369c Really fix testb optimization on big-endian.
Fixes ppc32 bootstrap.

llvm-svn: 58979
2008-11-10 07:16:42 +00:00
Bill Wendling 7ef7314d1a Third time's a charm.
The previous patches didn't match correctly. Also, we need to make sure that
the conditional is the same before doing the transformation.

llvm-svn: 58978
2008-11-10 06:59:06 +00:00
Chris Lattner 2a09239563 final edits
llvm-svn: 58966
2008-11-10 05:40:34 +00:00
Mon P Wang 25f0106fd9 Added support for the following definition of shufflevector
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask> 

llvm-svn: 58964
2008-11-10 04:46:22 +00:00
Chris Lattner 09487cd437 eliminate a couple more uses of utohexstr.
llvm-svn: 58963
2008-11-10 04:35:24 +00:00
Chris Lattner 5505eed5ac Use utohex_buffer instead of utohexstr to avoid creating a temporary
string in the .ll and .s printers.

llvm-svn: 58962
2008-11-10 04:30:26 +00:00
Chris Lattner 90cdddec75 split out the functionality of utohexstr into a new utohex_buffer
helper.  This allows us to convert numbers to hex without necessarily
needing to make a std::string to hold the result.

llvm-svn: 58961
2008-11-10 04:22:46 +00:00
Chris Lattner 53c56e4176 Move getCastToEmpty out of DIDescriptor into DIFactory. It is an
implementation detail of DIFactory anyway, and this allows it to avoid
recomputing the same type over and over.

llvm-svn: 58960
2008-11-10 04:10:34 +00:00
Chris Lattner bc09b36016 Fix an over aggressive assumption that struct decls will have a pointer to
an array that is empty.  Instead of requiring this array, allow a null pointer.
This shrinks all forward references of structs.

llvm-svn: 58959
2008-11-10 03:48:55 +00:00