Brian Gaeke
84a69f1494
Solaris hack for isinf()
...
llvm-svn: 15058
2004-07-21 03:32:51 +00:00
Brian Gaeke
a5adf7948c
Add check for finite(). Solaris doesn't have isinf, but it has finite...go
...
figure!
llvm-svn: 15057
2004-07-21 03:30:27 +00:00
Brian Gaeke
1dde3fa94f
Emit NaNs and INFs bit-identically to the bytecode file, if the system has
...
printf("%a") support.
Patch contributed by Bill Wendling.
llvm-svn: 15056
2004-07-21 03:15:26 +00:00
Brian Gaeke
adcf66fb8f
Add prototypes for platform-independent wrappers for isinf().
...
Patch contributed by Bill Wendling.
llvm-svn: 15055
2004-07-21 03:15:14 +00:00
Brian Gaeke
920f4dd59e
Regenerated with autoheader-2.57.
...
Patch contributed by Bill Wendling.
llvm-svn: 15054
2004-07-21 03:15:02 +00:00
Brian Gaeke
499b01d29d
Add call to check for isinf().
...
Patch contributed by Bill Wendling.
llvm-svn: 15053
2004-07-21 03:14:51 +00:00
Brian Gaeke
25318b1381
Add support for checking for isinf().
...
Patch contributed by Bill Wendling.
llvm-svn: 15052
2004-07-21 03:14:39 +00:00
Brian Gaeke
2698a6cb8e
Regenerated with autoconf-2.57.
...
Patch contributed by Bill Wendling.
llvm-svn: 15051
2004-07-21 03:14:12 +00:00
Brian Gaeke
0810ebf56a
Add platform-independent wrapper function for isinf().
...
Patch contributed by Bill Wendling.
llvm-svn: 15050
2004-07-21 03:13:50 +00:00
Brian Gaeke
e2e0637a77
Move LLVM tool definitions to Makefile.rules
...
llvm-svn: 15049
2004-07-21 01:31:47 +00:00
Misha Brukman
75f3291ef3
Shorts are aligned to 2 bytes, bools to 1 byte (in structs).
...
llvm-svn: 15048
2004-07-20 20:59:57 +00:00
Misha Brukman
8e36261aa8
Treat external variables similarly to those with weak linkage: load indirect.
...
llvm-svn: 15047
2004-07-20 20:43:05 +00:00
Misha Brukman
288b211afb
Refer would-be llvm-gcc source users/hackers to the compilation guide.
...
llvm-svn: 15046
2004-07-20 20:25:18 +00:00
Misha Brukman
3475be9a62
Use C++-style <cstdio> instead of C-style <stdio.h>
...
llvm-svn: 15042
2004-07-20 16:14:06 +00:00
Misha Brukman
4aab086eda
Differentiate between global and weak symbol loads
...
llvm-svn: 15037
2004-07-20 15:52:25 +00:00
Misha Brukman
684ef6ca20
* Differentiate between global and weak symbol loads
...
* Fix functions that take more than 32 bytes of args
* Alignment of doubles in structs is 4 bytes, not 8
* Fix passing long args: rN = hi, rN+1 = lo
* Rewrite signed divide
* Rewrite Intrinsic::returnaddress
Patch courtesy of Nate Begeman.
llvm-svn: 15036
2004-07-20 15:51:37 +00:00
Misha Brukman
42666aed5e
Differentiate between global and weak symbol loads
...
llvm-svn: 15035
2004-07-20 15:45:27 +00:00
Misha Brukman
dff882a230
Double alignment in structs is 4 bytes, not 8. Patch by Nate Begeman.
...
llvm-svn: 15034
2004-07-20 15:43:25 +00:00
Alkis Evlogimenos
7eb2b1892b
Add function to clear all virtual->physical mappings but not assigned
...
stack slots. This is in preparation for the iterative linear scan.
llvm-svn: 15032
2004-07-20 13:28:17 +00:00
Alkis Evlogimenos
f616d8328c
Remove unneeded functor. LiveInterval has a < operator.
...
llvm-svn: 15031
2004-07-20 10:20:03 +00:00
Chris Lattner
45b50d14c9
Fix a serious code pessimization problem. If an inlined function has a single
...
return, clone the 'ret' BB code into the block AFTER the inlined call, not the
other way around.
llvm-svn: 15030
2004-07-20 05:45:24 +00:00
Chris Lattner
11ffd59e37
Implement Transforms/InstCombine/IntPtrCast.ll
...
llvm-svn: 15029
2004-07-20 05:21:00 +00:00
Chris Lattner
4269e40e67
new testcase
...
llvm-svn: 15028
2004-07-20 05:20:39 +00:00
Chris Lattner
ec67df0ed1
Ignore instructions that are in trivially dead functions. This allows us
...
to constify 14 globals instead of 4 in a trivial C++ testcase.
llvm-svn: 15027
2004-07-20 03:58:07 +00:00
Misha Brukman
e036ff8b32
Fix stack frame layout in prologue/epilogue. Patch courtesy of Nate Begeman.
...
llvm-svn: 15026
2004-07-20 02:23:09 +00:00
Misha Brukman
9bd41d54c5
Dump the old-fashioned C-style <ctype.h> in favor of new `C++'-style <cctype>
...
llvm-svn: 15025
2004-07-20 02:18:25 +00:00
Chris Lattner
44d0b9502a
Implement InstCombine/GEPIdxCanon.ll
...
llvm-svn: 15024
2004-07-20 01:48:15 +00:00
Chris Lattner
9492af43c4
New testcase that instcombine should help out with.
...
llvm-svn: 15023
2004-07-20 01:47:49 +00:00
Chris Lattner
5823ac1c21
Implement SimplifyCFG/BrUnwind.ll
...
llvm-svn: 15022
2004-07-20 01:17:38 +00:00
Chris Lattner
d4cecb9e2f
test that unconditional branches to unwinds are always eliminated
...
llvm-svn: 15021
2004-07-20 01:17:19 +00:00
Misha Brukman
5e744fa1a3
Move handing of GlobalValues from getReg() to copyConstantToRegister(), this
...
will avoid extra register-to-register copies. Thanks to Chris for the idea.
llvm-svn: 15019
2004-07-20 00:59:38 +00:00
Chris Lattner
4e2dbc6b4a
Rewrite cast->cast elimination code completely based on the information we
...
actually care about. Someday when the cast instruction is gone, we can do
better here, but this will do for now. This implements
instcombine/cast.ll:test17/18 as well.
llvm-svn: 15018
2004-07-20 00:59:32 +00:00
Chris Lattner
10a4194651
Testcases missed by the instruction combiner
...
llvm-svn: 15017
2004-07-20 00:57:21 +00:00
Misha Brukman
d21ef91bc4
isupper() and tolower() are declared in <ctype.h>
...
llvm-svn: 15016
2004-07-20 00:52:16 +00:00
Misha Brukman
22802cc6cd
* Fn args passed in registers are now recorded as used by the call instruction
...
`-> asm printer updated to not print out those registers with the call instr
All of Shootout tests now work. Great thanks to Nate Begeman for the patch!
llvm-svn: 15015
2004-07-20 00:42:19 +00:00
Misha Brukman
818a9dc317
* cFP class split into cFP32 and cFP64
...
* Fn args passed in registers are now recorded as used by the call instruction
`-> asm printer updated to not print out those registers with the call instr
* Stack frame layout in prolog/epilog fixed, spills and vararg fns now work
* float/double to signed int codegen now correct
* various single precision float codegen bugs fixed
* const integer multiply codegen fixed
* select and setcc blocks inserted into the correct place in machine CFG
* load of integer constant code optimized
All of Shootout tests now work. Great thanks to Nate Begeman for the patch!
llvm-svn: 15014
2004-07-20 00:41:46 +00:00
Chris Lattner
f8cf35855a
While I'm at it, don't break codegen of mul by 3,5,9.
...
llvm-svn: 15013
2004-07-19 23:50:57 +00:00
Chris Lattner
7c06d44f42
Generate better code for multiplies by negative constants like -4, -1, -9, etc.
...
llvm-svn: 15012
2004-07-19 23:47:21 +00:00
Alkis Evlogimenos
12a71ea03e
Remove dead code.
...
llvm-svn: 15011
2004-07-19 23:35:55 +00:00
Misha Brukman
8e677e88f6
Tabs to spaces.
...
llvm-svn: 15010
2004-07-19 21:22:02 +00:00
Misha Brukman
a270467ceb
Convert tabs to spaces; fix name of function in assert() description.
...
llvm-svn: 15009
2004-07-19 21:11:45 +00:00
Chris Lattner
8a92e19ba1
Fix broken link
...
llvm-svn: 15008
2004-07-19 19:30:40 +00:00
Chris Lattner
c88858f576
Just run 'make', not all-gcc
...
llvm-svn: 15007
2004-07-19 18:47:59 +00:00
John Criswell
b92c7c2270
Added support for stdint.h. It is now automatically included by
...
DataTypes.h. So far, it doesn't seem to break Linux, Solaris, or MacOS X.
This should automatically include it for those people who need it.
llvm-svn: 15006
2004-07-19 16:12:29 +00:00
Chris Lattner
15dfdb4e01
Fix a bug that occurs when the last instruction in a range is dead
...
llvm-svn: 15005
2004-07-19 15:16:53 +00:00
Chris Lattner
c8fb1fb5bb
When joining intervals, join intervals in deeply nested loops first. This
...
is a simple change, but seems to improve code a little. For example, on
256.bzip2, we went from 75.0s -> 73.33s (2% speedup).
llvm-svn: 15004
2004-07-19 14:40:29 +00:00
Chris Lattner
d10d373ce9
Split joinIntervals into two methods
...
llvm-svn: 15003
2004-07-19 14:08:10 +00:00
Chris Lattner
6345fbe820
Fix comment
...
llvm-svn: 15002
2004-07-19 13:28:39 +00:00
Reid Spencer
82e7fe5b5b
bug 122:
...
Simplify a conditional operator for a constant result from
GV->isNullValue()
llvm-svn: 15001
2004-07-19 13:25:02 +00:00
Chris Lattner
57ca7382d9
Inline 4 methods
...
llvm-svn: 15000
2004-07-19 07:52:35 +00:00