Commit Graph

43520 Commits

Author SHA1 Message Date
Duncan Sands
fd6673cf7f On big-endian machines it is wrong to do a full
width register load followed by a truncating
store for the copy, since the load will not place
the value in the lower bits.  Probably partial
loads/stores can never happen here, but fix it
anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 07:18:38 +00:00
Misha Brukman
a4a83c314c Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60971 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 05:21:37 +00:00
Mikhail Glushenkov
462886e8ad Some more documentation tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60970 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 03:11:37 +00:00
Mikhail Glushenkov
d565203d96 More cosmetic tweaks for llvmc docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60969 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 02:28:58 +00:00
Devang Patel
9e269f05db Re-enable test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60968 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 22:42:35 +00:00
Devang Patel
8358099bcb Do not print empty DW_AT_comp_dir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60965 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 21:57:54 +00:00
Duncan Sands
05e11fab87 When expanding unaligned loads and stores do not make
use of illegal integer types: instead, use a stack slot
and copying via integer registers.  The existing code
is still used if the bitconvert is to a legal integer
type.

This fires on the PPC testcases 2007-09-08-unaligned.ll
and vec_misaligned.ll.  It looks like equivalent code
is generated with these changes, just permuted, but
it's hard to tell.

With these changes, nothing in LegalizeDAG produces
illegal integer types anymore.  This is a prerequisite
for removing the LegalizeDAG type legalization code.

While there I noticed that the existing code doesn't
handle trunc store of f64 to f32: it turns this into
an i64 store, which represents a 4 byte stack smash.
I added a FIXME about this.  Hopefully someone more
motivated than I am will take care of it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60964 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 21:47:02 +00:00
Bill Wendling
d350e02e19 - Use patterns instead of creating completely new instruction matching patterns,
which are identical to the original patterns.

- Change the multiply with overflow so that we distinguish between signed and
  unsigned multiplication. Currently, unsigned multiplication with overflow
  isn't working!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60963 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 21:15:41 +00:00
Devang Patel
e062b07689 XFAIL these tests for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60959 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 19:08:08 +00:00
Evan Cheng
637ed03173 Fix add/sub expansion: don't create ADD / SUB with two results (seems like everyone is doing this these days :-). Patch by Daniel M Gessel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60958 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 18:49:09 +00:00
Nick Lewycky
8bdc6920cd Revert my re-instated reverted commit, fixes the bootstrap build on x86-64 linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60951 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 17:09:07 +00:00
Duncan Sands
712f7b3f54 When using a 4 byte jump table on a 64 bit machine,
do an extending load of the 4 bytes rather than a
potentially illegal (type) i32 load followed by a
sign extend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60945 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 08:13:38 +00:00
Duncan Sands
8c0f244c3e Don't make use of an illegal type (i64) when
lowering f64 function arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60944 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 08:05:40 +00:00
Chris Lattner
ff17b032dd fix some incorrect links.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60919 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 04:20:01 +00:00
Mikhail Glushenkov
daae124124 Man page update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60918 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 02:34:56 +00:00
Mon P Wang
9e5ecb8f8f Added support for SELECT v8i8 v4i16 for X86 (MMX)
Added support for TRUNC v8i16 to v8i8 for X86 (MMX)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60916 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 01:25:51 +00:00
Bill Wendling
ab55ebda1c Redo the arithmetic with overflow architecture. I was changing the semantics of
ISD::ADD to emit an implicit EFLAGS. This was horribly broken. Instead, replace
the intrinsic with an ISD::SADDO node. Then custom lower that into an
X86ISD::ADD node with a associated SETCC that checks the correct condition code
(overflow or carry). Then that gets lowered into the correct X86::ADDOvf
instruction.

