summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* refactor call operand handling to eliminate special cases from printOp.Chris Lattner2005-11-171-19/+17
| | | | llvm-svn: 24401
* disentangle call operands from branch operands a bitChris Lattner2005-11-172-3/+9
| | | | llvm-svn: 24400
* add an option to generate completely non-pic code, corresponding to whatChris Lattner2005-11-173-2/+17
| | | | | | | | | | | | | gcc -static produces on PPC. This is used for building kexts and other things. With this, materializing the address of a global looks like: lis r2, ha16(L_H$non_lazy_ptr) la r3, lo16(L_H$non_lazy_ptr)(r2) we're still emitting stubs for functions, which is wrong. That is next. llvm-svn: 24399
* Fix a bug that resistor on IRC hit where we tried to create token factorChris Lattner2005-11-171-2/+2
| | | | | | nodes of load results, not of their chain results. llvm-svn: 24398
* Enable global address legalization, fixing a todo and allowing the removalChris Lattner2005-11-173-49/+2
| | | | | | | | of some code. This exposes the implicit load from the stubs to the DAG, allowing them to be optimized by the dag combiner. It also moves darwin specific stuff out of the isel into the legalizer, and allows more to be moved to the .td file. llvm-svn: 24397
* Teach the selector to fold lo(g) into load instruction immediate fieldsChris Lattner2005-11-171-0/+8
| | | | llvm-svn: 24396
* Generate LA and ADDIS when possible.Chris Lattner2005-11-171-4/+6
| | | | llvm-svn: 24395
* Use the right accessor to create this nodeChris Lattner2005-11-171-1/+1
| | | | llvm-svn: 24394
* Add an initial hack at legalizing GlobalAddress into the appropriate nodesChris Lattner2005-11-174-2/+52
| | | | | | | | | | | | | | | | on Darwin to remove smarts from the isel. This is currently disabled by default (uncomment setOperationAction(ISD::GlobalAddress to enable it). tblgen needs to become smarter about tglobaladdr nodes and bigger patterns needed to be added to the .td file. However, we can currently emit stuff like this: :) li r2, lo16(L_x$non_lazy_ptr) lis r3, ha16(L_x$non_lazy_ptr) lwzx r2, r3, r2 The obvious improvements will follow. llvm-svn: 24390
* Add globaladdress and targetglobaladdress nodes for dag patternsChris Lattner2005-11-171-0/+4
| | | | llvm-svn: 24389
* LI could theoretically be used for the lo-part of a global address, just likeChris Lattner2005-11-171-1/+1
| | | | | | lis can be used for the high part. llvm-svn: 24388
* When lowering direct calls, lower them to use a targetglobaladress directlyChris Lattner2005-11-172-2/+6
| | | | | | instead of a globaladdress. This has no effect on the generated code at all. llvm-svn: 24386
* Add patterns for some 16-bit immediate instructions, patch contributed byChris Lattner2005-11-171-28/+37
| | | | | | Evan Cheng. llvm-svn: 24384
* Add patterns for several simple instructions that take i32 immediates.Chris Lattner2005-11-162-42/+36
| | | | | | Patch contributed by Evan Cheng! llvm-svn: 24382
* who would have thought you would want to write into globals tooAndrew Lenharth2005-11-161-0/+6
| | | | llvm-svn: 24381
* initial step at adding a dag-to-dag isel for X86 backend. Patch contributedChris Lattner2005-11-163-3/+175
| | | | | | by Evan Cheng! llvm-svn: 24371
* Patch to clean up function call pseudos and support the BLA instruction,Nate Begeman2005-11-165-20/+31
| | | | | | | which branches to an absolute address. This is required to support objc direct dispatch. llvm-svn: 24370
* Make sure to use SwitchSection to switch sections so that we don't ↵Chris Lattner2005-11-151-2/+3
| | | | | | | | accidentally emit functions into the .const section. Whoops. llvm-svn: 24363
* Separate X86ISelLowering stuff out from the X86ISelPattern.cpp file. PatchChris Lattner2005-11-155-1007/+1061
| | | | | | contributed by Evan Cheng. llvm-svn: 24358
* Handle globals with explicit alignment requestsChris Lattner2005-11-141-4/+4
| | | | llvm-svn: 24355
* Teach the PPC asmwriter to honor globals with explicit section requests.Chris Lattner2005-11-141-22/+32
| | | | llvm-svn: 24353
* add FP select. next up - divide!Duraid Madina2005-11-141-3/+5
| | | | llvm-svn: 24346
* unbreak the buildChris Lattner2005-11-131-4/+2
| | | | llvm-svn: 24339
* enable LSR by default on alphaAndrew Lenharth2005-11-121-7/+3
| | | | llvm-svn: 24337
* fix more regressionsAndrew Lenharth2005-11-121-2/+2
| | | | llvm-svn: 24335
* fix READCYCLECOUNTERAndrew Lenharth2005-11-121-0/+1
| | | | llvm-svn: 24334
* fix yet more regressionsAndrew Lenharth2005-11-111-1/+1
| | | | llvm-svn: 24308
* generate chain resultAndrew Lenharth2005-11-111-0/+5
| | | | llvm-svn: 24307
* Fix a bunch more alpha regressionsAndrew Lenharth2005-11-111-1/+1
| | | | llvm-svn: 24304
* continued readcyclecounter supportAndrew Lenharth2005-11-113-1/+16
| | | | llvm-svn: 24300
* Make BB and CPI labels use the function number, not the function name as aChris Lattner2005-11-101-19/+18
| | | | | | | uniquing id. This makes things happy when the function name is quoted, preventing labels like LBB"foo"_2. llvm-svn: 24295
* do not allow '.' in symbol namesChris Lattner2005-11-101-0/+1
| | | | llvm-svn: 24292
* Darwin supports quoted labels. This implements:Chris Lattner2005-11-101-0/+3
| | | | | | test/Regression/CodeGen/PowerPC/darwin-labels.ll llvm-svn: 24287
* Call this method with the object we haveChris Lattner2005-11-101-2/+2
| | | | llvm-svn: 24279
* Make the aix asm printer interface properly with the parent classChris Lattner2005-11-101-3/+3
| | | | llvm-svn: 24274
* fix a bunch of regressionsAndrew Lenharth2005-11-101-2/+2
| | | | llvm-svn: 24269
* whatever. Intermediate patch to see what breaks. Seems ok.Andrew Lenharth2005-11-098-136/+277
| | | | llvm-svn: 24260
* Add a new option to indicate we want the code generator to emit code quickly,Chris Lattner2005-11-082-4/+5
| | | | | | | not spending tons of time microoptimizing it. This is useful for an -O0 style of build. llvm-svn: 24235
* Add a new option to indicate we want the code generator to emit code ↵Chris Lattner2005-11-0814-32/+20
| | | | | | quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build. llvm-svn: 24233
* add support for storing and returning boolsDuraid Madina2005-11-071-5/+26
| | | | llvm-svn: 24228
* just some random hacking - calls (particularly indirect) need a lot ofDuraid Madina2005-11-061-14/+25
| | | | | | love (especially with -sched=simple) llvm-svn: 24225
* Add the necessary support to the ISel to allow targets to codegen the newNate Begeman2005-11-061-3/+26
| | | | | | | | alignment information appropriately. Includes code for PowerPC to support fixed-size allocas with alignment larger than the stack. Support for arbitrarily aligned dynamic allocas coming soon. llvm-svn: 24224
* ask for 16-byte aligned jmpbufs. This should unbreak C++ on IA64 (andDuraid Madina2005-11-061-1/+2
| | | | | | | a bunch of other things) but is currently ignored by the code generator. llvm-svn: 24206
* add a case Nate sent meChris Lattner2005-11-051-0/+23
| | | | llvm-svn: 24195
* oops, forgot to load GP for indirect calls, though the old code now commentedDuraid Madina2005-11-041-4/+21
| | | | | | | | | out failed (e.g. methcall) - now the code compiles, though it's not quite right just yet (tm) ;) would fix this but it's 3am! :O llvm-svn: 24186
* kill redundant SP/GP/RP save/restores across callsDuraid Madina2005-11-041-2/+3
| | | | llvm-svn: 24183
* add support for loading boolsDuraid Madina2005-11-041-1/+7
| | | | llvm-svn: 24182
* fun with predicates! (add TRUNC i64->i1, AND i1 i1, fix XOR i1 i1)Duraid Madina2005-11-041-41/+97
| | | | llvm-svn: 24175
* add pattern to load constant 0 into a predicate regDuraid Madina2005-11-031-0/+2
| | | | llvm-svn: 24164
* Fix a bug that prevented this pattern from matchingChris Lattner2005-11-031-1/+1
| | | | llvm-svn: 24161
OpenPOWER on IntegriCloud