summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* add targetoperand flags for jump tables, constant pool and block addressChris Lattner2010-11-158-117/+138
| | | | | | | | | | | | | | nodes to indicate when ha16/lo16 modifiers should be used. This lets us pass PowerPC/indirectbr.ll. The one annoying thing about this patch is that the MCSymbolExpr isn't expressive enough to represent ha16(label1-label2) which we need on PowerPC. I have a terrible hack in the meantime, but this will have to be revisited at some point. Last major conversion item left is global variable references. llvm-svn: 119105
* remove some extraneous quotes to make the new instprinter match.Chris Lattner2010-11-151-2/+2
| | | | llvm-svn: 119104
* silence a ton of warnings from clang.Chris Lattner2010-11-151-1/+1
| | | | llvm-svn: 119102
* Attempt to unbreak cmake-based buildsAnton Korobeynikov2010-11-1512-0/+13
| | | | llvm-svn: 119098
* First step of huge frame-related refactoring: move emit{Prologue,Epilogue} ↵Anton Korobeynikov2010-11-1580-3343/+4264
| | | | | | out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place llvm-svn: 119097
* Whitespace cleanupAnton Korobeynikov2010-11-151-4/+4
| | | | llvm-svn: 119096
* Move the logic to decide with which symbol we produce a relocation (if any) toRafael Espindola2010-11-141-27/+44
| | | | | | a central location. This also makes us a bit more compatible with gas. llvm-svn: 119094
* implement support for the MO_DARWIN_STUB TargetOperand flag,Chris Lattner2010-11-144-35/+172
| | | | | | | | and have isel apply to to call operands as required. This allows us to get $stub suffixes on label references on ppc/tiger with the new instprinter, fixing two tests. Only 2 to go. llvm-svn: 119093
* tidy up, no functionality change.Chris Lattner2010-11-142-3/+1
| | | | llvm-svn: 119092
* with the picbase nonsense starting to be figured out, implementChris Lattner2010-11-141-0/+22
| | | | | | lowering support for MovePCtoLR[8]. Down to 4 failures again. llvm-svn: 119090
* move the pic base symbol stuff up to MachineFunctionChris Lattner2010-11-149-46/+20
| | | | | | | since it is trivial and will be shared between ppc and x86. This substantially simplifies the X86 backend also. llvm-svn: 119089
* simplify getPICBaseSymbol a bit.Chris Lattner2010-11-144-8/+8
| | | | llvm-svn: 119088
* reimplement ppc asmprinter "toc" handling to use a VariantKindChris Lattner2010-11-143-4/+29
| | | | | | | | on the operand, required for .o file writing and fixing the PowerPC/mult-alt-generic-powerpc64.ll failure with the new instprinter. llvm-svn: 119087
* lower PPC::MFCRpseud when transforming to MC, avoiding callingChris Lattner2010-11-142-2/+18
| | | | | | the aborting printSpecial() method. This gets us to 8 failures. llvm-svn: 119084
* make the stubbed-out printer methods abort instead of Chris Lattner2010-11-142-3/+18
| | | | | | printing nothing. This gets us back up to 24 failures. llvm-svn: 119083
* wire up a few more things, down to 4 test failures, allChris Lattner2010-11-142-19/+39
| | | | | | about handling $stub, lo/hi etc. llvm-svn: 119082
* properly wire up the instprinter to the ppc64 backend, down to 5 failures.Chris Lattner2010-11-141-1/+1
| | | | llvm-svn: 119081
* implement pretty printing support for the various pseudoChris Lattner2010-11-141-0/+45
| | | | | | | ops the asmprinter supported, fixing PowerPC/rlwimi2.ll among others. Down to 20 failures. llvm-svn: 119080
* Wire up symbol hi/lo printing. We don't print hi()/lo(), but this getsChris Lattner2010-11-142-4/+17
| | | | | | us further along. Only 28 failures now. llvm-svn: 119079
* implement basic support for symbol operand lowering,Chris Lattner2010-11-143-3/+63
| | | | | | and printing support for call operands. Down to 77 failures. llvm-svn: 119078
* trim #includes.Chris Lattner2010-11-141-5/+1
| | | | llvm-svn: 119075
* switch PPC to a simplified MCInstLowering model.Chris Lattner2010-11-144-92/+13
| | | | llvm-svn: 119074
* Fix another case of a .comm directive without a corresponding .typeRafael Espindola2010-11-141-1/+2
| | | | | | directive. llvm-svn: 119073
* fix PPC.h to not pull in TargetMachine.hChris Lattner2010-11-141-2/+2
| | | | llvm-svn: 119072
* rename LowerToMCInst -> LowerARMMachineInstrToMCInst.Chris Lattner2010-11-143-5/+7
| | | | llvm-svn: 119071
* even more simplifications. ARM MCInstLowering is now justChris Lattner2010-11-144-60/+19
| | | | | | | a single function instead of a class. It doesn't need the complexity that X86 does. llvm-svn: 119070
* more shrinkificationChris Lattner2010-11-142-10/+1
| | | | llvm-svn: 119068
* more simplifications.Chris Lattner2010-11-142-92/+18
| | | | llvm-svn: 119067
* simplify and tidy upChris Lattner2010-11-143-41/+16
| | | | llvm-svn: 119066
* implement basic support for memory operands and crbit operands,Chris Lattner2010-11-142-5/+72
| | | | | | this fixes 3 more ppc tests. llvm-svn: 119065
* implement several trivial operand printers, reducingChris Lattner2010-11-142-6/+56
| | | | | | failures in CodeGen/PowerPC from 120 -> 117 llvm-svn: 119063
* Implement support for printing register and immediate operands,Chris Lattner2010-11-143-6/+46
| | | | | | | | | | | | | | add support for darwin vs aix syntax. We now can print instructions like this: add r3, r3, r4 blr and (in aix mode): add 3, 3, 4 blr llvm-svn: 119062
* stub out PPCMCInstLowering, add a new option that uses it and the newChris Lattner2010-11-144-0/+154
| | | | | | instprinter when -enable-ppc-inst-printer is passed to llc. llvm-svn: 119061
* Fix the type of a symbol created with .comm and no corresponding .type.Rafael Espindola2010-11-141-0/+1
| | | | llvm-svn: 119060
* stub out a powerpc MCInstPrinter implementation.Chris Lattner2010-11-147-2/+145
| | | | llvm-svn: 119059
* move all the target's asmprinters into the main target. The piece Chris Lattner2010-11-1440-188/+16
| | | | | | | that should be split out is the InstPrinter (if a target is mc'ized). This change makes all the targets be consistent. llvm-svn: 119056
* If dom tree information is available, make it possible to passDuncan Sands2010-11-144-8/+10
| | | | | | it to get better phi node simplification. llvm-svn: 119055
* move PPCAsmPrinter into the main PPC library, like ARM and X86.Chris Lattner2010-11-145-22/+2
| | | | llvm-svn: 119054
* fix cmakeChris Lattner2010-11-141-1/+0
| | | | llvm-svn: 119053
* remove JIT support from the Alpha backend. The JIT will be moving to MC, Chris Lattner2010-11-148-604/+2
| | | | | | and the Alpha backend isn't MCized yet. Approved by Andrew. llvm-svn: 119051
* random acts of tidiness.Chris Lattner2010-11-141-10/+5
| | | | llvm-svn: 119049
* Teach InstructionSimplify about phi nodes. I chose to have it simplyDuncan Sands2010-11-142-2/+5
| | | | | | | | | | offload the work to hasConstantValue rather than do something more complicated (such handling mutually recursive phis) because (1) it is not clear it is worth it; and (2) if it is worth it, maybe such logic would be better placed in hasConstantValue. Adjust some GVN tests which are now cleaned up much further (eg: all phi nodes are removed). llvm-svn: 119043
* Boost the power of phi node constant folding slightly: if allDuncan Sands2010-11-141-12/+18
| | | | | | | | | | | operands are the phi node itself or undef, then return undef. This logic already existed at a higher level so in practice it shouldn't make the slightest difference. Note that this code could be replaced by a call to PN->hasConstantValue(). However since we bail out the moment we see a non-constant operand, it is more efficient to have a specialized version of that logic. llvm-svn: 119041
* Strip trailing whitespace.Duncan Sands2010-11-141-50/+49
| | | | llvm-svn: 119038
* Second attempt at providing correct encodings for Thumb2 binary operators.Owen Anderson2010-11-141-51/+105
| | | | llvm-svn: 119029
* Handle a peculiar comdat case: Creating a section with an undefinedRafael Espindola2010-11-142-29/+55
| | | | | | | signature symbol causes a local symbol to be created unless there is some other use of the symbol. llvm-svn: 119026
* Simplify getSymbolIndexInSymbolTable by setting the actual index ofRafael Espindola2010-11-141-11/+6
| | | | | | the symbols. llvm-svn: 119022
* Fix warning.Rafael Espindola2010-11-141-0/+4
| | | | llvm-svn: 119021
* Recognise 32-bit ror-based bswap implementation used by uclibcPeter Collingbourne2010-11-131-0/+29
| | | | llvm-svn: 119007
* Support ; as asm separatorPeter Collingbourne2010-11-131-1/+1
| | | | llvm-svn: 119006
OpenPOWER on IntegriCloud