summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* add a new value for the command line optnChris Lattner2006-09-071-1/+1
| | | | llvm-svn: 30165
* Fix a cross-build issue. The asmsyntax shouldn't be affected by the buildChris Lattner2006-09-071-8/+12
| | | | | | | host, it should be affected by the target. Allow the command line option to override in either case. llvm-svn: 30164
* Make target asm info a property of the target machine.Jim Laskey2006-09-0719-192/+59
| | | | llvm-svn: 30162
* Break out target asm info into separate files.Jim Laskey2006-09-0712-0/+437
| | | | llvm-svn: 30161
* Eliminate X86ISD::TEST, using X86ISD::CMP instead. Match X86ISD::CMP patternsChris Lattner2006-09-072-29/+35
| | | | | | | | | | | | | | | using test, which provides nice simplifications like: - movl %edi, %ecx - andl $2, %ecx - cmpl $0, %ecx + testl $2, %edi je LBB1_11 #cond_next90 There are a couple of dagiselemitter deficiencies that this exposes, they will be handled later. llvm-svn: 30156
* Some notes on better load folding we could doChris Lattner2006-09-071-0/+2
| | | | llvm-svn: 30155
* Consistency.Evan Cheng2006-09-071-1/+1
| | | | llvm-svn: 30152
* Make the x86 asm flavor part of the subtarget info.Jim Laskey2006-09-073-24/+34
| | | | llvm-svn: 30146
* Clean up.Evan Cheng2006-09-071-2/+2
| | | | llvm-svn: 30140
* Watch out for variable_ops instructions.Evan Cheng2006-09-061-1/+1
| | | | llvm-svn: 30135
* Variable ops instructions may ignore the last few operands for code emission.Evan Cheng2006-09-061-1/+3
| | | | llvm-svn: 30134
* Oops - forgot to update banner.Jim Laskey2006-09-061-1/+1
| | | | llvm-svn: 30131
* Separate target specifc asm properties from asm printers.Jim Laskey2006-09-061-0/+74
| | | | llvm-svn: 30127
* Separate target specific asm properties from the asm printers.Jim Laskey2006-09-0613-164/+188
| | | | llvm-svn: 30126
* add the orr instructionRafael Espindola2006-09-061-0/+4
| | | | llvm-svn: 30125
* Bugfix to work with the two-addr changes that have been made in the tree ↵Chris Lattner2006-09-051-1/+2
| | | | | | recently llvm-svn: 30121
* Fix a few dejagnu failures. e.g. fast-cc-merge-stack-adj.llEvan Cheng2006-09-051-2/+2
| | | | llvm-svn: 30113
* JIT encoding bug.Evan Cheng2006-09-051-1/+1
| | | | llvm-svn: 30112
* Update the X86 JIT to make it work with the new two-addr changes. This alsoChris Lattner2006-09-051-41/+52
| | | | | | adds assertions that check to make sure every operand gets emitted. llvm-svn: 30110
* Completely eliminate def&use operands. Now a register operand is EITHER aChris Lattner2006-09-056-39/+49
| | | | | | def operand or a use operand. llvm-svn: 30109
* Fix a long-standing wart in the code generator: two-address instruction loweringChris Lattner2006-09-053-487/+473
| | | | | | | | | | | | | | | actually *removes* one of the operands, instead of just assigning both operands the same register. This make reasoning about instructions unnecessarily complex, because you need to know if you are before or after register allocation to match up operand #'s with the target description file. Changing this also gets rid of a bunch of hacky code in various places. This patch also includes changes to fold loads into cmp/test instructions in the X86 backend, along with a significant simplification to the X86 spill folding code. llvm-svn: 30108
* jmp_bufs are this big on alpha.Andrew Lenharth2006-09-051-0/+3
| | | | llvm-svn: 30107
* add support for returning 64bit valuesRafael Espindola2006-09-041-0/+9
| | | | llvm-svn: 30103
* Fix some X86 JIT failures. This should really come from TargetJITInfo.Chris Lattner2006-09-041-0/+3
| | | | llvm-svn: 30102
* add setJumpBufSize() and setJumpBufAlignment() to target-lowering.Duraid Madina2006-09-041-0/+3
| | | | | | | Call these from your backend to enjoy setjmp/longjmp goodness, see lib/Target/IA64/IA64ISelLowering.cpp for an example llvm-svn: 30095
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-0421-519/+165
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Add accessorChris Lattner2006-09-041-0/+1
| | | | llvm-svn: 30080
* remove #includeChris Lattner2006-09-041-1/+1
| | | | llvm-svn: 30078
* Simplify target construction.Chris Lattner2006-09-038-14/+7
| | | | llvm-svn: 30070
* add the SETULT condition codeRafael Espindola2006-09-031-0/+1
| | | | llvm-svn: 30067
* add more condition codesRafael Espindola2006-09-022-2/+30
| | | | llvm-svn: 30056
* Oops. Bad typo. Without the check of N1.hasOneUse() bad things can happen.Evan Cheng2006-09-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Suppose the TokenFactor can reach the Op: [Load chain] ^ | [Load] ^ ^ | | / \- / | / [Op] / ^ ^ | .. | | / | [TokenFactor] | ^ | | | \ / \ / [Store] If we move the Load below the TokenFactor, we would have created a cycle in the DAG. llvm-svn: 30040
* Use a couple of multiclass patterns to factor some integer ops.Chris Lattner2006-09-012-135/+51
| | | | llvm-svn: 30039
* remove a bunch of commentsChris Lattner2006-09-011-54/+0
| | | | llvm-svn: 30038
* Minor asm fix.Evan Cheng2006-08-292-2/+5
| | | | llvm-svn: 29965
* Remove dead code.Evan Cheng2006-08-291-4/+0
| | | | llvm-svn: 29962
* Don't performance load/op/store transformation if op produces a floating pointEvan Cheng2006-08-291-1/+3
| | | | | | | or vector result. X86 does not have load/mod/store variants of those instructions. llvm-svn: 29957
* - Enable x86 isel preprocessing by default unless -fast is specified.Evan Cheng2006-08-293-8/+13
| | | | | | - Also disable isel load folding if -fast. llvm-svn: 29956
* Handle callee saved registers in dwarf frame info (lead up to exceptionJim Laskey2006-08-291-6/+13
| | | | | | handling.) llvm-svn: 29954
* Tidy up options.Jim Laskey2006-08-291-9/+9
| | | | llvm-svn: 29953
* Avoid making unneeded load/mod/store transformation which can hurt performance.Evan Cheng2006-08-291-5/+10
| | | | llvm-svn: 29952
* 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
* On Mac, print jump table entries after the function to work around a linker ↵Evan Cheng2006-08-281-3/+6
| | | | | | issue. llvm-svn: 29946
* Add an optional pass to preprocess the DAG before x86 isel to allow ↵Evan Cheng2006-08-281-0/+130
| | | | | | selecting more load/mod/store instructions. llvm-svn: 29943
* 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-279-9/+9
| | | | llvm-svn: 29911
* Do not use getTargetNode() and SelectNodeTo() which takes more than 3Evan Cheng2006-08-274-66/+77
| | | | | | SDOperand arguments. Use the variants which take an array and number instead. llvm-svn: 29907
* Fix target matching weights, so that ppc-darwin modules are codegen with theChris Lattner2006-08-262-13/+7
| | | | | | | ppc target, not the itanium target, when run on an itanium machine. This should fix the CodeGen/PowerPC regtest failures on itanium. llvm-svn: 29903
* SelectNodeTo now returns a SDNode*.Evan Cheng2006-08-265-38/+38
| | | | llvm-svn: 29901
* Select() no longer require Result operand by reference.Evan Cheng2006-08-266-82/+68
| | | | llvm-svn: 29898
OpenPOWER on IntegriCloud