oota-llvm.git
20 years agoChange the implementation of the autonumbering for MBB's a bit to provide
Chris Lattner [Thu, 1 Jul 2004 06:01:36 +0000 (06:01 +0000)]
Change the implementation of the autonumbering for MBB's a bit to provide
the reverse mapping as well as the mapping from MBB->unsigned

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14519 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoStart using MBB numbers directly instead of going through the live variables
Chris Lattner [Thu, 1 Jul 2004 04:29:47 +0000 (04:29 +0000)]
Start using MBB numbers directly instead of going through the live variables
map.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14518 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInstead of building a private numbering of MBB's use brg's nifty auto-numbering.
Chris Lattner [Thu, 1 Jul 2004 04:24:29 +0000 (04:24 +0000)]
Instead of building a private numbering of MBB's use brg's nifty auto-numbering.
Also convert df_iterator -> df_ext_iterator for subsequent stuff I'm doing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14517 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix testcase
Chris Lattner [Thu, 1 Jul 2004 04:11:35 +0000 (04:11 +0000)]
Fix testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14516 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago-debug option does not exist in a release build
Chris Lattner [Thu, 1 Jul 2004 04:10:15 +0000 (04:10 +0000)]
-debug option does not exist in a release build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14515 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix testcase. For some reason this was failing only with a release build and
Chris Lattner [Thu, 1 Jul 2004 04:09:14 +0000 (04:09 +0000)]
Fix testcase.  For some reason this was failing only with a release build and
not with a debug build?  Rather testrunner only caught it in that case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14514 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded a command page for the llvm-abcd tool.
Reid Spencer [Thu, 1 Jul 2004 02:32:42 +0000 (02:32 +0000)]
Added a command page for the llvm-abcd tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14513 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix indentation to be 2 spaces.
Misha Brukman [Wed, 30 Jun 2004 22:11:03 +0000 (22:11 +0000)]
Fix indentation to be 2 spaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14512 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Coalesce the handy CALL* alias opcodes with the standard ones
Misha Brukman [Wed, 30 Jun 2004 22:00:45 +0000 (22:00 +0000)]
* Coalesce the handy CALL* alias opcodes with the standard ones
* Congregate more branch-and-link opcodes together
* Mark FP, CPR, and special registers as volatile across calls

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14511 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Allow more registers to be allocated from the general register pool
Misha Brukman [Wed, 30 Jun 2004 21:54:50 +0000 (21:54 +0000)]
* Allow more registers to be allocated from the general register pool
* Define the condition register class

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14510 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Inquire about the number of operands from the instruction directly
Misha Brukman [Wed, 30 Jun 2004 21:54:12 +0000 (21:54 +0000)]
* Inquire about the number of operands from the instruction directly
* Only check for a register if we are sure the instruction has one allocated

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14509 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agovisitSetCondInst() takes a parameter of type `SetCondInst'
Misha Brukman [Wed, 30 Jun 2004 21:47:40 +0000 (21:47 +0000)]
visitSetCondInst() takes a parameter of type `SetCondInst'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14508 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFixed the tutorial to indicate that we needed to use the llvm namespace.
Jonathan Manton [Wed, 30 Jun 2004 18:10:30 +0000 (18:10 +0000)]
Fixed the tutorial to indicate that we needed to use the llvm namespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14507 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAlways assume a function may have calls because the printer may add `bl' to get
Misha Brukman [Wed, 30 Jun 2004 00:09:12 +0000 (00:09 +0000)]
Always assume a function may have calls because the printer may add `bl' to get
the PC in a code sequence for global variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14506 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Don't save LR when outputting globals: it's already saved on the stack once
Misha Brukman [Tue, 29 Jun 2004 23:45:05 +0000 (23:45 +0000)]
* Don't save LR when outputting globals: it's already saved on the stack once
  for the function
* Registers aren't necessarily sequential wrt their enums, don't rely on it
  when emitting function arguments into sequential registers
* Remove X86-specific comments about AL/BL/AH/BH/EDX/etc
* Add an abort() for an unimplemented signed right shift
* The src operand for a GEP was never emitted!  Fixed.
* We can skip zero-valued GEP indices as they are no-ops.

