Commit Graph

4210 Commits

Author SHA1 Message Date
Chris Lattner
d08e9fd389 Add codegen library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4305 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 00:54:59 +00:00
Chris Lattner
09124ab3e2 This header is renamed to MachineFunction.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4304 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 00:45:06 +00:00
Chris Lattner
2fce4132c6 We don't need the forwarding typedef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4303 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 00:44:09 +00:00
Chris Lattner
0c68e8ce6e Updates to match misha's changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4302 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 00:37:53 +00:00
Misha Brukman
fce1143bcf Changed MachineCodeForMethod' to MachineFunction'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4301 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 00:28:31 +00:00
Chris Lattner
6f8fd25697 Remove dead fixme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4300 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 21:23:43 +00:00
Chris Lattner
16612dbe47 Make pointless testcase a bit more "challenging"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4299 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 21:18:06 +00:00
Chris Lattner
e4108ae577 Add support or other operand types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4298 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 21:17:45 +00:00
Chris Lattner
c5291f5e0e Instruction select constant arguments correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4297 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 21:16:59 +00:00
Chris Lattner
65a78f28e3 Add instruction definitions for mov r, imm instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4296 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 21:16:44 +00:00
Chris Lattner
e8b5413e5d Prune #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4295 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 20:49:47 +00:00
Chris Lattner
df6f5835e9 Add neccesary #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4294 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:16:27 +00:00
Chris Lattner
ab77194e2a Old GCC's don't have an <ostream>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4293 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:12:37 +00:00
Chris Lattner
dc476b87d9 change ++ to +1 when using random access iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4292 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:09:51 +00:00
Chris Lattner
9550dc2df2 Add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4291 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:08:03 +00:00
Chris Lattner
a50d6ec97d Work better with other versions of bison
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4290 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:06:56 +00:00
Chris Lattner
683d5da9fb Fix a major bug in lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4289 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-26 01:57:15 +00:00
Chris Lattner
1405ec0ce1 Checkin simple testcases for LLVM-JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4288 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 23:01:51 +00:00
Chris Lattner
3d7771a387 Initial checkin of target support for X86 backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4287 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 23:00:40 +00:00
Chris Lattner
d4dec05036 Initial checkin of Machine Code representation for X86 backend. This will
eventually be merged with the sparc backend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4286 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 23:00:13 +00:00
Chris Lattner
ddb1212d89 Initial checkin of LLVM JIT, codenamed jello. This tool is not built by
default, until it becomes stable.  Even then it will only work for for X86
targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4285 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 22:58:53 +00:00
Chris Lattner
726140821f Initial checkin of X86 backend.
We can instruction select exactly one instruction 'ret void'.  Wow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4284 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 22:55:53 +00:00
Chris Lattner
a750de9bfb Build the X86 target as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4283 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 22:55:05 +00:00
Chris Lattner
78cee7e7ab Initial checkin of codegen infrastructure for LLVM-JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4282 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 22:54:41 +00:00
Chris Lattner
2ee9aa1072 Fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4281 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 22:53:56 +00:00
Chris Lattner
6648645559 Update test to use long instead of uint getelementptr subscripts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4280 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 22:29:07 +00:00
Vikram S. Adve
c954161ea7 Added datastructure library to resolve link error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4279 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 21:17:34 +00:00
Chris Lattner
ed03bc913f Patch submited by Casey to remove obnoxious warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4278 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 14:32:42 +00:00
Chris Lattner
e2d053ad18 Prune #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4277 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 02:01:33 +00:00
Chris Lattner
232c3be0b5 Fix misspelling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4276 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 01:43:26 +00:00
Chris Lattner
502374a58f * Remove unneccesary #includes
* Fix typeo in the (unused) MachineInstrInfo::isArith method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4275 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-24 22:34:41 +00:00
Nick Hildenbrandt
d1a198a865 Updated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4274 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-24 20:54:49 +00:00
Nick Hildenbrandt
ee03b05e2a Fixed it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4273 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-23 21:48:52 +00:00
Nick Hildenbrandt
067bf3edf0 Added Burg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4272 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-23 20:50:22 +00:00
Nick Hildenbrandt
3cecdc5b9a Malloc prototyping now works even if the original file had its own prototype for malloc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4271 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-23 18:59:40 +00:00
Chris Lattner
a0877726df Tell PassManager that this pass does not invalidate the CFG so that dominator
information and Loop info will not have to be recomputed after this runs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4269 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-23 03:30:47 +00:00
Chris Lattner
54b866b896 Minor cleanups
Make sure to have a pass name


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4268 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-23 01:12:01 +00:00
Chris Lattner
37ae4056bb Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4267 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-23 01:11:51 +00:00
Chris Lattner
8cdc6b726a - Fix a really nasty bug in the bytecode reader that caused it to fail
reading bytecode files with > 255 types in them, but only when optimization
    is enabled.  This was caused by GCC shrinking an enum to a single byte
    instead of a whole word.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4266 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-23 00:51:54 +00:00
Chris Lattner
5dfab9ec22 Wow, for some reason, when reading bytecode from stdin, we were only reading
4 bytes at a time.  Change this to read blocks of 4k


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4265 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 23:55:24 +00:00
Chris Lattner
f924b2de08 Disable optimization that doesn't apply to C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4264 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 23:35:28 +00:00
Chris Lattner
0ceeb42c97 Ensure definate initialization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4263 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 23:34:11 +00:00
Chris Lattner
1eeac6612b Fix misspelled variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4262 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 23:28:23 +00:00
Chris Lattner
27a08935ca - Two minor improvements to the MachineInstr class to reduce footprint and
overhead: Merge 3 parallel vectors into 1, change regsUsed hash_set to be a
    bitvector.  Sped up LLC a little less than 10% in a debug build!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4261 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 23:16:21 +00:00
Chris Lattner
4bdb9b7ebe - Make sure to only keep track of mappings that the TD pass may need in the
future.  This prevents having spurious map entries to nodes that we really
    don't care about.  This allows us to reenable the DeadNodeElim, which was
    disabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4260 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 16:01:03 +00:00
Chris Lattner
9faf18d523 The callee is not correct, and confuses the TD pass. Null it out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4259 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 15:58:46 +00:00
Chris Lattner
3ec9a0a5cf We need to know the call sites each function hosts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4258 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 15:58:23 +00:00
Chris Lattner
0e6949fe1c Allow modification of callee
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4257 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 15:57:58 +00:00
Chris Lattner
1a33e6eb74 Small space optimization: Make MachineOperands take 16 bytes instead of
20 on intel or 24 on sparc


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4256 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 00:15:13 +00:00
Chris Lattner
cb2610ea03 - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to
setPreservesCFG to be less confusing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4255 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-21 20:00:28 +00:00