Commit Graph

13100 Commits

Author SHA1 Message Date
Chris Lattner b1775590e4 Moved to lib/Analysis/DataStructure
llvm-svn: 14447
2004-06-28 00:20:39 +00:00
Chris Lattner f6729a3bcc Move PgmDependenceGraph.h out of the public include hierarchy
llvm-svn: 14446
2004-06-28 00:20:04 +00:00
Brian Gaeke 81f67f60ec Allow saving and restoring of double and float registers.
Allow copying of float registers.

llvm-svn: 14445
2004-06-27 22:59:56 +00:00
Brian Gaeke b3d33c7994 Add FITOS, FITOD, and F{ADD,SUB,MUL,DIV}{S,D}.
llvm-svn: 14444
2004-06-27 22:53:56 +00:00
Chris Lattner 6e07936ed2 Implement InstCombine/add.ll:test21
llvm-svn: 14443
2004-06-27 22:51:36 +00:00
Chris Lattner 0da061fa1e new testcase
llvm-svn: 14442
2004-06-27 22:51:19 +00:00
Brian Gaeke 187ff172b6 Support printing constant pool indices.
If we see an "unknown operand", abort so it's easier to fix it.

llvm-svn: 14441
2004-06-27 22:50:44 +00:00
Brian Gaeke c81b5a5331 Trim whitespace.
Support cast of ints (and narrower) to float and double.
Support cast double to double (using load and store).
Abort if we see a CallInst or SetCondInst with long/fp args, instead
of producing bad code.
Support add, sub, mul, div of float and double.

llvm-svn: 14440
2004-06-27 22:47:33 +00:00
Chris Lattner 59b2c40286 Now that the SparcV9 specific MachineCodeForInstruction class uses it's own
map on the side, Instruction no longer has to be Annotable.  This reduces
the size of the Instruction class by another 4 bytes (on a 32-bit system).

llvm-svn: 14439
2004-06-27 18:57:34 +00:00
Chris Lattner d22d9cb800 Do not find these ugly sparc-specific objects by using the annotation API on
instructions.  Instead, keep a map of instructions -> MCFI objects in the
already sparc-specific class MachineFunctionInfo.  This will slow down the
sparc backend a bit, but it does not penalize the rest of LLVM!

llvm-svn: 14438
2004-06-27 18:52:17 +00:00
Chris Lattner 2b04d102f0 This class is no longer an annotation
llvm-svn: 14437
2004-06-27 18:50:49 +00:00
Chris Lattner 3a3bd6f29c Add a map of MachineCodeForInstruction objects to MachineFunctionInfo
llvm-svn: 14436
2004-06-27 18:50:30 +00:00
Chris Lattner dd7a707897 Fold iType into Value::VTy
llvm-svn: 14435
2004-06-27 18:38:48 +00:00
Chris Lattner a7c0a11647 Eliminate the Instruction::iType field, folding it into the Value::VTy field.
This reduces the size of the instruction class by 4 bytes, and means that
isa<CallInst>(V) (for example) only needs to do one load from memory instead
of two.

llvm-svn: 14434
2004-06-27 18:38:24 +00:00
Chris Lattner 8e55b75913 Get rid of Annotable's vtable. If anyone deletes an object through an Annotable*,
they get what they deserve.

This reduces the size of Instruction & Function by 4 bytes each.

llvm-svn: 14433
2004-06-27 18:36:39 +00:00
Chris Lattner 6b62f225f6 Make it obvious that this file is bad bad bad
llvm-svn: 14432
2004-06-27 18:21:20 +00:00
Chris Lattner 60a29a77aa User ctor is now inline
llvm-svn: 14431
2004-06-27 18:01:38 +00:00
Chris Lattner d2f55b69e0 Make ctor inline, change ValueTy ->unsigned
llvm-svn: 14430
2004-06-27 18:01:15 +00:00
Chris Lattner f758330347 Consider anything with a ValueType that is >= Instruction to be an instruction
llvm-svn: 14429
2004-06-26 20:51:50 +00:00
Chris Lattner d0b0b454e5 Instancevar was renamed
llvm-svn: 14428
2004-06-26 20:33:39 +00:00
Chris Lattner 4a9134ecac Rearrange some code.
llvm-svn: 14427
2004-06-26 20:33:27 +00:00
Chris Lattner 80d2d53fbf Don't call getValueType directly. the LLVM optimizer will turn it into the same code anyway :)
llvm-svn: 14426
2004-06-26 19:40:40 +00:00
Chris Lattner 6fb22cd7ef There is no reason to print ValueType here
llvm-svn: 14425
2004-06-26 19:36:34 +00:00
Chris Lattner 74e2acfcdd Simplify code
llvm-svn: 14424
2004-06-26 19:31:26 +00:00
Chris Lattner f11b67bb8f Hey, why not just make 'new ReturnInst(BB)' DTRT?
llvm-svn: 14422
2004-06-25 23:10:30 +00:00
Chris Lattner 0c8053cace new ReturnInst(BB) does not "do the right thing". Add an assert to catch it
sooner rather than later.

