Evan Cheng
7f3f0973e6
Clean up.
...
llvm-svn: 30140
2006-09-07 01:17:57 +00:00
Chris Lattner
0b5fb52b0e
testcase, ensure this never breaks.
...
llvm-svn: 30137
2006-09-06 21:54:59 +00:00
Evan Cheng
4c7a3fbdea
Watch out for variable_ops instructions.
...
llvm-svn: 30135
2006-09-06 20:32:45 +00:00
Evan Cheng
ac22e54131
Variable ops instructions may ignore the last few operands for code emission.
...
llvm-svn: 30134
2006-09-06 20:24:14 +00:00
Devang Patel
483872338a
Document getTargetTriple().
...
llvm-svn: 30133
2006-09-06 20:22:55 +00:00
Devang Patel
5561aa7271
Add getTargetTriple() that linker can use to query target architecture.
...
llvm-svn: 30132
2006-09-06 20:16:28 +00:00
Jim Laskey
ef94ebb666
Oops - forgot to update banner.
...
llvm-svn: 30131
2006-09-06 19:21:41 +00:00
Devang Patel
ee9f617cff
Keep track of all modules crated using a name to module map.
...
Add private member function getMoudle().
llvm-svn: 30130
2006-09-06 18:50:26 +00:00
Bill Wendling
d495bd075a
Cleaned up some of the grammar in the Live Intervals section. Removed the
...
huge honking FIXME comment. I'll address the "Live Intervals Analysis"
section soon.
llvm-svn: 30129
2006-09-06 18:42:41 +00:00
Jim Laskey
55381e04e6
Update project with new files.
...
llvm-svn: 30128
2006-09-06 18:38:54 +00:00
Jim Laskey
681ecbb3b3
Separate target specifc asm properties from asm printers.
...
llvm-svn: 30127
2006-09-06 18:35:33 +00:00
Jim Laskey
a6211dcdad
Separate target specific asm properties from the asm printers.
...
llvm-svn: 30126
2006-09-06 18:34:40 +00:00
Rafael Espindola
abd8bcbe5e
add the orr instruction
...
llvm-svn: 30125
2006-09-06 18:03:12 +00:00
Devang Patel
95b7c7af2e
Instead of demangling symbol name by hand, use original name, which was
...
used to mangle symbol name, directly.
llvm-svn: 30124
2006-09-06 00:45:52 +00:00
Devang Patel
e3b9490b05
Extract target triplet from optimized module.
...
Untabify.
llvm-svn: 30123
2006-09-06 00:28:22 +00:00
Evan Cheng
ddfb10b5af
Only call isUse/isDef on register operands
...
llvm-svn: 30122
2006-09-05 20:32:06 +00:00
Chris Lattner
2656932979
Bugfix to work with the two-addr changes that have been made in the tree recently
...
llvm-svn: 30121
2006-09-05 20:27:32 +00:00
Chris Lattner
65df0ffadd
make this harder
...
llvm-svn: 30120
2006-09-05 20:27:06 +00:00
Evan Cheng
6509c248f3
IsDef can only be accessed / set if operand is a register.
...
llvm-svn: 30119
2006-09-05 20:20:04 +00:00
Chris Lattner
2cb238320d
Only call isUse/isDef on register operands
...
llvm-svn: 30118
2006-09-05 20:19:27 +00:00
Chris Lattner
45456d44e3
Don't call isDef on non-registers
...
llvm-svn: 30117
2006-09-05 20:02:51 +00:00
Evan Cheng
fd500a27f2
Initialize IsDef of all non-register MachineOperand to false.
...
llvm-svn: 30116
2006-09-05 18:56:02 +00:00
Chris Lattner
845b223da4
Fix Duraid's changes to work when TLI is null. This fixes the failing
...
lowerinvoke regtests.
llvm-svn: 30115
2006-09-05 17:48:07 +00:00
Chris Lattner
0dce3311c4
Change the default to 0, which means 'default'.
...
llvm-svn: 30114
2006-09-05 17:39:15 +00:00
Evan Cheng
7a150d3113
Fix a few dejagnu failures. e.g. fast-cc-merge-stack-adj.ll
...
llvm-svn: 30113
2006-09-05 08:32:49 +00:00
Evan Cheng
17c28b2e0e
JIT encoding bug.
...
llvm-svn: 30112
2006-09-05 05:59:25 +00:00
Chris Lattner
a2d7d1c4fa
Fix JIT encoding of two-addr instructions.
...
llvm-svn: 30111
2006-09-05 03:01:52 +00:00
Chris Lattner
e3d2e1e41e
Update the X86 JIT to make it work with the new two-addr changes. This also
...
adds assertions that check to make sure every operand gets emitted.
llvm-svn: 30110
2006-09-05 02:52:35 +00:00
Chris Lattner
af23f9b5f6
Completely eliminate def&use operands. Now a register operand is EITHER a
...
def operand or a use operand.
llvm-svn: 30109
2006-09-05 02:31:13 +00:00
Chris Lattner
13a5dcddce
Fix a long-standing wart in the code generator: two-address instruction lowering
...
actually *removes* one of the operands, instead of just assigning both operands
the same register. This make reasoning about instructions unnecessarily complex,
because you need to know if you are before or after register allocation to match
up operand #'s with the target description file.
Changing this also gets rid of a bunch of hacky code in various places.
This patch also includes changes to fold loads into cmp/test instructions in
the X86 backend, along with a significant simplification to the X86 spill
folding code.
llvm-svn: 30108
2006-09-05 02:12:02 +00:00
Andrew Lenharth
3852b2ce7e
jmp_bufs are this big on alpha.
...
llvm-svn: 30107
2006-09-05 00:22:25 +00:00
Bill Wendling
bb902cf0b9
First draft of the "Live Interval Analysis" section. This is the "Live
...
Variable Analysis" pass.
llvm-svn: 30106
2006-09-04 23:35:52 +00:00
Chris Lattner
af87314781
ADd getImm/setImm methods
...
llvm-svn: 30105
2006-09-04 23:35:22 +00:00
Chris Lattner
22f29396db
Add some short-hand accessors
...
llvm-svn: 30104
2006-09-04 23:05:29 +00:00
Rafael Espindola
8386105f3f
add support for returning 64bit values
...
llvm-svn: 30103
2006-09-04 19:05:01 +00:00
Chris Lattner
49c45d3a13
Fix some X86 JIT failures. This should really come from TargetJITInfo.
...
llvm-svn: 30102
2006-09-04 18:48:41 +00:00
Chris Lattner
af726fe9d5
lli uses LinkAllCodegenComponents, so it needs this. Thanks to
...
Rafael Esp?ndola for pointing this out
llvm-svn: 30100
2006-09-04 18:34:16 +00:00
Chris Lattner
1eed04d1fb
Correct fix for a crasher on functions with live in values
...
llvm-svn: 30099
2006-09-04 18:27:40 +00:00
Chris Lattner
bff0b5969f
Hack around a regression I introduced yesterday
...
llvm-svn: 30098
2006-09-04 18:20:15 +00:00
Duraid Madina
373be1d1a2
forgot this
...
llvm-svn: 30097
2006-09-04 07:44:11 +00:00
Chris Lattner
a5d27b19e1
Fix a build problem
...
llvm-svn: 30096
2006-09-04 06:39:52 +00:00
Duraid Madina
cf6749e4c0
add setJumpBufSize() and setJumpBufAlignment() to target-lowering.
...
Call these from your backend to enjoy setjmp/longjmp goodness, see
lib/Target/IA64/IA64ISelLowering.cpp for an example
llvm-svn: 30095
2006-09-04 06:21:35 +00:00
Chris Lattner
a59bee75a7
Update this to reflect llvm-config usage
...
llvm-svn: 30094
2006-09-04 06:12:14 +00:00
Chris Lattner
79baf1ee7c
Remove some dead makefilery
...
llvm-svn: 30093
2006-09-04 06:07:12 +00:00
Chris Lattner
e63072ea0a
Use llvm-config to determine what to link in
...
llvm-svn: 30092
2006-09-04 06:04:03 +00:00
Chris Lattner
3b78c704d1
Use llvm-config instead of magic JIT thing to link in libs
...
llvm-svn: 30091
2006-09-04 06:01:43 +00:00
Chris Lattner
28689ff2d0
Use LINK_COMPONENTS to specify *components* to link against instead of
...
using USED_LIBS to specify *libraries* to link against.
llvm-svn: 30090
2006-09-04 05:59:09 +00:00
Chris Lattner
2d4cae9896
Allow things like --libs CBackend
...
llvm-svn: 30089
2006-09-04 05:35:23 +00:00
Chris Lattner
956f73bdfa
Switch to using llvm-config to build
...
llvm-svn: 30088
2006-09-04 05:24:16 +00:00
Chris Lattner
68c9754e76
Bugfix for llvm-config support
...
llvm-svn: 30087
2006-09-04 05:23:20 +00:00