summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Minor leftover fixups from replaceMachineCodeForFunction () change.Brian Gaeke2003-10-202-2/+3
| | | | llvm-svn: 9295
* Make replaceMachineCodeForFunction() return void.Brian Gaeke2003-10-201-1/+1
| | | | llvm-svn: 9289
* Make replaceMachineCodeForFunction return void.Brian Gaeke2003-10-202-4/+2
| | | | llvm-svn: 9288
* Apparently the dependencies are wrong for this file, so it didn't rebuild itChris Lattner2003-10-201-1/+1
| | | | | | when changing Instruction.def. :( llvm-svn: 9286
* Emit x86 instructions for: A = B op C, where A and B are 16-bit registers,Chris Lattner2003-10-202-0/+54
| | | | | | | | | | | | | | | | | | | | | | C is a constant which can be sign-extended from 8 bits without value loss, and op is one of: add, sub, imul, and, or, xor. This allows the JIT to emit the one byte version of the constant instead of the two or 4 byte version. Because these instructions are very common, this can save a LOT of code space. For example, I sampled two benchmarks, 176.gcc and 254.gap. BM Old New Reduction 176.gcc 2673621 2548962 4.89% 254.gap 498261 475104 4.87% Note that while the percentage is not spectacular, this did eliminate 124.6 _KILOBYTES_ of codespace from gcc. Not bad. Note that this doesn't effect the llc version at all, because the assembler already does this optimization. llvm-svn: 9284
* Further cleanups and simplificationsChris Lattner2003-10-201-32/+17
| | | | llvm-svn: 9282
* Eliminate code for pointer size and endianness emulation.Chris Lattner2003-10-202-160/+21
| | | | llvm-svn: 9281
* The Grammar Police was here.Misha Brukman2003-10-201-1/+1
| | | | llvm-svn: 9280
* * Rename X86::IMULr16 -> X86::IMULrr16Chris Lattner2003-10-204-14/+44
| | | | | | | * Implement R1 = R2 * C where R1 and R2 are 32 or 16 bits. This avoids an extra copy into a register, reducing register pressure. llvm-svn: 9278
* Change the Opcode enum for PHI nodes from "Instruction::PHINode" to ↵Chris Lattner2003-10-191-1/+1
| | | | | | "Instruction::PHI" to be more consistent with the other instructions. llvm-svn: 9269
* * Multiplications by 2^X are turned into shifts. This factors code out of theChris Lattner2003-10-191-95/+201
| | | | | | | | | | | getelementptr code path for use by other code paths (like malloc and alloca). * Optimize comparisons with zero * Generate neg, not, inc, and dec instructions, when possible. This gives some code size wins, which might translate into performance. We'll see tommorow in the nightly tester. llvm-svn: 9267
* Add some new instructions. WheeeChris Lattner2003-10-191-1/+21
| | | | llvm-svn: 9266
* .string adds an implicit zero at the end. This is not what we wanted.Chris Lattner2003-10-191-1/+1
| | | | | | This fixes PR#44. llvm-svn: 9252
* Fix bug: Jello/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.llxChris Lattner2003-10-191-9/+21
| | | | | | This also fixes miscompilation of 176.gcc. llvm-svn: 9249
* Add support for the new varargs intrinsicsChris Lattner2003-10-181-26/+36
| | | | llvm-svn: 9224
* Update the sparc backend to at least compile correctly with the new varargs ↵Chris Lattner2003-10-182-4/+16
| | | | | | stuff even if it's not all implemented yet. llvm-svn: 9223
* You can't just blat the address into memory, you have to blat itsBrian Gaeke2003-10-171-4/+7
| | | | | | displacement. llvm-svn: 9210
* Implement replaceMachineCodeForFunction() for x86.Brian Gaeke2003-10-171-0/+7
| | | | llvm-svn: 9204
* Refactor jump insertion code from CompilationCallback() into insertJumpAtAddr().Brian Gaeke2003-10-171-27/+33
| | | | | | | | Make insertFarJumpAtAddr() return void, because nothing uses its return value. Remove some commented-out code. Implement replaceMachineCodeForFunction() for SPARC. llvm-svn: 9203
* Add prototype for replaceMachineCodeForFunction().Brian Gaeke2003-10-172-0/+3
| | | | llvm-svn: 9202
* Remove extra blank line.Brian Gaeke2003-10-171-1/+0
| | | | llvm-svn: 9196
* Eliminate some extraneous code in SlotCalculator::insertVal().Alkis Evlogimenos2003-10-171-1/+1
| | | | | | | | | Rename SlotCalculator::getValSlot() to SlotCalculator::getSlot(), SlotCalculator::insertValue() to SlotCalculator::getOrCreateSlot(), SlotCalculator::insertVal() to SlotCalculator::insertValue(), and SlotCalculator::doInsertVal() to SlotCalculator::doInsertValue(). llvm-svn: 9190
* Fix typo in comment.Brian Gaeke2003-10-161-1/+1
| | | | llvm-svn: 9187
* Add support for 'weak' linkage.Chris Lattner2003-10-161-1/+3
| | | | llvm-svn: 9171
* Decrease usage of use_size()Chris Lattner2003-10-151-1/+1
| | | | llvm-svn: 9135
* Output a contorted sequence of instructions to make sure that we don't accessChris Lattner2003-10-141-8/+20
| | | | | | off the bottom of the stack. This fixes PR#41 llvm-svn: 9114
* Disable the leaf function optimization, which is apparently not legal onChris Lattner2003-10-141-25/+2
| | | | | | | | X86/linux. :( The problem is that a signal delivered while the function is executing could clobber the functions stack. This is a partial fix for PR41. llvm-svn: 9113
* Remove WordsEmitted statistic; there's already a non-backend-specificBrian Gaeke2003-10-131-3/+10
| | | | | | | | jello statistic for this (just divide #-bytes-of-code-emitted by 4). Rewrite head-of-file comment. llvm-svn: 9098
* Regularize header file commentsChris Lattner2003-10-131-3/+2
| | | | llvm-svn: 9071
* Don't include "Config/stdlib.h".Brian Gaeke2003-10-101-1/+0
| | | | llvm-svn: 9037
* Include <cstdio> instead of <stdio.h>.Brian Gaeke2003-10-101-1/+1
| | | | llvm-svn: 9032
* Fix spelling.Misha Brukman2003-10-106-13/+14
| | | | llvm-svn: 9027
* Add # of printed instructions statistic to both the SPARC and X86 LLC backends.Brian Gaeke2003-10-062-1/+8
| | | | llvm-svn: 8892
* Add support for the Invoke instruction by using the LowerInvoke passChris Lattner2003-10-051-0/+6
| | | | llvm-svn: 8872
* Instead of hacking in custom support for Invoke/Unwind, use the LowerInvoke passChris Lattner2003-10-052-31/+14
| | | | llvm-svn: 8871
* Moved enum and command-line option in separate file. Also added function ↵Alkis Evlogimenos2003-10-021-29/+2
| | | | | | that returns the user selected register allocator to the caller. llvm-svn: 8819
* Change llc command line for register allocatorsAlkis Evlogimenos2003-10-021-6/+25
| | | | llvm-svn: 8815
* Revert previous change. For some reason this went into the main branchAlkis Evlogimenos2003-10-011-19/+2
| | | | llvm-svn: 8805
* Added command line option for linear scan allocatorAlkis Evlogimenos2003-10-011-2/+19
| | | | llvm-svn: 8804
* The comment seems irrelevant as the pass has become a BasicBlock pass.Misha Brukman2003-10-011-2/+0
| | | | llvm-svn: 8803
* Make sure to get the definition of getRegisterAllocatorChris Lattner2003-09-301-0/+1
| | | | llvm-svn: 8801
* RegisterAllocation.h is going awayChris Lattner2003-09-301-1/+0
| | | | llvm-svn: 8795
* Add statistic for # of emitWord() calls.Brian Gaeke2003-09-301-0/+2
| | | | llvm-svn: 8772
* Fixed spelling.Misha Brukman2003-09-232-3/+3
| | | | llvm-svn: 8687
* Fix spelling.Misha Brukman2003-09-231-1/+1
| | | | llvm-svn: 8686
* Fix assertion so it doesn't not trip incorrectly.Vikram S. Adve2003-09-211-4/+4
| | | | llvm-svn: 8650
* Fix a typo in Sparc.cpp.Brian Gaeke2003-09-182-10/+6
| | | | | | | Update names of some pass creator fns in addPassesToEmitAssembly(). FunctionInfo is gone. llvm-svn: 8599
* Rename the pass creator fn to mimic the other creator fn names.Brian Gaeke2003-09-181-1/+1
| | | | llvm-svn: 8598
* Fix (and properly doxygenify) some comments. IncorporateBrian Gaeke2003-09-181-39/+86
| | | | | | | | | | | functionality of FunctionInfo pass as doFinalization method. Rename pass to match names of other passes like it. Rename the pass creator fn to mimic the other creator fn names. Include StringExtras for utostr(). Make symbol prologue/epilogue stuff redundant with EmitBytecodeToAssembly, in preparation for refactoring. llvm-svn: 8597
* Make the symbol prologue/epilogue stuff redundant with MappingInfo, inBrian Gaeke2003-09-181-20/+31
| | | | | | | preparation for refactoring. Rename the pass creator fn to mimic the other creator fn names. llvm-svn: 8596
OpenPOWER on IntegriCloud