Nate Begeman
54c022156d
Commit a small improvement that is already in the x86 and ia64 backends to
...
not generate unnecessary register copies. This improves compile time by
2-5% depending on the test.
llvm-svn: 22210
2005-06-14 03:55:23 +00:00
Reid Spencer
6d231e55fa
Unbreak several InstCombine regression checks introduced by a hack to
...
fix the bzip2 test. A better hack is needed.
llvm-svn: 22209
2005-06-13 06:41:26 +00:00
Nate Begeman
2829f330a3
When compiled with GCC 4.0, a latent bug was exposed where both SparcV9
...
and the target independant register allocator were both using a class named
'LiveRange'. This lead to the target independant code calling code in the
SparcV9 backend, which crashed. Fixed by renaming SparcV9's LiveRange to
V9LiveRange.
llvm-svn: 22208
2005-06-12 23:52:58 +00:00
Nate Begeman
02e33b70b1
Fix a memory smasher caught by Mac OS X's debug malloc library. We were
...
incorrectly using an iterator after it was invalid.
llvm-svn: 22207
2005-06-12 23:50:33 +00:00
Chris Lattner
1609a541cd
Fix a 64-bit problem, passing (int)0 through ... instead of (void*)0
...
llvm-svn: 22206
2005-06-09 03:32:54 +00:00
Chris Lattner
fbc45f10d0
Fix a problem on 64-bit targets where we passed (int)0 through ... instead of
...
(void*)0.
llvm-svn: 22205
2005-06-09 02:59:00 +00:00
Andrew Lenharth
ea9af931b8
make SparcV8 and V9 seperately configurable
...
llvm-svn: 22204
2005-06-08 22:32:51 +00:00
Andrew Lenharth
c504a3db60
fix BranchCC with a setCC with an arg of 0
...
llvm-svn: 22203
2005-06-08 18:02:21 +00:00
Reid Spencer
8086cfaa6a
For PR572:
...
Undefine the PPC symbol which is defined by Linux/PPC (erroneously) so it
doesn't pollute the user namespace and clash with our namespace declarations.
llvm-svn: 22202
2005-06-08 17:44:48 +00:00
Nate Begeman
60cf00c982
Handle some more real world cases of rlwimi. These don't come up that
...
regularly in "normal" code, but for things like software graphics, they
make a big difference.
For the following code:
unsigned short Trans16Bit(unsigned srcA,unsigned srcB,unsigned alpha)
{
unsigned tmpA,tmpB,mixed;
tmpA = ((srcA & 0x03E0) << 15) | (srcA & 0x7C1F);
tmpB = ((srcB & 0x03E0) << 15) | (srcB & 0x7C1F);
mixed = (tmpA * alpha) + (tmpB * (32 - alpha));
return ((mixed >> 5) & 0x7C1F) | ((mixed >> 20) & 0x03E0);
}
We now generate:
_Trans16Bit:
.LBB_Trans16Bit_0: ; entry
andi. r2, r4, 31775
rlwimi r2, r4, 15, 7, 11
subfic r4, r5, 32
mullw r2, r2, r4
andi. r4, r3, 31775
rlwimi r4, r3, 15, 7, 11
mullw r3, r4, r5
add r2, r2, r3
srwi r3, r2, 5
andi. r3, r3, 31775
rlwimi r3, r2, 12, 22, 26
blr
Instead of:
_Trans16Bit:
.LBB_Trans16Bit_0: ; entry
slwi r2, r4, 15
rlwinm r2, r2, 0, 7, 11
andi. r4, r4, 31775
or r2, r2, r4
subfic r4, r5, 32
mullw r2, r2, r4
slwi r4, r3, 15
rlwinm r4, r4, 0, 7, 11
andi. r3, r3, 31775
or r3, r4, r3
mullw r3, r3, r5
add r2, r2, r3
srwi r3, r2, 5
andi. r3, r3, 31775
srwi r2, r2, 20
rlwimi r3, r2, 0, 22, 26
blr
llvm-svn: 22201
2005-06-08 04:14:27 +00:00
Nate Begeman
85c7d546fe
Fix lli linking on Mac OS X 10.4.1 for Intel.
...
llvm-svn: 22200
2005-06-08 01:02:38 +00:00
Andrew Lenharth
c3f68473a5
Remove code for conversion from old style va_args. Preparing the way for
...
returning to the old style :)
llvm-svn: 22199
2005-06-08 00:49:08 +00:00
Misha Brukman
ee14fc41f1
We also have V8, so do not force every Sparc to be treated like a V9. It is
...
still possible to force V9 (even if configure doesn't think it's one) via
``./configure --target=sparcv9-sun-solaris2.8'' so nothing is lost.
llvm-svn: 22198
2005-06-06 19:29:36 +00:00
Misha Brukman
ee811dcd12
* Add ability to specify the target LLVM will compile for via configure
...
* Minor whitespace cleanups
llvm-svn: 22197
2005-06-06 19:17:05 +00:00
Misha Brukman
ddb94f4169
Fix spelling of `correlate'
...
llvm-svn: 22196
2005-06-06 19:08:04 +00:00
Andrew Lenharth
c74fe84456
allow marking of loads and stores in the instruction stream with enough information to reconstruct the Value* if it existed
...
llvm-svn: 22195
2005-06-06 19:03:55 +00:00
Andrew Lenharth
b07a3d7138
hide basic block labels. The utility of these for debuging is long since passed
...
llvm-svn: 22194
2005-06-06 19:03:09 +00:00
Misha Brukman
175df27466
* Replace block of commented-out lines with #if 0
...
* Remove warning "control reaches end of non-void function"
llvm-svn: 22193
2005-06-06 17:39:46 +00:00
Andrew Lenharth
ffe65458e7
hack to fix bzip2 (bug 571)
...
llvm-svn: 22192
2005-06-04 12:43:56 +00:00
Reid Spencer
2a43ec334a
Fix the definitions of LLVMGCC and LLVMGXX to include the EXEEXT (the
...
.exe extension) on Cygwin. This fixes the last few remaining Cygwin
issues. Thanks to Aaron Gray for tracking this down.
llvm-svn: 22191
2005-06-02 22:34:49 +00:00
Reid Spencer
4c07caf9d4
Make sure that Cygwin assembly includes _ as part of function names.
...
llvm-svn: 22190
2005-06-02 21:33:19 +00:00
Reid Spencer
d1ef1df103
Put in a hack for Cygwin that prevents mkdtemp from being used since
...
configure seems to find it on Cygwin but linking against it fails.
llvm-svn: 22189
2005-06-02 05:38:20 +00:00
Andrew Lenharth
7c0e9285ce
try custom expanders, doesn't seem to expand yet, so disabled
...
llvm-svn: 22188
2005-05-31 19:49:34 +00:00
Andrew Lenharth
41e2981e0a
switch to the new live in thing. Really, this time it works
...
llvm-svn: 22187
2005-05-31 18:42:18 +00:00
Andrew Lenharth
676e4db6dc
switch to the new live in thing
...
llvm-svn: 22186
2005-05-31 18:37:16 +00:00
Andrew Lenharth
973d85e660
switch to the new live in thing
...
llvm-svn: 22185
2005-05-31 18:35:43 +00:00
Reid Spencer
d85c00251e
Make sure the tools get built if no build target is specified.
...
llvm-svn: 22184
2005-05-29 00:49:24 +00:00
Andrew Lenharth
86f856f19c
match gcc, makes diff easier
...
llvm-svn: 22179
2005-05-27 03:39:30 +00:00
Andrew Lenharth
39edea8306
Fix 2005-05-12-Int64ToFP
...
The issue is there is no unsigned -> double conversion, only signed. So I
need to test the sign and do a different thing depending on it. Ideally
this should be in a different BB, but in the mean time, I use a branch
free method.
llvm-svn: 22177
2005-05-26 18:18:34 +00:00
Misha Brukman
6f78543a86
Add a -cvstag option for testing specific branches, such as release candidates
...
llvm-svn: 22176
2005-05-26 16:28:55 +00:00
Reid Spencer
fec4f805d6
Add a "libs-only" target for avoiding construction of the tools and
...
runtime libraries.
llvm-svn: 22169
2005-05-25 21:03:17 +00:00
Reid Spencer
13f5193ff7
Two dist-check related changes:
...
1. Allow DIST_CHECK_CONFIG_OPTION to specify a set of options to be passed
to the configure script during the dist-check target. This allows things
to be passed down on a project basis so the configure doesn't fail.
2. Use the tar | (cd ; tar ) idiom to copy files which is more flexible
than using the cp command. THis allows us to exclude CVS .svn
directories at source rather than stripping them out of the tar ball.
llvm-svn: 22166
2005-05-24 02:33:20 +00:00
Reid Spencer
9c636a3b9b
Remove trailing blank line, just to test whether the new commit script
...
is going to credit the commit correctly or not.
llvm-svn: 22165
2005-05-21 01:29:30 +00:00
Reid Spencer
9fbad13dd7
Make the registration hash_map static. No other module needs it. Also,
...
document what its for a little better.
llvm-svn: 22164
2005-05-21 01:27:04 +00:00
Reid Spencer
0b13cdabae
Adjust the file comment to read a little easier.
...
llvm-svn: 22163
2005-05-21 00:57:44 +00:00
Reid Spencer
45bb4afc79
Make sure ... arguments are casted to sbyte* where needed.
...
llvm-svn: 22162
2005-05-21 00:39:30 +00:00
Reid Spencer
895af9ef24
Add a "brief" comment for CastToCStr
...
llvm-svn: 22161
2005-05-21 00:23:23 +00:00
Chris Lattner
bb09f861cd
new testcase
...
llvm-svn: 22160
2005-05-20 22:25:44 +00:00
Chris Lattner
f8053cee7c
Fix mismatched type problem that crashed on cases like this:
...
sprintf(P, "%s", X);
Where X is not an sbyte*. This fixes the bug JohnMC reported on llvm-bugs.
llvm-svn: 22159
2005-05-20 22:22:25 +00:00
Chris Lattner
19f9f32a5c
Fix Transforms/SimplifyCFG/switch-simplify-crash.ll
...
llvm-svn: 22158
2005-05-20 22:19:54 +00:00
Chris Lattner
7e9e2e0ea9
New testcase that crashes simplifycfg, identified accidentally by JohnMC
...
llvm-svn: 22157
2005-05-20 22:19:34 +00:00
Nate Begeman
38724d33c1
C'mon everybody, let's modify X86JITInfo.cpp. This time, we add <iostream>
...
so that the shiny new use of std::cerr is defined.
llvm-svn: 22156
2005-05-20 21:29:24 +00:00
Reid Spencer
43a0f5bc54
Finally get the quoting right for both Unix and Windows for the llvmgcc and
...
llvmgxx programs. dejagnu doesn't understand single quote and we need to
pass double quotes through to the shell in order to escape blanks in the
paths. This patch uses \" to escape the quotes passed through to the shell.
Thanks to Aaron Gray for testing this out on cygwin.
llvm-svn: 22155
2005-05-20 20:13:41 +00:00
Misha Brukman
eba2471fa3
Since everyone else has "fixed" this file, might as well join in the fun.
...
* Change assert() to std::cerr printout, as it will not appear in opt builds
* Add comments to clarify what #ifdef/#else/#endif match what condition(s)
llvm-svn: 22154
2005-05-20 19:46:50 +00:00
Andrew Lenharth
0abbc1336d
now with a legend, and multiple lines work.
...
llvm-svn: 22153
2005-05-20 17:50:51 +00:00
Andrew Lenharth
e5dc5c9c74
OK, the simple scheme for the db plus a couple of cgi scripts that
...
do the dynamic plotting of stuff. Still being tested, but makes graphs
llvm-svn: 22152
2005-05-20 17:33:42 +00:00
Chris Lattner
8deafa3378
Fix this a 3rd time :)
...
llvm-svn: 22151
2005-05-20 17:00:21 +00:00
Andrew Lenharth
5d37a3abae
fix compilation error due to no abort being defined. There is probably a better way to do this
...
llvm-svn: 22150
2005-05-20 16:34:44 +00:00
Duraid Madina
3a5eb61899
re-enable direct calls, this should just be a performance boost
...
llvm-svn: 22148
2005-05-20 11:39:17 +00:00
Duraid Madina
6e7355e6c1
this seems dead (and broke the ia64 build, so..)
...
llvm-svn: 22147
2005-05-20 06:21:59 +00:00