Commit Graph

41740 Commits

Author SHA1 Message Date
Tanya Lattner
ab0caf241e Update for 2.4 release.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 06:08:34 +00:00
Tanya Lattner
607faa54b2 Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58967 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 05:50:57 +00:00
Tanya Lattner
6bd60cd938 Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58460 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 21:20:47 +00:00
Tanya Lattner
d3598cc859 Merge from mainline.
Move the code that adds the DeadMachineInstructionElimPass from
target-independent code to target-specific code. This prevents it
from running on targets that aren't using fast-isel.

In addition to saving compile time, this addresses the problem
that not all targets are prepared for it. In order to use this
pass, all instructions must declare all their fixed uses and
defs of physical registers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58425 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 06:06:32 +00:00
Tanya Lattner
f22c0a175d Merge from mainline.
fix PR2953, an off-by-one error handling formatted i/o. 
Thanks to Török Edwin for the awesome reduced testcase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58424 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 06:00:18 +00:00
Tanya Lattner
83d348295e Merge from mainline.
Fix a nasty miscompilation of 176.gcc on linux/x86 where we synthesized
a memset using 16-byte XMM stores, but where the stack realignment code
didn't work.  Until it does (PR2962) disable use of xmm regs in memcpy
and memset formation for linux and other targets with insufficiently
aligned stacks.

