summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Remove Synthesizable from the Type system; as MMX vectorDale Johannesen2010-10-201-1/+1
| | | | | | | types are no longer Legal on X86, we don't need it. No functional change. 8499854. llvm-svn: 116947
* Handle _GLOBAL_OFFSET_TABLE_ correctly.Rafael Espindola2010-10-201-0/+27
| | | | llvm-svn: 116932
* Remove remaining uses of ATTRIBUTE_UNUSED on variables, and delete threeChandler Carruth2010-10-201-2/+0
| | | | | | #includes in the process. llvm-svn: 116919
* Fix a TODO by removing some unnecesary copies.Eric Christopher2010-10-201-13/+5
| | | | llvm-svn: 116915
* Fix backwards conditional.Jim Grosbach2010-10-201-1/+1
| | | | llvm-svn: 116897
* Add dynamic realignment when rematerializing the base register.Jim Grosbach2010-10-201-0/+13
| | | | llvm-svn: 116886
* Nuke a commented out bit that got missed a while back.Jim Grosbach2010-10-191-1/+1
| | | | llvm-svn: 116883
* Add a pre-dispatch SjLj EH hook on the unwind edge for targets to do anyJim Grosbach2010-10-196-13/+82
| | | | | | | setup they require. Use this for ARM/Darwin to rematerialize the base pointer from the frame pointer when required. rdar://8564268 llvm-svn: 116879
* Update comments to remove obsolete references.Jim Grosbach2010-10-191-6/+5
| | | | llvm-svn: 116863
* Enable using vdup for vector constants which are splat ofDale Johannesen2010-10-191-32/+17
| | | | | | | integers by default, and remove the controlling flag, now that LICM will hoist such vdup's. 8003375. llvm-svn: 116852
* Re-enable register pressure aware machine licm with fixes. Hoist() may haveEvan Cheng2010-10-194-0/+65
| | | | | | | erased the instruction during LICM so UpdateRegPressureAfter() should not reference it afterwards. llvm-svn: 116845
* Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson2010-10-192-1/+6
| | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
* Revert r116781 "- Add a hook for target to determine whether an instruction defDaniel Dunbar2010-10-194-65/+0
| | | | | | is", which breaks some nightly tests. llvm-svn: 116816
* Add lower argument and return of device functionChe-Liang Chiou2010-10-197-9/+275
| | | | llvm-svn: 116805
* X86: Add MS-CRT libcalls.Michael J. Spencer2010-10-191-0/+2
| | | | llvm-svn: 116801
* Fix Whitespace.Michael J. Spencer2010-10-192-26/+26
| | | | llvm-svn: 116800
* - Add a hook for target to determine whether an instruction def isEvan Cheng2010-10-194-0/+65
| | | | | | | | | | | "long latency" enough to hoist even if it may increase spilling. Reloading a value from spill slot is often cheaper than performing an expensive computation in the loop. For X86, that means machine LICM will hoist SQRT, DIV, etc. ARM will be somewhat aggressive with VFP and NEON instructions. - Enable register pressure aware machine LICM by default. llvm-svn: 116781
* Support alignment for NEON vld-lane and vst-lane instructions.Bob Wilson2010-10-191-0/+11
| | | | llvm-svn: 116776
* Added a few tweaks to the Intel Descriptor-table support instructions to allowKevin Enderby2010-10-192-0/+48
| | | | | | | word forms and suffixed versions to match the darwin assembler in 32-bit and 64-bit modes. This is again for use just with assembly source for llvm-mc . llvm-svn: 116773
* ARM encoding information for [SU]SAT* instructions.Jim Grosbach2010-10-181-14/+58
| | | | llvm-svn: 116768
* Revert r116220 - thus turning arm fast isel back on by default.Eric Christopher2010-10-181-3/+3
| | | | llvm-svn: 116762
* Don't recompute MachineRegisterInfo in the Optimize* method.Bill Wendling2010-10-182-6/+7
| | | | llvm-svn: 116750
* For Thumb2, try to use frame pointer references for stack slots even when aJim Grosbach2010-10-181-2/+10
| | | | | | base register is available. rdar://8525298 llvm-svn: 116729
* Produce ELF::R_386_GOTPC relocations.Rafael Espindola2010-10-181-0/+5
| | | | llvm-svn: 116728
* Added a handful of x86-32 instructions that were missing so that llvm-mc wouldKevin Enderby2010-10-183-1/+51
| | | | | | | | | | be more complete. These are only expected to be used by llvm-mc with assembly source so there is no pattern, [], in the .td files. Most are being added to X86InstrInfo.td as Chris suggested and only comments about register uses are added. Suggestions welcome on the .td changes as I'm not sure on every detail of the x86 records. More missing instructions will be coming. llvm-svn: 116716
* ARM addrmode4 instructions (ldm, stm and friends) can't encode an immediateJim Grosbach2010-10-181-1/+2
| | | | | | | | offset for stack references. Make sure we take that into account when deciding whether to reserver an emergency spill slot for the register scavenger. rdar://8559625 llvm-svn: 116714
* Grammar tweak.Jim Grosbach2010-10-181-1/+1
| | | | llvm-svn: 116712
* Improve lowering of sext to i128 on SPU.Kalle Raiskila2010-10-181-2/+7
| | | | | | | | The old algorithm inserted a 'rotqmbyi' instruction which was both redundant and wrong - it made shufb select bytes from the wrong end of the input quad. llvm-svn: 116701
* Remove the check for invalid calling conventions. Testing shows that they'reEric Christopher2010-10-181-4/+1
| | | | | | working just fine. llvm-svn: 116698
* Lift arg promotion from the X86 backend. This should be unified at some point.Eric Christopher2010-10-181-3/+57
| | | | llvm-svn: 116694
* Now that we handle all allocas via a non-SP reg offset remove all of theEric Christopher2010-10-171-79/+39
| | | | | | special case handling for ARM::SP. llvm-svn: 116688
* Allow more load types to be materialized through the allocas.Eric Christopher2010-10-171-1/+1
| | | | llvm-svn: 116683
* Optimize GEP off of intermediate allocas.Eric Christopher2010-10-171-14/+46
| | | | llvm-svn: 116681
* Fix comment.Eric Christopher2010-10-171-1/+1
| | | | llvm-svn: 116680
* Turn on AddOperator folding in GEP.Eric Christopher2010-10-171-1/+1
| | | | llvm-svn: 116679
* Use the i12 immediate versions of the load instructions - they're handledEric Christopher2010-10-171-6/+6
| | | | | | more in the post-passes. llvm-svn: 116678
* Add a MCObjectFormat class so that code common to all targets that use aRafael Espindola2010-10-162-4/+32
| | | | | | | | | | | | single object format can be shared. This also adds support for mov zed+(bar-foo), %eax on ELF and COFF targets. llvm-svn: 116675
* X86-Windows: Emit an undefined global __fltused symbol when targeting WindowsMichael J. Spencer2010-10-161-0/+7
| | | | | | if any floating point arguments are passed to an external function. llvm-svn: 116665
* Fix some funky formatting that got through.Eric Christopher2010-10-161-1/+3
| | | | llvm-svn: 116653
* ARMCodeEmitter::emitMiscInstruction is dead. Long liveBill Wendling2010-10-151-45/+1
| | | | | | ARMCodeEmitter::emitMiscInstruction! llvm-svn: 116644
* Make sure offset is 0 for load/store register to the stack call.Eric Christopher2010-10-151-2/+2
| | | | llvm-svn: 116640
* Formatting.Eric Christopher2010-10-151-4/+4
| | | | llvm-svn: 116635
* Fix else if -> if in store machinery.Eric Christopher2010-10-151-1/+1
| | | | llvm-svn: 116628
* Reformatting. No functionalogicality changes.Bill Wendling2010-10-151-19/+15
| | | | llvm-svn: 116625
* Refactor ARM fast-isel reg + offset to be a base + offset.Eric Christopher2010-10-151-40/+45
| | | | llvm-svn: 116622
* Encoding information for the various ARM saturating add/sub instructions.Jim Grosbach2010-10-151-46/+53
| | | | llvm-svn: 116612
* ARM binary encoding information for RSB and RSC instructions.Jim Grosbach2010-10-151-44/+104
| | | | llvm-svn: 116604
* Don't mark argument value stores as immutable, as otherwise the post-RAJim Grosbach2010-10-151-1/+1
| | | | | | | scheduler may reorder loads from them before the stores and other such badness. PR8347. Patch by David Meyer llvm-svn: 116602
* Use simple RegState::Define flag instead of getDefRegState(true).Bob Wilson2010-10-151-5/+5
| | | | llvm-svn: 116601
* Expand GEP handling for constant offsets.Eric Christopher2010-10-151-23/+44
| | | | llvm-svn: 116594
OpenPOWER on IntegriCloud