Alkis Evlogimenos
6a367f33f3
Spill explicit physical register defs as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12260 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 08:35:13 +00:00
Brian Gaeke
73716d582e
Now that I read it again, this part in particular strikes me as kind of
...
pushy and contentious...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12259 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 07:20:26 +00:00
Alkis Evlogimenos
519f4e76b7
Check if printing of implicit uses is required for all types of shift
...
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12258 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 06:10:15 +00:00
Brian Gaeke
bd1c2853e8
b00g fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12257 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 05:43:59 +00:00
Brian Gaeke
00f0a29e1c
Address PR274 - '[JIT] Programs cannot resolve the fstat function'
...
by trying to get the compiler to generate an undefined reference for it
and related functions which live in libc_nonshared.a on Linux.
Linkers... sigh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12256 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 05:22:10 +00:00
Brian Gaeke
cf47198a49
Hmm, who left this sitting around in my tree
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12255 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 04:49:13 +00:00
Alkis Evlogimenos
cc2a2a530f
Differentiate between extended precision floats (80-bit) and double precision floats (64-bit)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12254 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 03:37:54 +00:00
Alkis Evlogimenos
0309066f6c
Use newly added API to emit bytes for instructions that gas misassembles
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12253 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 03:35:34 +00:00
Alkis Evlogimenos
39c2005b70
Add emitInstruction() API so that we can get the bytes of a simple instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12252 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 03:34:53 +00:00
Alkis Evlogimenos
f6e8156008
Constify things a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12251 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 03:30:12 +00:00
Chris Lattner
0fe65a8001
Bug fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12250 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 00:59:15 +00:00
Chris Lattner
313b84b662
Checkin testcase for PR261
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12249 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 00:55:58 +00:00
Chris Lattner
15f0a87f31
John fixed this bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12248 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 00:40:49 +00:00
Brian Gaeke
8b16a16918
Change PhyRegAlloc::saveStateForValue()'s arg type to deal with
...
AllocInfo.Instruction becoming an int.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12247 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 23:22:03 +00:00
Brian Gaeke
54a76b8808
Save argument list alloc state by recording it as the operands of Instruction
...
#-1. Other minor changes to deal with AllocInfo.Instruction becoming an int.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12246 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 23:22:02 +00:00
Brian Gaeke
757ccd5149
Make AllocInfo's Instruction an int, so that we can overload it for arguments.
...
(Instruction #-1's operands = argument list).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12245 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 23:22:01 +00:00
Misha Brukman
efc182e49c
Fix some spelling and grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12244 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 23:06:46 +00:00
Chris Lattner
a5422e4048
Update the profiling section
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12243 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 22:29:35 +00:00
Chris Lattner
96ab5caf2d
Switch to using edge profiling information as the basic source of profile info
...
from using basic block counts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12242 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 22:04:08 +00:00
Chris Lattner
7d84dda560
Switch over to using edge profile information as the basic profiling representation,
...
from basic block counts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12241 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 22:03:45 +00:00
Chris Lattner
62e84f376b
Refactor implementations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12240 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 21:30:35 +00:00
Chris Lattner
0f54bc7630
We don't want to make this a pure interface, as it makes all implementors
...
bear the burden of implementing what will be all exactly the same methods.
They just want to provide the information in differing ways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12239 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 21:30:18 +00:00
Chris Lattner
3f25328fbf
Rearrange some methods, implement the dominates method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12237 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 21:07:12 +00:00
Chris Lattner
6ba8972919
Import the trace class from the reoptimizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12236 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 20:57:27 +00:00
Chris Lattner
5cedabafe5
Default to using edge counts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12234 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 20:04:46 +00:00
Chris Lattner
8c2730e347
Annotate functions with edge counts as well, if they are available.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12233 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 20:04:32 +00:00
Chris Lattner
dbbbfef165
If we have edge counts, we can produce block counts. I've verified that
...
using an edge profile to produce block counts gives the exact same numbers
as using a block count directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12232 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 20:03:52 +00:00
Chris Lattner
9f717ef279
Adjust to new interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12231 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 18:51:45 +00:00
Chris Lattner
0b6af79e62
Add the ability to put an annotation at the end of a basic block as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12230 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 18:51:05 +00:00
Chris Lattner
01945c1739
Add initial support for reading edge counts. This will be improved to enable
...
translation of edge counts into block/function counts when possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12229 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 18:20:18 +00:00
Chris Lattner
fd755f7c7c
Add support for representing edge counts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12228 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 18:19:37 +00:00
Chris Lattner
127cab2cc7
Add edge profiling support to the runtime library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12227 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 18:04:31 +00:00
Misha Brukman
d6cf0d4d4f
Fix link to license: point to current version in CVS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12226 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 17:59:31 +00:00
Chris Lattner
b2f12a2c38
Initial support for edge profiling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12225 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 17:54:34 +00:00
Chris Lattner
467dd2ec61
Split utility functions out of BlockProfiling.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12224 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 17:06:13 +00:00
Chris Lattner
9ee5d2296b
Remove the comment "Constants must always have an initial value.", which
...
is incorrect. Fix some formatting nastiness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12223 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 16:49:10 +00:00
Chris Lattner
c51733c7b5
finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12221 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 16:45:53 +00:00
Chris Lattner
63a225050f
Insert functions into the module promptly, not lazily. This fixes a bug
...
I introduced last night. Note to self: test the *correct* tree...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12220 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 16:14:19 +00:00
Chris Lattner
802b5ab844
Implement test/Regression/Assembler/2004-03-07-FunctionAddressAlignment.llx
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12218 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:17:35 +00:00
Chris Lattner
3c6d4b4f81
New testcase for folding in some important situations. The first two
...
come up a lot in the code generated by the C++ front-end for pointers
to member functions. See PR166.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12217 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:17:15 +00:00
Chris Lattner
2c56b55cf0
Remove Module::mutateConstantPointerRef, which is now thankfully dead!
...
This is one small step towards the complete obliteration of
ConstantPointerRef's entirely!! Woot!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12216 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:16:10 +00:00
Chris Lattner
807a7be38b
Remove Module::mutateConstantPointerRef, which is now thankfully dead!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12215 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:15:33 +00:00
Chris Lattner
2296ec0ce9
Eliminate nightmarish API
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12214 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:11:10 +00:00
Chris Lattner
e45a76c85b
remove *THANKFULLY* dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12213 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:10:32 +00:00
Chris Lattner
bc2075977c
Eliminate a REALLY HORRIBLE API: mutateReferences, which is gross gross gross.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12212 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:09:57 +00:00
Chris Lattner
4cfeac8f57
New testcase for PR269
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12211 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 05:35:12 +00:00
Chris Lattner
eacf92759d
Bug fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12210 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 04:55:45 +00:00
Chris Lattner
342c9185af
Testcase that crashes the C front-end.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12209 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 04:41:32 +00:00
Chris Lattner
d84d3501c6
Fix a bug handling globals that are constants, but are still external
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12208 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 03:52:24 +00:00
Chris Lattner
9b3c702614
Avoid allocating special registers a bit more robustly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12207 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 03:48:07 +00:00