summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC
Commit message (Collapse)AuthorAgeFilesLines
* We actually do support object file writing, so don't return true (error)Nate Begeman2006-09-081-3/+1
| | | | llvm-svn: 30173
* 1. Remove condition on delete.Jim Laskey2006-09-072-5/+9
| | | | | | | | 2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. llvm-svn: 30169
* Make target asm info a property of the target machine.Jim Laskey2006-09-072-40/+8
| | | | llvm-svn: 30162
* Break out target asm info into separate files.Jim Laskey2006-09-072-0/+82
| | | | llvm-svn: 30161
* Separate target specific asm properties from the asm printers.Jim Laskey2006-09-063-47/+43
| | | | llvm-svn: 30126
* Completely eliminate def&use operands. Now a register operand is EITHER aChris Lattner2006-09-051-3/+3
| | | | | | def operand or a use operand. llvm-svn: 30109
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-045-108/+45
| | | | | | | | | | | | | | | | | | | | | | | | This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. llvm-svn: 30081
* Simplify target construction.Chris Lattner2006-09-031-1/+1
| | | | llvm-svn: 30070
* Handle callee saved registers in dwarf frame info (lead up to exceptionJim Laskey2006-08-291-6/+13
| | | | | | handling.) llvm-svn: 29954
* Make ppc64 jit kinda work right. About 2/3 of Olden passes with this,Nate Begeman2006-08-293-31/+133
| | | | | | there are clearly some encoding bugs lurking in there somewhere. llvm-svn: 29949
* For PR387:Reid Spencer2006-08-282-0/+5
| | | | | | | Close out this long standing bug by removing the remaining overloaded virtual functions in LLVM. The -Woverloaded-virtual option is now turned on. llvm-svn: 29934
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-275-5/+5
| | | | llvm-svn: 29911
* Do not use getTargetNode() and SelectNodeTo() which takes more than 3Evan Cheng2006-08-271-43/+41
| | | | | | SDOperand arguments. Use the variants which take an array and number instead. llvm-svn: 29907
* SelectNodeTo now returns a SDNode*.Evan Cheng2006-08-261-20/+20
| | | | llvm-svn: 29901
* Select() no longer require Result operand by reference.Evan Cheng2006-08-261-10/+8
| | | | llvm-svn: 29898
* Match tblgen changes.Evan Cheng2006-08-261-53/+68
| | | | llvm-svn: 29895
* Add a comment.Evan Cheng2006-08-251-0/+1
| | | | llvm-svn: 29889
* Encode pc-relative conditional branch offset as pc+(num of bytes / 4). TheEvan Cheng2006-08-252-2/+2
| | | | | | | | | asm printer will print it as offset*4. e.g. bne cr0, $+8. The PPC code emitter was expecting the offset to be number of instructions, not number of bytes. This fixes a whole bunch of JIT failures. llvm-svn: 29885
* Fix some comments.Jim Laskey2006-08-251-1/+4
| | | | llvm-svn: 29880
* Initial checkin of the Mach-O emitter. There's plenty of fixmes, but itNate Begeman2006-08-234-43/+89
| | | | | | does emit linkable .o files in very simple cases. llvm-svn: 29850
* Constify some methods. Patch provided by Anton Vayvod, thanks!Chris Lattner2006-08-171-8/+8
| | | | llvm-svn: 29756
* Fix PowerPC/2006-08-15-SelectionCrash.ll and simplify selection code.Chris Lattner2006-08-151-93/+63
| | | | llvm-svn: 29715
* Emit .set directives for jump table entries when possible, which reducesNate Begeman2006-08-121-0/+1
| | | | | | the number of relocations in object files, shrinkifying them. llvm-svn: 29650
* Fix a bug in a recent refactoring that broke a bunch of stuff.Chris Lattner2006-08-121-1/+1
| | | | llvm-svn: 29649
* Eliminate use of getNode that takes a vector.Chris Lattner2006-08-111-19/+22
| | | | llvm-svn: 29614
* Convert vectors to fixed sized arrays and smallvectors. Eliminate use of ↵Chris Lattner2006-08-111-37/+42
| | | | | | getNode that takes a vector. llvm-svn: 29609
* Fix miscompilation of float vector returns. Compile code to this:Chris Lattner2006-08-111-4/+4
| | | | | | | | | | | | | | | | | _func: vsldoi v2, v3, v2, 12 vsldoi v2, v2, v2, 4 blr instead of: _func: vsldoi v2, v3, v2, 12 vsldoi v2, v2, v2, 4 *** vor f1, v2, v2 blr llvm-svn: 29607
* Match tablegen changes.Evan Cheng2006-08-111-53/+32
| | | | llvm-svn: 29604
* CALLSEQ_* produces chain even if that's not needed.Evan Cheng2006-08-111-2/+4
| | | | llvm-svn: 29603
* Start eliminating temporary vectors used to create DAG nodes. Instead, passChris Lattner2006-08-081-7/+11
| | | | | | | | | | | | | | | | | | | in the start of an array and a count of operands where applicable. In many cases, the number of operands is known, so this static array can be allocated on the stack, avoiding the heap. In many other cases, a SmallVector can be used, which has the same benefit in the common cases. I updated a lot of code calling getNode that takes a vector, but ran out of time. The rest of the code should be updated, and these methods should be removed. We should also do the same thing to eliminate the methods that take a vector of MVT::ValueTypes. It would be extra nice to convert the dagiselemitter to avoid creating vectors for operands when calling getTargetNode. llvm-svn: 29566
* Match tablegen isel changes.Evan Cheng2006-08-071-101/+50
| | | | llvm-svn: 29549
* Fix some ppc64 issues with vector code.Chris Lattner2006-07-281-4/+7
| | | | llvm-svn: 29384
* Remove InFlightSet hack. No longer needed.Evan Cheng2006-07-281-1/+0
| | | | llvm-svn: 29373
* Resolve BB references with relocation.Evan Cheng2006-07-274-27/+22
| | | | llvm-svn: 29351
* synchronizeICache removeed from TargetJITInfo.Evan Cheng2006-07-272-11/+0
| | | | llvm-svn: 29348
* Remove NodeDepthEvan Cheng2006-07-271-6/+1
| | | | llvm-svn: 29338
* Support jump tables when in PIC relocation modelNate Begeman2006-07-271-2/+2
| | | | llvm-svn: 29318
* Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.Chris Lattner2006-07-263-7/+7
| | | | llvm-svn: 29307
* - Refactor the code that resolve basic block references to a TargetJITInfoEvan Cheng2006-07-253-27/+43
| | | | | | | | | | method. - Added synchronizeICache() to TargetJITInfo. It is called after each block of code is emitted to flush the icache. This ensures correct execution on targets that have separate dcache and icache. - Added PPC / Mac OS X specific code to do icache flushing. llvm-svn: 29276
* bswapped load/store instructions are only availble in indexed addressing form.Chris Lattner2006-07-191-4/+4
| | | | | | | | As such, use xoaddr (indexed only), not xaddr for address selection. This fixes CodeGen/PowerPC/2006-07-19-stwbrx-crash.ll, a crash compiling lencod. llvm-svn: 29208
* Make the implicit def instructions look like other instrs.Chris Lattner2006-07-183-5/+5
| | | | llvm-svn: 29174
* Remove what little AIX support we have. It has never been tested and isn'tChris Lattner2006-07-155-169/+2
| | | | | | complete. llvm-svn: 29156
* Add missing PPC64 extload/truncstoresChris Lattner2006-07-142-9/+99
| | | | llvm-svn: 29140
* Add a noteChris Lattner2006-07-141-0/+9
| | | | llvm-svn: 29139
* Another fix in the rotate encodings, needed when the first two operands are notChris Lattner2006-07-131-1/+1
| | | | | | the same. llvm-svn: 29136
* Print negative immediates as negative values instead of large constantsChris Lattner2006-07-121-1/+1
| | | | | | when using the immshifted addressing mode. llvm-svn: 29130
* Fix encoding of rotates, such as rldiclChris Lattner2006-07-121-3/+3
| | | | llvm-svn: 29128
* Implement PPC64 relocations typesChris Lattner2006-07-123-5/+36
| | | | llvm-svn: 29125
* An overaggressive #ifdef allows a function to fall off the bottom of theChris Lattner2006-07-121-2/+1
| | | | | | | function instead of returning a value. This sometimes allowed the ppc32 jit to be used in 64-bit mode. llvm-svn: 29123
* The PPC64 JIT needs register numbers to encode instructions.Chris Lattner2006-07-111-35/+36
| | | | llvm-svn: 29114
OpenPOWER on IntegriCloud