Alkis Evlogimenos
40d8d044fe
Fix analysis name.
...
llvm-svn: 15078
2004-07-21 17:23:44 +00:00
Misha Brukman
3d395cbda3
Add SUBI instruction
...
llvm-svn: 15077
2004-07-21 15:53:04 +00:00
Misha Brukman
f432931d8c
Fix spelling of `iterative scan'
...
llvm-svn: 15075
2004-07-21 12:53:14 +00:00
Misha Brukman
bfa2cebdc6
* Uncomment rule for location of LLI (formerly commented out: typo?)
...
* Add space between VAR and `='
llvm-svn: 15074
2004-07-21 12:47:40 +00:00
Alkis Evlogimenos
183f8af791
Clear spilled list at once. Remove unused vector.
...
llvm-svn: 15073
2004-07-21 12:00:10 +00:00
Alkis Evlogimenos
c767432a26
Change std::list into a std::vector for IntervalSets. This reduces
...
compile time for 176.gcc from 5.6 secs to 4.7 secs.
llvm-svn: 15072
2004-07-21 09:46:55 +00:00
Alkis Evlogimenos
441f3a155d
Add greater_ptr functor.
...
llvm-svn: 15070
2004-07-21 08:38:06 +00:00
Alkis Evlogimenos
8a162136e1
Improve file comment.
...
llvm-svn: 15069
2004-07-21 08:28:39 +00:00
Alkis Evlogimenos
b5f60641f4
Add Iterative scan register allocator.
...
llvm-svn: 15068
2004-07-21 08:24:35 +00:00
Alkis Evlogimenos
75dbcf6d06
Linearscan is no longer experimental.
...
llvm-svn: 15067
2004-07-21 08:18:50 +00:00
Chris Lattner
195950df76
Add capability to remove aliasing aliassets from an AST
...
llvm-svn: 15066
2004-07-21 07:04:26 +00:00
Chris Lattner
67c1deddfc
Add a bunch of new functionality, primarily to do with removing aliasing
...
pointers from an AST.
llvm-svn: 15065
2004-07-21 07:03:57 +00:00
Chris Lattner
f9976c5dbf
Make the AST interface a bit richer by returning whether an insertion caused
...
an insertion or not (because the pointer set already existed).
llvm-svn: 15064
2004-07-21 05:18:04 +00:00
Chris Lattner
62c40d3982
Remove special casing of pointers and treat them generically as integers of
...
the appopriate size. This gives us the ability to eliminate int -> ptr -> int
llvm-svn: 15063
2004-07-21 04:27:24 +00:00
Chris Lattner
36940c22f7
Do not ignore casts unless they are pointer-pointer casts. This caused us
...
to miscompile the SingleSource/Regression/C++/pointer_member.cpp program.
llvm-svn: 15062
2004-07-21 03:56:54 +00:00
Brian Gaeke
8c0fb92856
Regenerated using autoconf-2.57.
...
llvm-svn: 15061
2004-07-21 03:50:25 +00:00
Brian Gaeke
d907fb65db
Add AC_MSG_CHECKING and AC_MSG_RESULT statements which were missing
...
from two of our custom checks.
llvm-svn: 15060
2004-07-21 03:50:01 +00:00
Brian Gaeke
2a45315ad0
Regenerated with autoconf/autoheader 2.57
...
llvm-svn: 15059
2004-07-21 03:33:58 +00:00
Brian Gaeke
1c49659e4f
Solaris hack for isinf()
...
llvm-svn: 15058
2004-07-21 03:32:51 +00:00
Brian Gaeke
853c525672
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
d8775ad4f1
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
38bd15e507
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
94394bea47
Regenerated with autoheader-2.57.
...
Patch contributed by Bill Wendling.
llvm-svn: 15054
2004-07-21 03:15:02 +00:00
Brian Gaeke
07582185fc
Add call to check for isinf().
...
Patch contributed by Bill Wendling.
llvm-svn: 15053
2004-07-21 03:14:51 +00:00
Brian Gaeke
b29aef7a08
Add support for checking for isinf().
...
Patch contributed by Bill Wendling.
llvm-svn: 15052
2004-07-21 03:14:39 +00:00
Brian Gaeke
cb31d835ed
Regenerated with autoconf-2.57.
...
Patch contributed by Bill Wendling.
llvm-svn: 15051
2004-07-21 03:14:12 +00:00
Brian Gaeke
be7ccca4ab
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
b9b176fab3
Move LLVM tool definitions to Makefile.rules
...
llvm-svn: 15049
2004-07-21 01:31:47 +00:00
Misha Brukman
3e3d141a92
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
6283677946
Treat external variables similarly to those with weak linkage: load indirect.
...
llvm-svn: 15047
2004-07-20 20:43:05 +00:00
Misha Brukman
1954583a4a
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
1c856fcf9e
Use C++-style <cstdio> instead of C-style <stdio.h>
...
llvm-svn: 15042
2004-07-20 16:14:06 +00:00
Misha Brukman
f47940855d
Differentiate between global and weak symbol loads
...
llvm-svn: 15037
2004-07-20 15:52:25 +00:00
Misha Brukman
fe769110a0
* 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
5b5aff390a
Differentiate between global and weak symbol loads
...
llvm-svn: 15035
2004-07-20 15:45:27 +00:00
Misha Brukman
1942534307
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
cb3b2fc439
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
89ae43ca19
Remove unneeded functor. LiveInterval has a < operator.
...
llvm-svn: 15031
2004-07-20 10:20:03 +00:00
Chris Lattner
4e4b8b0ad2
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
f8c20caf25
Implement Transforms/InstCombine/IntPtrCast.ll
...
llvm-svn: 15029
2004-07-20 05:21:00 +00:00
Chris Lattner
f6d78f81c0
new testcase
...
llvm-svn: 15028
2004-07-20 05:20:39 +00:00
Chris Lattner
da83200d72
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
0a12f91274
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
6a7fd4d0a9
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
f6eb30e9a8
Implement InstCombine/GEPIdxCanon.ll
...
llvm-svn: 15024
2004-07-20 01:48:15 +00:00
Chris Lattner
074200ea75
New testcase that instcombine should help out with.
...
llvm-svn: 15023
2004-07-20 01:47:49 +00:00
Chris Lattner
8277141f09
Implement SimplifyCFG/BrUnwind.ll
...
llvm-svn: 15022
2004-07-20 01:17:38 +00:00
Chris Lattner
0a86aa9915
test that unconditional branches to unwinds are always eliminated
...
llvm-svn: 15021
2004-07-20 01:17:19 +00:00
Misha Brukman
6baf9045f6
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
d9c41a82a3
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