oota-llvm.git
15 years agoAdd <cstdio> include where needed by gcc-4.4.
Duncan Sands [Wed, 8 Oct 2008 07:23:46 +0000 (07:23 +0000)]
Add <cstdio> include where needed by gcc-4.4.
Patch by Samuel Tardieu.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57291 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoregenerate
Chris Lattner [Wed, 8 Oct 2008 06:44:45 +0000 (06:44 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57290 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd missing semicolumns in parser rules, those missing semicolumns
Chris Lattner [Wed, 8 Oct 2008 06:44:36 +0000 (06:44 +0000)]
Add missing semicolumns in parser rules, those missing semicolumns
are required to compile with the latest Bison.

Patch by Samuel Tardieu!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57289 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd parentheses to avoid warnings in GCC 4.4.0,
Chris Lattner [Wed, 8 Oct 2008 06:42:28 +0000 (06:42 +0000)]
Add parentheses to avoid warnings in GCC 4.4.0,
patch by Samuel Tardieu!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57288 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix typo
Chris Lattner [Wed, 8 Oct 2008 06:26:11 +0000 (06:26 +0000)]
fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57287 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the case where an instruction is not properly marked as using all registers that...
Owen Anderson [Wed, 8 Oct 2008 04:30:51 +0000 (04:30 +0000)]
Fix the case where an instruction is not properly marked as using all registers that alias its inputs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57286 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove -disable-fast-isel. Use cl::boolOrDefault with -fast-isel
Dan Gohman [Tue, 7 Oct 2008 23:00:56 +0000 (23:00 +0000)]
Remove -disable-fast-isel. Use cl::boolOrDefault with -fast-isel
instead.

So now: -fast-isel or -fast-isel=true enable fast-isel, and
-fast-isel=false disables it. Fast-isel is also on by default
with -fast, and off by default otherwise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57270 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix disagreement about where the attributes are
Eric Christopher [Tue, 7 Oct 2008 22:33:44 +0000 (22:33 +0000)]
Fix disagreement about where the attributes are
~0 != ~0U.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57268 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix configure issue where configure
Tanya Lattner [Tue, 7 Oct 2008 22:21:03 +0000 (22:21 +0000)]
Fix configure issue where configure
turned "obj-c++" into "obj" in the langs line.
Update configure script.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57267 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd MBB successors and physreg Uses in the same order that
Dan Gohman [Tue, 7 Oct 2008 22:10:33 +0000 (22:10 +0000)]
Add MBB successors and physreg Uses in the same order that
SDISel typically adds them in. This makes it a little easier
to compare FastISel output with SDISel output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57266 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAvoid emitting redundant materializations of integer constants
Dan Gohman [Tue, 7 Oct 2008 22:03:27 +0000 (22:03 +0000)]
Avoid emitting redundant materializations of integer constants
for things like null pointers, which at this level aren't
different from regular integer constants.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57265 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoInstead of emitting an implicit use for the super-register of
Dan Gohman [Tue, 7 Oct 2008 21:50:36 +0000 (21:50 +0000)]
Instead of emitting an implicit use for the super-register of
X86::CL that was used, emit an EXTRACT_SUBREG from the CL
super-register to CL. This more precisely describes how the
CL register is being used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57264 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUnconditional branch instruction encoding fix. Needs to use ABI, not AXI, to get...
Jim Grosbach [Tue, 7 Oct 2008 21:08:09 +0000 (21:08 +0000)]
Unconditional branch instruction encoding fix. Needs to use ABI, not AXI, to get the proper opcode bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57262 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoneed ARM.h for ARMCC definition
Jim Grosbach [Tue, 7 Oct 2008 21:01:51 +0000 (21:01 +0000)]
need ARM.h for ARMCC definition

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57261 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a testcase for i256 add. i256 isn't fully supported in
Dan Gohman [Tue, 7 Oct 2008 20:39:12 +0000 (20:39 +0000)]
Add a testcase for i256 add. i256 isn't fully supported in
codegen right now, but add and subtract work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57260 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd an option to enable StrongPHIElimination, for ease of testing.
Owen Anderson [Tue, 7 Oct 2008 20:22:28 +0000 (20:22 +0000)]
Add an option to enable StrongPHIElimination, for ease of testing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57259 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEncode the conditional execution predicate when JITing.
Jim Grosbach [Tue, 7 Oct 2008 19:05:35 +0000 (19:05 +0000)]
Encode the conditional execution predicate when JITing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57258 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoModel hardwired inputs & outputs of x86 8-bit divides correctly.
Dale Johannesen [Tue, 7 Oct 2008 18:54:28 +0000 (18:54 +0000)]
Model hardwired inputs & outputs of x86 8-bit divides correctly.
Fixes local RA miscompilation of gcc.c-torture/execute/20020904-1.c -O0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57257 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse Dan's supperior check
Andrew Lenharth [Tue, 7 Oct 2008 18:27:23 +0000 (18:27 +0000)]
Use Dan's supperior check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57255 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCorrectly set attributes when removing args during cloning. Fixes PR2765
Andrew Lenharth [Tue, 7 Oct 2008 18:08:38 +0000 (18:08 +0000)]
Correctly set attributes when removing args during cloning.  Fixes PR2765

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57254 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove function definition, call and invoke instruction docs.
Devang Patel [Tue, 7 Oct 2008 17:48:33 +0000 (17:48 +0000)]
Improve function definition, call and invoke instruction docs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57253 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClarify naming and correct conditional so that CMP and CMN instructions get the Rn...
Jim Grosbach [Tue, 7 Oct 2008 17:42:09 +0000 (17:42 +0000)]
Clarify naming and correct conditional so that CMP and CMN instructions get the Rn operand encoded properly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57252 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix Opcode values of CMP and CMN
Jim Grosbach [Tue, 7 Oct 2008 17:40:46 +0000 (17:40 +0000)]
Fix Opcode values of CMP and CMN

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57251 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago128 mul test, xfailed
Andrew Lenharth [Tue, 7 Oct 2008 17:13:32 +0000 (17:13 +0000)]
128 mul test, xfailed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57250 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoNo need for |=
Andrew Lenharth [Tue, 7 Oct 2008 17:11:29 +0000 (17:11 +0000)]
No need for |=

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57249 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse ADDC if it is valid at any smaller size. Do it right this time
Andrew Lenharth [Tue, 7 Oct 2008 17:09:16 +0000 (17:09 +0000)]
Use ADDC if it is valid at any smaller size.  Do it right this time

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57248 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse ADDC if it is valid at any smaller size. fixes test/Codegen/Generic/i128-addsub...
Andrew Lenharth [Tue, 7 Oct 2008 17:03:15 +0000 (17:03 +0000)]
Use ADDC if it is valid at any smaller size.  fixes test/Codegen/Generic/i128-addsub.ll on x86

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57247 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCertain patterns involving the "movss" instruction were marked as requiring SSE2...
Anders Carlsson [Tue, 7 Oct 2008 16:14:11 +0000 (16:14 +0000)]
Certain patterns involving the "movss" instruction were marked as requiring SSE2, when in reality movss is an SSE1 instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57246 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd support for running the test suite with valgrind. to run it just type 'make VG...
Nuno Lopes [Tue, 7 Oct 2008 14:48:14 +0000 (14:48 +0000)]
add support for running the test suite with valgrind. to run it just type 'make VG=1', as in clang
beware of the 42000 leaks reported by valgrind in the Constant.cpp + Type.cpp files. it needs fixing IMHO

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57245 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoExpand arith on machines without carry flags
Andrew Lenharth [Tue, 7 Oct 2008 14:15:42 +0000 (14:15 +0000)]
Expand arith on machines without carry flags

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57243 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd two forgotten </i>'s.
Matthijs Kooijman [Tue, 7 Oct 2008 10:03:45 +0000 (10:03 +0000)]
Add two forgotten </i>'s.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57239 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix filetype suffix
Gabor Greif [Tue, 7 Oct 2008 06:41:02 +0000 (06:41 +0000)]
fix filetype suffix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57237 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdvance version to 2.5
Tanya Lattner [Tue, 7 Oct 2008 04:35:08 +0000 (04:35 +0000)]
Advance version to 2.5

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57233 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agono need to write the output to the disk
Chris Lattner [Tue, 7 Oct 2008 04:06:55 +0000 (04:06 +0000)]
no need to write the output to the disk

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57232 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd test case for ADDC ADDE expansion
Andrew Lenharth [Tue, 7 Oct 2008 02:30:13 +0000 (02:30 +0000)]
Add test case for ADDC ADDE expansion

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57228 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoNote that ADDC and company don't actually expand yet (missing in legalize
Andrew Lenharth [Tue, 7 Oct 2008 02:10:26 +0000 (02:10 +0000)]
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

15 years agoMark negative-zero-to-int conversion as Inexact,
Dale Johannesen [Tue, 7 Oct 2008 00:40:01 +0000 (00:40 +0000)]
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

15 years agoCorrectly handle calls with no return values. This fixes
Dan Gohman [Tue, 7 Oct 2008 00:12:37 +0000 (00:12 +0000)]
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

15 years agoFix typo, fix PR 2865.
Devang Patel [Mon, 6 Oct 2008 23:22:54 +0000 (23:22 +0000)]
Fix typo, fix PR 2865.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57221 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBe more precise about which conversions of NaNs
Dale Johannesen [Mon, 6 Oct 2008 22:59:10 +0000 (22:59 +0000)]
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

15 years agoSet UNIVERSAL_ARCH value.
Devang Patel [Mon, 6 Oct 2008 21:24:48 +0000 (21:24 +0000)]
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

15 years agoFix PR2850 and PR2863. Only generate movddup for 128-bit SSE vector shuffles.
Evan Cheng [Mon, 6 Oct 2008 21:13:08 +0000 (21:13 +0000)]
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

15 years agoTemporarily revert functionality change from my previous patch;
Dale Johannesen [Mon, 6 Oct 2008 20:43:48 +0000 (20:43 +0000)]
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

15 years agoRemove interfaces implemented by dead pass from the list of available passes.
Devang Patel [Mon, 6 Oct 2008 20:36:36 +0000 (20:36 +0000)]
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

15 years agoCosmetic.
Evan Cheng [Mon, 6 Oct 2008 20:33:02 +0000 (20:33 +0000)]
Cosmetic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57200 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate function attributes docs.
Devang Patel [Mon, 6 Oct 2008 18:50:38 +0000 (18:50 +0000)]
Update function attributes docs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57197 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoThis is an objective-c test, not an objective-c++ one.
Evan Cheng [Mon, 6 Oct 2008 18:42:48 +0000 (18:42 +0000)]
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

15 years agoMark shortening NaN conversions as Inexact. PR 2856.
Dale Johannesen [Mon, 6 Oct 2008 18:22:29 +0000 (18:22 +0000)]
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

15 years agoIt is possible that all functions in one module are not being
Devang Patel [Mon, 6 Oct 2008 18:03:39 +0000 (18:03 +0000)]
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

15 years agoDon't dereference the end() iterator. Thanks to
Dan Gohman [Mon, 6 Oct 2008 18:00:07 +0000 (18:00 +0000)]
Don't dereference the end() iterator. Thanks to
ENABLE_EXPENSIVE_CHECKS for finding this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57181 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove unncessary isDeclaration() checks.
Devang Patel [Mon, 6 Oct 2008 17:30:07 +0000 (17:30 +0000)]
Remove unncessary isDeclaration() checks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57179 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAllow scalarrepl to treat an all-zero GEP just as bitcast.
Matthijs Kooijman [Mon, 6 Oct 2008 16:23:31 +0000 (16:23 +0000)]
Allow scalarrepl to treat an all-zero GEP just as bitcast.

This includes not marking a GEP involving a vector as unsafe, but only when it
has all zero indices. This allows scalarrepl to work in a few more cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57177 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoActually run Obj-C++ tests if llvm-gcc supports.
Duncan Sands [Mon, 6 Oct 2008 10:31:21 +0000 (10:31 +0000)]
Actually run Obj-C++ tests if llvm-gcc supports.
Before there were two problems: (1) configure
turned "obj-c++" into "obj" in the langs line;
(2) the dejagnu library called it objc++ not
obj-c++.
Now the problem is that some of these tests don't
pass!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57167 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClarify the relationship between byval and readonly/
Duncan Sands [Mon, 6 Oct 2008 08:14:18 +0000 (08:14 +0000)]
Clarify the relationship between byval and readonly/
readnone.  Make clearer that readnone functions do not
dereference pointer arguments.  Do not use the highly
ambiguous "side-effects" in the readonly description
(since such functions can have control flow side-effects,
such as throwing an exception, or looping for ever).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57166 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoreorder #include order, patch by Kenneth Boyd!
Chris Lattner [Mon, 6 Oct 2008 03:54:25 +0000 (03:54 +0000)]
reorder #include order, patch by Kenneth Boyd!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57148 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd #include to get alloca, patch by Kenneth Boyd!
Chris Lattner [Mon, 6 Oct 2008 03:53:16 +0000 (03:53 +0000)]
Add #include to get alloca, patch by Kenneth Boyd!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57147 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix shift overflow bug that would occur when a field was a full 32-bits
Chris Lattner [Sun, 5 Oct 2008 18:31:58 +0000 (18:31 +0000)]
Fix shift overflow bug that would occur when a field was a full 32-bits
in tblgen.  This is PR2827, thanks to Waldemar Knorr for tracking this
down.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57124 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix an incorrect and extremely confusing error message
Chris Lattner [Sun, 5 Oct 2008 18:24:03 +0000 (18:24 +0000)]
fix an incorrect and extremely confusing error message

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57123 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomake the autoupgrade code for ret attributes dramatically simpler
Chris Lattner [Sun, 5 Oct 2008 18:22:09 +0000 (18:22 +0000)]
make the autoupgrade code for ret attributes dramatically simpler
and actually work.  We can now read the llvm 2.3 bc file from PR2849

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57122 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoA word got optimized out, thanks to Duncan for pointing this out
Chris Lattner [Sun, 5 Oct 2008 17:14:59 +0000 (17:14 +0000)]
A word got optimized out, thanks to Duncan for pointing this out

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57116 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoregenerate
Nuno Lopes [Sun, 5 Oct 2008 16:49:34 +0000 (16:49 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57114 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoclean ArgTypeListI production: free the PATypeHolder
Nuno Lopes [Sun, 5 Oct 2008 16:49:03 +0000 (16:49 +0000)]
clean ArgTypeListI production: free the PATypeHolder

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57113 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEmit type-correct constant null. Also fix a typo.
Anton Korobeynikov [Sun, 5 Oct 2008 15:07:06 +0000 (15:07 +0000)]
Emit type-correct constant null. Also fix a typo.

Patch by Robert G. Jakabosky!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57110 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix weird think-o and unbreak build on all gcc-3.4.x-based platforms (e.g. mingw)
Anton Korobeynikov [Sun, 5 Oct 2008 08:53:29 +0000 (08:53 +0000)]
Fix weird think-o and unbreak build on all gcc-3.4.x-based platforms (e.g. mingw)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57106 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agothis case is matched now.
Chris Lattner [Sun, 5 Oct 2008 02:16:12 +0000 (02:16 +0000)]
this case is matched now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57096 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorewrite bswap matching to be more general, allowing arbitrary
Chris Lattner [Sun, 5 Oct 2008 02:13:19 +0000 (02:13 +0000)]
rewrite bswap matching to be more general, allowing arbitrary
shifting and masking inside a bswap expr.  This allows it to handle
the cases from PR2842, which involve the intermediate 'or'
expressions being shifted, not just the input value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57095 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate VC++ project file
Steve Naroff [Sun, 5 Oct 2008 01:04:07 +0000 (01:04 +0000)]
Update VC++ project file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57091 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix a bug where the bswap matcher could match a case involving
Chris Lattner [Sun, 5 Oct 2008 00:50:57 +0000 (00:50 +0000)]
fix a bug where the bswap matcher could match a case involving
ashr.  It should only apply to lshr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57089 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agowrap some long lines and expand i32 mul's to libcalls, inspired by a
Chris Lattner [Sat, 4 Oct 2008 21:27:46 +0000 (21:27 +0000)]
wrap some long lines and expand i32 mul's to libcalls, inspired by a
patch by Mikael Lepisto!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57077 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Reflected changes on source file structure. New plugin support
Oscar Fuentes [Sat, 4 Oct 2008 21:18:50 +0000 (21:18 +0000)]
CMake: Reflected changes on source file structure. New plugin support
for llvmc2 incomplete.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57076 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate the documentation for first-class aggregates changes,
Dan Gohman [Sat, 4 Oct 2008 19:00:07 +0000 (19:00 +0000)]
Update the documentation for first-class aggregates changes,
and remove getresult and references thereto.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57064 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd a note about inline asm
Chris Lattner [Sat, 4 Oct 2008 18:36:02 +0000 (18:36 +0000)]
add a note about inline asm

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57062 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoimprove description of param/ret attrs
Chris Lattner [Sat, 4 Oct 2008 18:33:34 +0000 (18:33 +0000)]
improve description of param/ret attrs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57061 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoimprove descriptions of function attrs
Chris Lattner [Sat, 4 Oct 2008 18:23:17 +0000 (18:23 +0000)]
improve descriptions of function attrs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57060 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agonotes are gone.
Chris Lattner [Sat, 4 Oct 2008 18:10:21 +0000 (18:10 +0000)]
notes are gone.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57059 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agocomment cleanups
Chris Lattner [Sat, 4 Oct 2008 18:08:00 +0000 (18:08 +0000)]
comment cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57058 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake GenLibDeps.pl more robust in the face of broken piping problems.
Chris Lattner [Sat, 4 Oct 2008 18:03:46 +0000 (18:03 +0000)]
Make GenLibDeps.pl more robust in the face of broken piping problems.
Patch by Kenneth Boyd!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57057 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIgnore loads from and stores to local memory (i.e. allocas)
Duncan Sands [Sat, 4 Oct 2008 13:24:24 +0000 (13:24 +0000)]
Ignore loads from and stores to local memory (i.e. allocas)
when deciding whether to mark a function readnone/readonly.
Since the pass is currently run before SROA, this may be
quite helpful.  Requested by Chris on IRC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57050 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAllow the construction of SCEVs with SCEVCouldNotCompute operands, by
Nick Lewycky [Sat, 4 Oct 2008 11:19:07 +0000 (11:19 +0000)]
Allow the construction of SCEVs with SCEVCouldNotCompute operands, by
implementing folding. Fixes PR2857.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57049 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert r56675 - it breaks unwinding runtime everywhere.
Anton Korobeynikov [Sat, 4 Oct 2008 11:09:36 +0000 (11:09 +0000)]
Revert r56675 - it breaks unwinding runtime everywhere.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57048 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd implementations for sys::Memory::setWritable and sys::Memory::setExecutable on...
Argyrios Kyrtzidis [Sat, 4 Oct 2008 08:15:32 +0000 (08:15 +0000)]
Add implementations for sys::Memory::setWritable and sys::Memory::setExecutable on Win32 platform.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57047 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix compilation error on MSVC.
Argyrios Kyrtzidis [Sat, 4 Oct 2008 08:11:49 +0000 (08:11 +0000)]
Fix compilation error on MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57046 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix fast-isel's handling of atomic instructions. They may
Dan Gohman [Sat, 4 Oct 2008 00:56:36 +0000 (00:56 +0000)]
Fix fast-isel's handling of atomic instructions. They may
expand to multiple basic blocks, in which case fast-isel
needs to informed of which block to use as it resumes
inserting instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57040 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a bug in the local allocator's liveness computation where it
Dan Gohman [Sat, 4 Oct 2008 00:31:14 +0000 (00:31 +0000)]
Fix a bug in the local allocator's liveness computation where it
was setting kill flags on tied uses in two-address instructions.
The kill flags were causing the allocator to think it could
allocate the use and its tied def in different registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57039 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake atomic Swap work, 64-bit on x86-32.
Dale Johannesen [Fri, 3 Oct 2008 22:25:52 +0000 (22:25 +0000)]
Make atomic Swap work, 64-bit on x86-32.
Make it all work in non-pic mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57034 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClean up some multiple-return-value code that is no longer
Dan Gohman [Fri, 3 Oct 2008 22:21:24 +0000 (22:21 +0000)]
Clean up some multiple-return-value code that is no longer
applicable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57033 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange PointerType::get -> getUnqual
Daniel Dunbar [Fri, 3 Oct 2008 22:17:25 +0000 (22:17 +0000)]
Change PointerType::get -> getUnqual

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57032 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename llvmc2/core to llvmc2/driver.
Mikhail Glushenkov [Fri, 3 Oct 2008 21:26:27 +0000 (21:26 +0000)]
Rename llvmc2/core to llvmc2/driver.

Makefiles try to remove 'core' by default, so it wasn't a very good name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57031 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAnother dependency fix, prevent ObjDir from having trailing slash.
Daniel Dunbar [Fri, 3 Oct 2008 21:24:52 +0000 (21:24 +0000)]
Another dependency fix, prevent ObjDir from having trailing slash.
 - It turns out this is enough to completely break dependency file
   (.d) usage (at least for my gmake).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57030 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix function attribute verification check.
Devang Patel [Fri, 3 Oct 2008 21:11:02 +0000 (21:11 +0000)]
Fix function attribute verification check.
Thanks Duncan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57029 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPass MemOperand through for 64-bit atomics on 32-bit,
Dale Johannesen [Fri, 3 Oct 2008 19:41:08 +0000 (19:41 +0000)]
Pass MemOperand through for 64-bit atomics on 32-bit,
incidentally making the case where the memop is a
pointer deref work.  Fix cmp-and-swap regression.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57027 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd IS_CLEANING_TARGET Makefile variable.
Daniel Dunbar [Fri, 3 Oct 2008 19:11:19 +0000 (19:11 +0000)]
Add IS_CLEANING_TARGET Makefile variable.
 - Fixes bug in dependency inclusions where make with unspecified
   target wouldn't include dependency files, eek!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57026 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoNick Lewycky's patch.
Devang Patel [Fri, 3 Oct 2008 18:57:37 +0000 (18:57 +0000)]
Nick Lewycky's patch.
While hosting instruction check PHI node.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57025 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoupdate svn:ignore
Nuno Lopes [Fri, 3 Oct 2008 18:13:54 +0000 (18:13 +0000)]
update svn:ignore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57024 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoNew test case.
Evan Cheng [Fri, 3 Oct 2008 18:12:59 +0000 (18:12 +0000)]
New test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57023 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse -1ULL instead of uint64_t(-1), at Anton's suggestion.
Dan Gohman [Fri, 3 Oct 2008 17:56:45 +0000 (17:56 +0000)]
Use -1ULL instead of uint64_t(-1), at Anton's suggestion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57021 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoVerify function attributes.
Devang Patel [Fri, 3 Oct 2008 17:50:00 +0000 (17:50 +0000)]
Verify function attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57020 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix typos pointed out by Duncan. Also untabify these files.
Evan Cheng [Fri, 3 Oct 2008 17:11:58 +0000 (17:11 +0000)]
Fix typos pointed out by Duncan. Also untabify these files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57018 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUnbreak build.
Daniel Dunbar [Fri, 3 Oct 2008 17:11:57 +0000 (17:11 +0000)]
Unbreak build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57017 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAvoid creating two TargetLowering objects for each target.
Dan Gohman [Fri, 3 Oct 2008 16:55:19 +0000 (16:55 +0000)]
Avoid creating two TargetLowering objects for each target.
Instead, just create one, and make sure everything that needs
it can access it. Previously most of the SelectionDAGISel
subclasses all had their own TargetLowering object, which was
redundant with the TargetLowering object in the TargetMachine
subclasses, except on Sparc, where SparcTargetMachine
didn't have a TargetLowering object. Change Sparc to work
more like the other targets here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57016 91177308-0d34-0410-b5e6-96231b3b80d8