"Hello, World!" now works.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14505 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Stop using BBNumbering, we don't really need it
Misha Brukman [Tue, 29 Jun 2004 23:40:57 +0000 (23:40 +0000)]
* Stop using BBNumbering, we don't really need it
* Only increment labelNumber once, because it's used by both Load{hi,lo}Addr
* There is no .bss section on PowerPC
* Use .align 2 instead of other random numbers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14504 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix order and line length of fixed bugs.
Reid Spencer [Tue, 29 Jun 2004 23:39:24 +0000 (23:39 +0000)]
Fix order and line length of fixed bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14503 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSet up the prologue and epilogue to be more like the manual and GCC output.
Misha Brukman [Tue, 29 Jun 2004 23:38:26 +0000 (23:38 +0000)]
Set up the prologue and epilogue to be more like the manual and GCC output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14502 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Use LA instead of LWZ for LoadLoAddr
Misha Brukman [Tue, 29 Jun 2004 23:37:36 +0000 (23:37 +0000)]
* Use LA instead of LWZ for LoadLoAddr
* Specify the isCall bit and caller-save registers for some call instrs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14501 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoOnly allocate non-volatile registers R13-31 (for now).
Misha Brukman [Tue, 29 Jun 2004 23:35:32 +0000 (23:35 +0000)]
Only allocate non-volatile registers R13-31 (for now).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14500 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement verification feature.
Reid Spencer [Tue, 29 Jun 2004 23:34:27 +0000 (23:34 +0000)]
Implement verification feature.
Ensure output occurs even in the face of an error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14499 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThe analyzer code now lives in the bcreader library. The bcanalyzer lib
Reid Spencer [Tue, 29 Jun 2004 23:33:31 +0000 (23:33 +0000)]
The analyzer code now lives in the bcreader library. The bcanalyzer lib
is no more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14498 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoLower ConstantExpressions before the code generator.
Misha Brukman [Tue, 29 Jun 2004 23:33:20 +0000 (23:33 +0000)]
Lower ConstantExpressions before the code generator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14497 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove files no longer needed. ConstantReader and InstructionReader were
Reid Spencer [Tue, 29 Jun 2004 23:32:41 +0000 (23:32 +0000)]
Remove files no longer needed. ConstantReader and InstructionReader were
integrated into Reader. Parser.* was just a bad idea. AnalyzerInternals.h
is no longer needed. ReaderPrimitives.h was integrated into Reader.h and
Reader.cpp. Dumper.cpp was integrated into Analyzer.cpp. ReaderInternals.h
became Reader.h. AnalyzerWrappers.cpp was integerated into
ReaderWrappers.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14496 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis is a slimming down of the previous ReaderInternals.h that just
Reid Spencer [Tue, 29 Jun 2004 23:31:01 +0000 (23:31 +0000)]
This is a slimming down of the previous ReaderInternals.h that just
declares the BytecodeReader class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14495 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMAJOR REWRITE.
Reid Spencer [Tue, 29 Jun 2004 23:29:38 +0000 (23:29 +0000)]
MAJOR REWRITE.
- stop passing Buf/BufEnd to every function (now member vars)
- internalize things that used to be in a header file that no one else
  included/needed.
- Remove defunct BCR_TRACE lines
- Standardize error handling with the PARSE_ERROR macro.
- Integrate ConstantReader.cpp and InstructionReader.cpp and reorgnize
  the definition order so that gcc has a chance at optimizing this module
- Standardize case and style of method names.
- Eliminate unneeded header files
- Prepare for Type != Value (bug122) change by splitting Types into their
  own data structures.