This is part of PR2888


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58423 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 05:55:00 +00:00
Tanya Lattner
efc29bdb2c Merge from mainline. This test was fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58038 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-23 16:29:04 +00:00
Tanya Lattner
f1e2a2cd26 Merge from mainline for PR2886.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58033 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-23 05:44:04 +00:00
Tanya Lattner
e11adfd26f Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58032 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-23 05:03:22 +00:00
Tanya Lattner
07b9e8f94e Merge from mainline
Fix incorrect testing for the end of the both strings in CStrInCStrNoCase.  This could cause a read-out-of-bounds error if s2 is smaller than s1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58031 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-23 05:01:25 +00:00
Tanya Lattner
43b4e35547 Fix build error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58004 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 21:46:49 +00:00
Tanya Lattner
60840c8b35 Rename bitcastToAPInt to convertToAPInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58003 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 21:43:33 +00:00
Tanya Lattner
60a2e51bdd Merge from mainline.
Disallow the construction of SCEVs with could-not-compute operands. Catch CNCs
returned by BinomialCoefficient and don't try to operate with them. This
replaces the previous fix for PR2857.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57958 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 05:09:51 +00:00
Tanya Lattner
b9c01c2c6f Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57957 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 05:05:36 +00:00
Tanya Lattner
c6c313a84b Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 04:35:41 +00:00
Tanya Lattner
50dddbdc5e Merge from mainline
Fix a bug that prevented llvm-extract -delete from working.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 04:23:59 +00:00
Tanya Lattner
8c07c4ede0 remove v[if]cmp functionality from the 2.4 release. These instructions will be removed or substantially changes in mainline after the 2.4 release and we don't want to have to support these for backwards compatibility purposes. Patch by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57732 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 21:36:29 +00:00
Tanya Lattner
738c257ed4 Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57725 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 21:07:48 +00:00
Tanya Lattner
3c1684041d Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57713 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 18:26:56 +00:00
Tanya Lattner
cb48593bc7 Merge from mainline..
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57708 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 18:10:12 +00:00
Tanya Lattner
2c87dd9d7a Merge from mainline.
Properly handle linking of strong alias with weak function, this fixes
      PR2883


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57707 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 18:05:18 +00:00
Tanya Lattner
53c0c8b703 Merge from mainline.
Also update sub-register intervals after a trivial computation is rematt'ed
for a copy instruction. PR2775.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57706 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 18:02:30 +00:00
Tanya Lattner
3f523e3248 Merge from mainline.
Unbreak DbgStopPointInst::getFileName().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57705 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 18:01:34 +00:00
Tanya Lattner
a9616b85c7 Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57703 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 17:58:39 +00:00
Tanya Lattner
b90586744b Merge from mainline.
Improve the description on the getelementptr instruction. It should now better
define what the instruction does. This also makes it clear that getelementptr
can index into a vector type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57702 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 17:56:46 +00:00
Tanya Lattner
72e3d1cb38 Merge from mainline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57701 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 17:55:20 +00:00
Tanya Lattner
6025e4b7e6 Merge from mainline.
Change CALLSEQ_BEGIN and CALLSEQ_END to take TargetConstant's as
parameters instead of raw Constants.  This prevents the constants from
being selected by the isel pass, fixing PR2735.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57700 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 17:53:06 +00:00
Tanya Lattner
7f3bc26428 Merge from mainline.
Fix PR2697 by rewriting the '(X / pos) op neg' logic.  This also changes a couple other cases for clarity, but shouldn't affect correctness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57698 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 17:50:35 +00:00
Tanya Lattner
e52d42290c update win32 project file, patch provided by OvermindDL1 on llvmdev.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57697 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 17:40:17 +00:00
Tanya Lattner
29a8f64a62 Merge from mainline.
Add missing semicolumns in parser rules, those missing semicolumns
are required to compile with the latest Bison.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57297 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-08 16:56:22 +00:00
Tanya Lattner
778ecdb762 Merge from mainline.
Add two forgotten </i>'s.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57296 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-08 16:52:23 +00:00
Tanya Lattner
6fd37dbbfe Merge from mainline.
Fix disagreement about where the attributes are
~0 != ~0U.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57278 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 23:17:48 +00:00
Tanya Lattner
7149ac167c Merge from mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57269 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 22:34:35 +00:00
Tanya Lattner
892d232136 Correct version number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57235 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 04:43:28 +00:00
Tanya Lattner
159048ae89 Create 2.4 release branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57229 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 04:06:01 +00:00
Andrew Lenharth
d29f489ece Add test case for ADDC ADDE expansion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57228 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 02:30:13 +00:00
Andrew Lenharth
1b19ef0295 Note that ADDC and company don't actually expand yet (missing in legalize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57226 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 02:10:26 +00:00
Dale Johannesen
e4a4245906 Mark negative-zero-to-int conversion as Inexact,
since -0.0 can't be represented as an int.
This prevents llvm from reducing -0.0 to a
load-and-convert of int 0.  Fixes
ieee.exp/mzero[2356].c in gcc testsuite.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57224 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 00:40:01 +00:00
Dan Gohman
b5cc34d098 Correctly handle calls with no return values. This fixes
2006-01-23-UnionInit on x86-64 when inlining is not enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57223 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 00:12:37 +00:00
Devang Patel
d44b7c1b07 Fix typo, fix PR 2865.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57221 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 23:22:54 +00:00
Dale Johannesen
2df5eec2ff Be more precise about which conversions of NaNs
are Inexact.  (These are not Inexact as defined
by IEEE754, but that seems like a reasonable way
to abstract what happens:  information is lost.)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57218 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 22:59:10 +00:00
Devang Patel
e93f5db6e5 Set UNIVERSAL_ARCH value.
Fixes build failure when target is i386.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57211 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 21:24:48 +00:00
Evan Cheng
882cdfde51 Fix PR2850 and PR2863. Only generate movddup for 128-bit SSE vector shuffles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 21:13:08 +00:00
Dale Johannesen
65609f2efa Temporarily revert functionality change from my previous patch;
it is too aggressive.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57203 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 20:43:48 +00:00
Devang Patel
617fddf51c Remove interfaces implemented by dead pass from the list of available passes.
Patch By Matthijs Kooijman.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57202 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 20:36:36 +00:00
Evan Cheng
a3668afdee Cosmetic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57200 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 20:33:02 +00:00
Devang Patel
f642f4707f Update function attributes docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57197 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 18:50:38 +00:00
Evan Cheng
9d0edb0b26 This is an objective-c test, not an objective-c++ one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57193 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 18:42:48 +00:00
Dale Johannesen
d3d8ce3aba Mark shortening NaN conversions as Inexact. PR 2856.
Improve description of unsupported formats.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57185 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 18:22:29 +00:00
Devang Patel
e76225a4c1 It is possible that all functions in one module are not being
optimized for size. Set OptForSize for each function separately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57182 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 18:03:39 +00:00