summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPC64ISelSimple.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove 64 bit simple ISel, it never worked correctlyNate Begeman2005-04-051-2946/+0
| | | | | | Add initial (buggy) implementation of 64 bit pattern ISel llvm-svn: 21096
* eliminate dead variables, patch contributed by Gabor Greif!Chris Lattner2005-03-241-2/+0
| | | | llvm-svn: 20812
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-1/+1
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Several fixes and enhancements to the PPC32 backend.Nate Begeman2004-10-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | 1. Fix an illegal argument to getClassB when deciding whether or not to sign extend a byte load. 2. Initial addition of isLoad and isStore flags to the instruction .td file for eventual use in a scheduler. 3. Rewrite of how constants are handled in emitSimpleBinaryOperation so that we can emit the PowerPC shifted immediate instructions far more often. This allows us to emit the following code: int foo(int x) { return x | 0x00F0000; } _foo: .LBB_foo_0: ; entry ; IMPLICIT_DEF oris r3, r3, 15 blr llvm-svn: 16826
* s/ISel/PPC64ISel/ to have unique class names for debugging via gdb because theMisha Brukman2004-09-211-78/+81
| | | | | | C++ front-end in gcc does not mangle classes in anonymous namespaces correctly. llvm-svn: 16471
* Add 64 bit divide instructions, and use themNate Begeman2004-09-061-34/+11
| | | | llvm-svn: 16198
* Changes For Bug 352Reid Spencer2004-09-011-2/+2
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Improvements to int->float cast code for PPC-64Nate Begeman2004-08-291-57/+49
| | | | llvm-svn: 16105
* Stack space for argument passing is 32 regardless of 32- vs. 64-bit arch.Misha Brukman2004-08-191-6/+6
| | | | | | Thanks to Nate Begeman for pointing this out. llvm-svn: 15930
* On 64-bit PowerPC, pointers are 8 bytes, so parameter area offset is 48, not 24Misha Brukman2004-08-191-7/+10
| | | | llvm-svn: 15928
* Fix more remaining 32-bit vestiges of PowerPCMisha Brukman2004-08-191-6/+2
| | | | llvm-svn: 15919
* Fix another vestige of the 32-bit PowerPC backend.Misha Brukman2004-08-191-3/+1
| | | | llvm-svn: 15918
* * Eliminate global base register, r2 is used for that on AIX/PowerPCMisha Brukman2004-08-191-45/+6
| | | | | | * Fix bug from 32-bit PowerPC days of 2-register long split llvm-svn: 15916
* Clean up floating point instruction selection.Nate Begeman2004-08-191-44/+5
| | | | | | | | Change int->float cast code to put conversion constants in constant pool. Shorten code sequence for constant pool fp loads. Remove LOADLoDirect/LOADLoIndirect psuedo instructions and tweak asmwriter llvm-svn: 15913
* PowerPC 32-/64-bit split: Part II, 64-bit customizations on PowerPCMisha Brukman2004-08-171-13/+4
| | | | llvm-svn: 15851
* Longs are in one register on PowerPC 64; use appropriate instructions to ↵Nate Begeman2004-08-131-158/+22
| | | | | | operate on them. llvm-svn: 15711
* * Correct 64-bit version: blr 1 (not 0)Misha Brukman2004-08-121-2/+2
| | | | | | * BuildMI() can build 0-param instructions (e.g., NOP) llvm-svn: 15681
* * Pointers are 8 bytes, hence cLong type on 64-bit PPCMisha Brukman2004-08-121-6/+8
| | | | | | * Fix loading of GlobalValues llvm-svn: 15678
* 64-bit instruction selector and AIX-specific 64-bit asm printerMisha Brukman2004-08-111-0/+3199
llvm-svn: 15669
OpenPOWER on IntegriCloud