- Implement the BytecodeHandler interface calls.
- Provide default implementation of BytecodeHandler interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14494 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdjustments to allow Bytecode Reading to support the BytecodeHandler
Reid Spencer [Tue, 29 Jun 2004 23:24:14 +0000 (23:24 +0000)]
Adjustments to allow Bytecode Reading to support the BytecodeHandler
interface which is called by the reader if a BytecodeHandler is provided.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14493 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMerge Dumper.cpp and AnalyzerWrappers.cpp into this file. Also, adjust the
Reid Spencer [Tue, 29 Jun 2004 23:23:12 +0000 (23:23 +0000)]
Merge Dumper.cpp and AnalyzerWrappers.cpp into this file. Also, adjust the
dumping facility to produce useful output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14492 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAnalyzer moved to ../Reader directory.
Reid Spencer [Tue, 29 Jun 2004 23:21:53 +0000 (23:21 +0000)]
Analyzer moved to ../Reader directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14491 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove newly defunct Analyzer directory.
Reid Spencer [Tue, 29 Jun 2004 23:21:16 +0000 (23:21 +0000)]
Remove newly defunct Analyzer directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14490 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoProvide support for the BytecodeHandler interface which will be called by
Reid Spencer [Tue, 29 Jun 2004 23:20:03 +0000 (23:20 +0000)]
Provide support for the BytecodeHandler interface which will be called by
the bcreader if one is supplied to the bytecode reader's interface
functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14489 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix include guard
Reid Spencer [Tue, 29 Jun 2004 23:18:52 +0000 (23:18 +0000)]
Fix include guard
Adjust comments
Make handlers for constants provide useful information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14488 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdjust comments to match code.
Reid Spencer [Tue, 29 Jun 2004 23:17:34 +0000 (23:17 +0000)]
Adjust comments to match code.
Allow analysis to return the module created by the bcreader.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14487 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix associativity of parameters to assert(): now it actually makes sense.
Misha Brukman [Tue, 29 Jun 2004 19:43:20 +0000 (19:43 +0000)]
Fix associativity of parameters to assert(): now it actually makes sense.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14483 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoConvert tabs to spaces.
Misha Brukman [Tue, 29 Jun 2004 19:28:53 +0000 (19:28 +0000)]
Convert tabs to spaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14482 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Fix saving LR in function prologue
Misha Brukman [Tue, 29 Jun 2004 17:14:42 +0000 (17:14 +0000)]
* Fix saving LR in function prologue
* Adjust epilogue restore sequence to match the PowerPC documentation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14480 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAssembly syntax/comment fixes by Nate Begeman.
Misha Brukman [Tue, 29 Jun 2004 17:13:26 +0000 (17:13 +0000)]
Assembly syntax/comment fixes by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14479 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRestoring this file.
Vikram S. Adve [Tue, 29 Jun 2004 14:20:27 +0000 (14:20 +0000)]
Restoring this file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14478 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThe code generator should work with unreachable blocks. If not, then this
Chris Lattner [Tue, 29 Jun 2004 07:20:16 +0000 (07:20 +0000)]
The code generator should work with unreachable blocks.  If not, then this
is a bug that should be fixed in the code generator, not papered over with
the simplifycfg pass.  Eliminating this makes bugpoint much more useful

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14477 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoI believe that the code generator now properly handles dead basic blocks. If not,
Chris Lattner [Tue, 29 Jun 2004 07:17:12 +0000 (07:17 +0000)]
I believe that the code generator now properly handles dead basic blocks.  If not,
this is a bug, and should be fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14476 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIn line with the previous patch, do not assert out if analyzing a dead basic block.
Chris Lattner [Tue, 29 Jun 2004 07:16:23 +0000 (07:16 +0000)]
In line with the previous patch, do not assert out if analyzing a dead basic block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14475 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not dereference end iterators. It hurts when you do that.
Chris Lattner [Tue, 29 Jun 2004 06:56:51 +0000 (06:56 +0000)]
Do not dereference end iterators.  It hurts when you do that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14474 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a regression from r1.224. In particular, codegen a cast from double ->
Chris Lattner [Tue, 29 Jun 2004 00:14:38 +0000 (00:14 +0000)]
Fix a regression from r1.224.  In particular, codegen a cast from double ->
float as a truncation by going through memory.  This truncation was being
skipped, which caused 175.vpr to fail after aggressive register promotion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14473 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCan't print out machine code before it is constructed.
Misha Brukman [Mon, 28 Jun 2004 21:16:57 +0000 (21:16 +0000)]
Can't print out machine code before it is constructed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14472 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agodocument new pass
Chris Lattner [Mon, 28 Jun 2004 19:19:47 +0000 (19:19 +0000)]
document new pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14471 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix the assembly opcode on LOADLoAddr, courtesy of Nate Begeman.
Misha Brukman [Mon, 28 Jun 2004 18:27:08 +0000 (18:27 +0000)]
Fix the assembly opcode on LOADLoAddr, courtesy of Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14470 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSet isBranch and isTerminator bits on all branch instructions.
Misha Brukman [Mon, 28 Jun 2004 18:23:35 +0000 (18:23 +0000)]
Set isBranch and isTerminator bits on all branch instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14469 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix loading and storing PC-relative static variables, courtesy of Nate Begeman.
Misha Brukman [Mon, 28 Jun 2004 18:20:59 +0000 (18:20 +0000)]
Fix loading and storing PC-relative static variables, courtesy of Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14468 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNo need to generate a lazy-linking stub for internal functions, they can be
Misha Brukman [Mon, 28 Jun 2004 18:03:37 +0000 (18:03 +0000)]
No need to generate a lazy-linking stub for internal functions, they can be
resolved by the static linker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14467 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not set the `link' bit when branching to the first BB of a function, as it
Misha Brukman [Mon, 28 Jun 2004 17:57:40 +0000 (17:57 +0000)]
Do not set the `link' bit when branching to the first BB of a function, as it
will cause an infinite loop.  The link bit is only used for calling functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14466 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a link to the CFE build instrs next to the CFE download instructions
Chris Lattner [Mon, 28 Jun 2004 17:14:01 +0000 (17:14 +0000)]
Add a link to the CFE build instrs next to the CFE download instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14465 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBuilding the C FE is a user-level process
Chris Lattner [Mon, 28 Jun 2004 17:11:10 +0000 (17:11 +0000)]
Building the C FE is a user-level process

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14464 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix spacing around function arguments.
Misha Brukman [Mon, 28 Jun 2004 15:53:27 +0000 (15:53 +0000)]
Fix spacing around function arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14463 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInitial checkin of a simple mod/ref analysis for global variables. This is
Chris Lattner [Mon, 28 Jun 2004 06:33:13 +0000 (06:33 +0000)]
Initial checkin of a simple mod/ref analysis for global variables.  This is
still overly conservative and uses very simple data structures, but it is a
start, and allows elimination of a lot of loads.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14462 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd new header
Chris Lattner [Mon, 28 Jun 2004 06:31:26 +0000 (06:31 +0000)]
Add new header

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14461 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove unused file
Chris Lattner [Mon, 28 Jun 2004 00:46:58 +0000 (00:46 +0000)]
Remove unused file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14460 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove dead file
Chris Lattner [Mon, 28 Jun 2004 00:46:54 +0000 (00:46 +0000)]
Remove dead file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14459 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBad passes are gone
Chris Lattner [Mon, 28 Jun 2004 00:44:45 +0000 (00:44 +0000)]
Bad passes are gone

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14458 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThese passes are long dead/obsolete. They never worked in the first place
Chris Lattner [Mon, 28 Jun 2004 00:44:18 +0000 (00:44 +0000)]
These passes are long dead/obsolete.  They never worked in the first place
and are a maintenence burden.  Nuke nuke nuke

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14457 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove two dead passes
Chris Lattner [Mon, 28 Jun 2004 00:43:25 +0000 (00:43 +0000)]
Remove two dead passes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14456 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved IPModRef out of the public include dir
Chris Lattner [Mon, 28 Jun 2004 00:41:23 +0000 (00:41 +0000)]
Moved IPModRef out of the public include dir

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14455 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove file to lib/Analysis/DataStructure
Chris Lattner [Mon, 28 Jun 2004 00:40:43 +0000 (00:40 +0000)]
Move file to lib/Analysis/DataStructure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14454 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove DependenceGraph.* to lib/Analysis/DataStructure
Chris Lattner [Mon, 28 Jun 2004 00:32:33 +0000 (00:32 +0000)]
Move DependenceGraph.* to lib/Analysis/DataStructure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14452 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved to lib/analysis/datastructure
Chris Lattner [Mon, 28 Jun 2004 00:30:29 +0000 (00:30 +0000)]
Moved to lib/analysis/datastructure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14451 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoving to lib/Analysis/DataStructure
Chris Lattner [Mon, 28 Jun 2004 00:29:42 +0000 (00:29 +0000)]
Moving to lib/Analysis/DataStructure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14450 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved to lib/Analysis/DataStructure
Chris Lattner [Mon, 28 Jun 2004 00:27:34 +0000 (00:27 +0000)]
Moved to lib/Analysis/DataStructure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14449 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove MemoryDepAnalysis.h into lib/Analysis/DataStructure
Chris Lattner [Mon, 28 Jun 2004 00:27:16 +0000 (00:27 +0000)]
Move MemoryDepAnalysis.h into lib/Analysis/DataStructure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14448 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved to lib/Analysis/DataStructure
Chris Lattner [Mon, 28 Jun 2004 00:20:39 +0000 (00:20 +0000)]
Moved to lib/Analysis/DataStructure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14447 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove PgmDependenceGraph.h out of the public include hierarchy
Chris Lattner [Mon, 28 Jun 2004 00:20:04 +0000 (00:20 +0000)]
Move PgmDependenceGraph.h out of the public include hierarchy

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14446 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAllow saving and restoring of double and float registers.
Brian Gaeke [Sun, 27 Jun 2004 22:59:56 +0000 (22:59 +0000)]
Allow saving and restoring of double and float registers.
Allow copying of float registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14445 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd FITOS, FITOD, and F{ADD,SUB,MUL,DIV}{S,D}.
Brian Gaeke [Sun, 27 Jun 2004 22:53:56 +0000 (22:53 +0000)]
Add FITOS, FITOD, and F{ADD,SUB,MUL,DIV}{S,D}.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14444 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement InstCombine/add.ll:test21
Chris Lattner [Sun, 27 Jun 2004 22:51:36 +0000 (22:51 +0000)]
Implement InstCombine/add.ll:test21

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14443 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agonew testcase
Chris Lattner [Sun, 27 Jun 2004 22:51:19 +0000 (22:51 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14442 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSupport printing constant pool indices.
Brian Gaeke [Sun, 27 Jun 2004 22:50:44 +0000 (22:50 +0000)]
Support printing constant pool indices.
If we see an "unknown operand", abort so it's easier to fix it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14441 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTrim whitespace.
Brian Gaeke [Sun, 27 Jun 2004 22:47:33 +0000 (22:47 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14440 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNow that the SparcV9 specific MachineCodeForInstruction class uses it's own
Chris Lattner [Sun, 27 Jun 2004 18:57:34 +0000 (18:57 +0000)]
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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14439 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not find these ugly sparc-specific objects by using the annotation API on
Chris Lattner [Sun, 27 Jun 2004 18:52:17 +0000 (18:52 +0000)]
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!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14438 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis class is no longer an annotation
Chris Lattner [Sun, 27 Jun 2004 18:50:49 +0000 (18:50 +0000)]
This class is no longer an annotation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14437 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a map of MachineCodeForInstruction objects to MachineFunctionInfo
Chris Lattner [Sun, 27 Jun 2004 18:50:30 +0000 (18:50 +0000)]
Add a map of MachineCodeForInstruction objects to MachineFunctionInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14436 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFold iType into Value::VTy
Chris Lattner [Sun, 27 Jun 2004 18:38:48 +0000 (18:38 +0000)]
Fold iType into Value::VTy

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14435 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoEliminate the Instruction::iType field, folding it into the Value::VTy field.
Chris Lattner [Sun, 27 Jun 2004 18:38:24 +0000 (18:38 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14434 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGet rid of Annotable's vtable. If anyone deletes an object through an Annotable*,
Chris Lattner [Sun, 27 Jun 2004 18:36:39 +0000 (18:36 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14433 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake it obvious that this file is bad bad bad
Chris Lattner [Sun, 27 Jun 2004 18:21:20 +0000 (18:21 +0000)]
Make it obvious that this file is bad bad bad

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14432 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUser ctor is now inline
Chris Lattner [Sun, 27 Jun 2004 18:01:38 +0000 (18:01 +0000)]
User ctor is now inline

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14431 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake ctor inline, change ValueTy ->unsigned
Chris Lattner [Sun, 27 Jun 2004 18:01:15 +0000 (18:01 +0000)]
Make ctor inline, change ValueTy ->unsigned

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14430 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoConsider anything with a ValueType that is >= Instruction to be an instruction
Chris Lattner [Sat, 26 Jun 2004 20:51:50 +0000 (20:51 +0000)]
Consider anything with a ValueType that is >= Instruction to be an instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14429 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInstancevar was renamed
Chris Lattner [Sat, 26 Jun 2004 20:33:39 +0000 (20:33 +0000)]
Instancevar was renamed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14428 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRearrange some code.
Chris Lattner [Sat, 26 Jun 2004 20:33:27 +0000 (20:33 +0000)]
Rearrange some code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14427 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't call getValueType directly. the LLVM optimizer will turn it into the same...
Chris Lattner [Sat, 26 Jun 2004 19:40:40 +0000 (19:40 +0000)]
Don't call getValueType directly.  the LLVM optimizer will turn it into the same code anyway :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14426 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThere is no reason to print ValueType here
Chris Lattner [Sat, 26 Jun 2004 19:36:34 +0000 (19:36 +0000)]
There is no reason to print ValueType here

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14425 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSimplify code
Chris Lattner [Sat, 26 Jun 2004 19:31:26 +0000 (19:31 +0000)]
Simplify code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14424 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoHey, why not just make 'new ReturnInst(BB)' DTRT?
Chris Lattner [Fri, 25 Jun 2004 23:10:30 +0000 (23:10 +0000)]
Hey, why not just make 'new ReturnInst(BB)' DTRT?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14422 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agonew ReturnInst(BB) does not "do the right thing". Add an assert to catch it
Chris Lattner [Fri, 25 Jun 2004 23:06:57 +0000 (23:06 +0000)]
new ReturnInst(BB) does not "do the right thing".  Add an assert to catch it
sooner rather than later.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14421 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd credits entry
Chris Lattner [Fri, 25 Jun 2004 21:00:10 +0000 (21:00 +0000)]
Add credits entry

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14420 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix relative links for nightly testers not hosted on llvm.cs.
Chris Lattner [Fri, 25 Jun 2004 20:57:19 +0000 (20:57 +0000)]
Fix relative links for nightly testers not hosted on llvm.cs.
Patch contributed by Vladimir Merzliakov!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14419 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWrite .bc files to binary ostreams. This shouldn't change anything on unix,
Chris Lattner [Fri, 25 Jun 2004 20:54:43 +0000 (20:54 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14418 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNo functionality changes here:
Chris Lattner [Fri, 25 Jun 2004 20:52:10 +0000 (20:52 +0000)]
No functionality changes here:
  * Some warning fixes for MSVC
  * Minor simplification to the deque scanning code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14417 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAllow debugging machine instrs (by printout) before/after isel and regalloc
Misha Brukman [Fri, 25 Jun 2004 19:57:47 +0000 (19:57 +0000)]
Allow debugging machine instrs (by printout) before/after isel and regalloc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14416 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCombine several if stmts with returns into an if-then-elseif-else chain.
Misha Brukman [Fri, 25 Jun 2004 19:24:52 +0000 (19:24 +0000)]
Combine several if stmts with returns into an if-then-elseif-else chain.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14414 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not move any values into registers for a void return (there isn't anything).
Misha Brukman [Fri, 25 Jun 2004 19:04:27 +0000 (19:04 +0000)]
Do not move any values into registers for a void return (there isn't anything).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14413 91177308-0d34-0410-b5e6-96231b3b80d8