Similar for SUB and MUL instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60915 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 00:56:36 +00:00
Mikhail Glushenkov
905315441e Fix W3C validator errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60912 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 23:43:14 +00:00
Mikhail Glushenkov
99a3a2c44c Use correct file for the llvmc tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60910 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 23:33:33 +00:00
Mikhail Glushenkov
68319f87cc Update the auto-generated llvmc documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 23:24:40 +00:00
Mikhail Glushenkov
ba71d677dd Add a '-Wo,' option that passes options to opt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60902 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 22:19:14 +00:00
Evan Cheng
38b6fd67a6 Fix a 80 col. violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60901 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 22:02:02 +00:00
Misha Brukman
66286e9e61 * Removed stray </p> tag
* Whitespace cleanups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60891 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 19:44:51 +00:00
Misha Brukman
2d33c5443a * <div align=center> is not valid HTML 4.01 - removed alignment
* <sup> cannot appear inside a <pre> - replaced <pre> with <tt> and <br>
* Added standard "Notes" section
* Sprinkled fixed-width <tt> tags in a few places for consistency


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60889 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 19:37:04 +00:00
Misha Brukman
f00ddb04df Removed warnings from HTML 4.01 validator: trailing slashes in <br> and <img>
tags are not needed in HTML, only XML.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60885 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 18:23:24 +00:00
Misha Brukman
430245f555 Conform to the HTML 4.01 Strict specification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60884 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 18:14:06 +00:00
Nick Lewycky
277a147f87 Sneaky, sneaky: move the -1 to the outside of the SMax. Reinstate the
optimization of SGE/SLE with unit stride, now that it works properly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60881 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 17:40:14 +00:00
Misha Brukman
444087057a Global replace of yellow W3C "valid HTML/CSS" icons with blue ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60880 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 17:34:48 +00:00
Misha Brukman
39309dfbb2 * Fixed formatting of command descriptions to be consistent:
- descriptions on new line
  - no terminating period
* Changed the W3C logos from yellow to blue to not stand out


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60879 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 17:12:52 +00:00
Torok Edwin
9053a739e5 fix grammar, thanks Duncan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60875 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 11:44:49 +00:00
Mikhail Glushenkov
de1e521648 Merge Base.td and Tools.td.
This stuff is not used outside Base.td, and with the conversion of the
compilation graph to string-based format became much less (if at all)
useful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60873 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 10:38:06 +00:00
Torok Edwin
87f1e7796d introduce BasicBlock::getUniquePredecessor()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60872 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 10:36:07 +00:00
Mikhail Glushenkov
e1d44b59ee Put Edge* classes into anonymous namespace.
Prevents conflicts between plugins.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60871 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 10:34:18 +00:00
Mon P Wang
6db08c4d2f Avoid generating a convert_rndsat node when the src and dest type are the same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60869 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 03:30:13 +00:00
Bill Wendling
775bb805c5 Clarify FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60867 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 01:26:44 +00:00
Mon P Wang
f67303d256 Whitespace clean up (tabs with spaces)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60866 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 00:44:22 +00:00
Mon P Wang
a60b5236c1 Make fix for r60829 less conservative to allow the proper optimization for
vec_extract-sse4.ll.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60865 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 00:26:16 +00:00
Bill Wendling
0ffa3de9e9 Add a newline after this debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60861 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 23:24:43 +00:00
Misha Brukman
c1449e63ff s/A Few Coding Standards/LLVM Coding Standards/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60859 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 23:07:02 +00:00
Bill Wendling
2476e5d345 If ADD, SUB, or MUL have an overflow bit that's used, don't do transformation on
them. The DAG combiner expects that nodes that are transformed have one value
result.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60857 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 22:36:00 +00:00
Evan Cheng
e5ad88e97f Preliminary ARM debug support based on patch by Mikael of FlexyCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60851 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 21:54:21 +00:00
Evan Cheng
6bb14ca775 Some code clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60850 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 21:49:05 +00:00
Bill Wendling
9a90132af4 Only perform SETO/SETC to JO/JC conversion if extractvalue is coming from an arithmetic with overflow instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60844 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 19:44:24 +00:00
Nuno Lopes
f82242de03 fix typo. thanks Baldrick for noticing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60841 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 16:11:10 +00:00
Nuno Lopes
58dc0b5534 add gcc 4.1.2 from redhat to the list of broken compilers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60840 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 16:01:22 +00:00
Duncan Sands
b8ee8012ee Update these instructions to the 2.4 release.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60838 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 14:24:58 +00:00
Duncan Sands
ab0c578bfd For amusement, implement SADDO, SSUBO, UADDO, USUBO
for promoted integer types, eg: i16 on ppc-32, or
i24 on any platform.  Complete support for arbitrary
precision integers would require handling expanded
integer types, eg: i128, but I couldn't be bothered.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60834 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 12:30:42 +00:00
Duncan Sands
0cfe05270c Mention the Ada and Fortran front-ends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60833 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 10:50:58 +00:00
Duncan Sands
7050f3d5ec Don't dereference the end() iterator. This was
causing a bunch of failures when running
"make ENABLE_EXPENSIVE_CHECKS=1 check".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60832 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 09:38:36 +00:00
Mon P Wang
01f8d09dd3 Added a little more information that vector shifts require vector shift amount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60831 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 08:55:09 +00:00