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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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