llvm-svn: 14421
2004-06-25 23:06:57 +00:00
Chris Lattner 3c53efa48b Add credits entry
llvm-svn: 14420
2004-06-25 21:00:10 +00:00
Chris Lattner 9a844696f9 Fix relative links for nightly testers not hosted on llvm.cs.
Patch contributed by Vladimir Merzliakov!

llvm-svn: 14419
2004-06-25 20:57:19 +00:00
Chris Lattner 10247b13c0 Write .bc files to binary ostreams. This shouldn't change anything on unix,
but allows us to generate valid code on hosts (like windows) that do newline
translation for text files.

llvm-svn: 14418
2004-06-25 20:54:43 +00:00
Chris Lattner 4ba8a8d1ef No functionality changes here:
* Some warning fixes for MSVC
  * Minor simplification to the deque scanning code

llvm-svn: 14417
2004-06-25 20:52:10 +00:00
Misha Brukman c52ea2574d Allow debugging machine instrs (by printout) before/after isel and regalloc
llvm-svn: 14416
2004-06-25 19:57:47 +00:00
Misha Brukman 26e36e5758 Combine several if stmts with returns into an if-then-elseif-else chain.
llvm-svn: 14414
2004-06-25 19:24:52 +00:00
Misha Brukman c22fd9a6a5 Do not move any values into registers for a void return (there isn't anything).
llvm-svn: 14413
2004-06-25 19:04:27 +00:00
Misha Brukman b5932a5708 Convert tabs to spaces.
llvm-svn: 14412
2004-06-25 18:45:07 +00:00
Misha Brukman 5dbf760e00 Fix opcode: no immediate in an `or r1, r2, r3' (all registers) instr.
llvm-svn: 14411
2004-06-25 18:36:53 +00:00
John Criswell 726de6f9b0 Removed the interrupt_handler instrinsic section that I accidently added
in my previous commits.  It's not implemented and is out of date.

llvm-svn: 14410
2004-06-25 16:42:50 +00:00
John Criswell bcbb18c7a0 Grammar and punctuation fixes.
llvm-svn: 14409
2004-06-25 16:05:06 +00:00
Misha Brukman c56b66f504 * Be consistent about MachineBB labels and references to them in instr stream
* Use MachineBB's built-in numbering system instead of reinventing one

llvm-svn: 14408
2004-06-25 15:42:10 +00:00
John Criswell 40db33f642 Added missing quote.
llvm-svn: 14407
2004-06-25 15:16:57 +00:00
Misha Brukman a27375832b * Initialize the entire array statically, not member-at-a-time
* Remove x86-specific comment re: intel vs. at&t assembly syntax

llvm-svn: 14406
2004-06-25 15:11:34 +00:00
Misha Brukman 468d9a0087 Fix bug in previous checkin.
llvm-svn: 14405
2004-06-25 14:57:19 +00:00
Misha Brukman 9ff1cda1a8 * Wrap long lines
* Replace silent fall-through FIXME comments with an error to cerr and an abort
* No need to set size of statically initialized arrays

llvm-svn: 14404
2004-06-25 14:50:41 +00:00
Misha Brukman 08b0e61841 Excise X86-specific comments.
llvm-svn: 14403
2004-06-25 14:13:26 +00:00
Misha Brukman 7ce853616d Vladimir Prus also contributed the LowerConstantExprs pass.
llvm-svn: 14402
2004-06-25 13:37:03 +00:00
Chris Lattner 7f4222237d New constant expression lowering pass to simplify your instruction selection needs.
Contributed by Vladimir Prus!

llvm-svn: 14399
2004-06-25 07:48:09 +00:00
Chris Lattner 8b0c935145 New testcase for constant expression lowering pass, contributed by Vladimir Prus!
llvm-svn: 14398
2004-06-25 07:47:13 +00:00
Chris Lattner 5ea1317e3c Prototype for new ConstantExpr lowering pass, contributed by Vladimir Prus!
llvm-svn: 14397
2004-06-25 07:41:06 +00:00
Brian Gaeke 537851f6e7 Don't try to run qmtests if we fail to build the tree. The qmtests (at
least, on macosx) will spiral out of control instead of failing gracefully.

llvm-svn: 14396
2004-06-25 07:25:28 +00:00
Chris Lattner e67d8400f6 Make sure to link all IPA's into opt, so that it has access to stuff like
anders-aa

llvm-svn: 14395
2004-06-25 05:19:17 +00:00
Chris Lattner f019e346f4 Fix header
llvm-svn: 14394
2004-06-25 04:24:22 +00:00