summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix MDString Abbrev setup.Devang Patel2009-08-041-4/+2
| | | | llvm-svn: 78034
* Constants and Metadata share ValueList. This means they must be emitted ↵Devang Patel2009-08-041-91/+85
| | | | | | interleaved (using appropriate BLOCK_IDs) otherwise ValuePtrs index gets out of sync. llvm-svn: 78033
* Remove ARM specific getInlineAsmLength. We'll rely on the simpler (and ↵Evan Cheng2009-08-042-163/+0
| | | | | | faster) generic algorithm for now. If more accurate computation is needed, we'll rely on the disassembler. llvm-svn: 78032
* Load / store multiple pass fixes for Thumb2. Not enabled yet.Evan Cheng2009-08-042-77/+88
| | | | llvm-svn: 78031
* Emit sub r, #c instead of transforming it to add r, #-c if c fits in 8-bit. ↵Evan Cheng2009-08-041-2/+9
| | | | | | This is a bit of pre-mature optimization. 8-bit variant makes it likely it will be narrowed to a 16-bit instruction. llvm-svn: 78030
* Lower Neon VLD* intrinsics to custom DAG nodes, and manually allocate theBob Wilson2009-08-043-1/+74
| | | | | | results to fixed registers. llvm-svn: 78025
* Minor cleanup. No functional changes intended.Bob Wilson2009-08-041-6/+5
| | | | llvm-svn: 78024
* Propogate the Depth argument when callingDan Gohman2009-08-041-1/+2
| | | | | | | | | TLI.computeMaskedBitsForTargetNode from ComputeMaskedBits, since the former may call back into the latter. This fixes a major compile time problem on a testcase that happnened to hit this in a particularly bad way, PR4643. llvm-svn: 78023
* Update CMake files.Ted Kremenek2009-08-033-0/+3
| | | | llvm-svn: 78020
* eliminate CurrentSection, rename CurrentSection_ -> CurrentSection, make it ↵Chris Lattner2009-08-032-22/+15
| | | | | | | | private, eliminate IsInTextSection. llvm-svn: 78017
* Kill off SwitchToDataSection and SwitchToTextSection, woo.Chris Lattner2009-08-031-57/+3
| | | | llvm-svn: 78015
* remove an unneeded section switch.Chris Lattner2009-08-031-1/+0
| | | | llvm-svn: 78014
* switch ppc to using SwitchToSection instead of textual section stuff.Chris Lattner2009-08-031-14/+43
| | | | llvm-svn: 78013
* Keep track of metadata used by other metadata.Devang Patel2009-08-031-4/+52
| | | | llvm-svn: 78012
* use TLOF to compute the section for a function instead ofChris Lattner2009-08-031-5/+4
| | | | | | replicating the logic manually. llvm-svn: 78011
* convert macho stub emission to use SwitchToSection instead ofChris Lattner2009-08-031-34/+50
| | | | | | textual sections. llvm-svn: 78007
* hoist some common code out of a switchChris Lattner2009-08-031-3/+2
| | | | llvm-svn: 78006
* Add a new Constant::getIntegerValue helper function, and convert aDan Gohman2009-08-032-8/+21
| | | | | | | few places in InstCombine to use it, to fix problems handling pointer types. This fixes the recent llvm-gcc bootstrap error. llvm-svn: 78005
* this really shouldn't switch sections without telling the asmprinter, butChris Lattner2009-08-031-1/+1
| | | | | | hey it uses .previous, so it should work :) llvm-svn: 78004
* Re-apply LiveInterval index dumping patch, with fixes suggested by BillDavid Greene2009-08-034-7/+36
| | | | | | and others. llvm-svn: 78003
* Eliminate textual section switching from the x86 backend, oneChris Lattner2009-08-032-12/+33
| | | | | | more step towards "semantics sections" llvm-svn: 78002
* Lower CONCAT_VECTOR during legalization instead of matching it during isel.Bob Wilson2009-08-032-26/+19
| | | | | | Add a testcase. llvm-svn: 77992
* Fix Bug 4657: register scavenger asserts with subreg loweringJakob Stoklund Olesen2009-08-032-8/+33
| | | | | | | | | | | | | | | When LowerSubregsInstructionPass::LowerInsert eliminates an INSERT_SUBREG instriction because it is an identity copy, make sure that the same registers are alive before and after the elimination. When the super-register is marked <undef> this requires inserting an IMPLICIT_DEF instruction to make sure the super register is live. Fix a related bug where a kill flag on the inserted sub-register was not transferred properly. Finally, clear the undef flag in MachineInstr::addRegisterKilled. Undef implies dead and kill implies live, so they cant both be valid. llvm-svn: 77989
* Minor stylistic cleanups in the Blackfin target.Jakob Stoklund Olesen2009-08-033-42/+46
| | | | | | Thanks Chris. llvm-svn: 77987
* Make SimplifyDemandedUseBits generate vector constants where Eli Friedman2009-08-031-2/+2
| | | | | | | | appropriate. Patch per report on llvmdev. No testcase because the original report didn't come with a testcase, and I can't come up with a case that actually fails. llvm-svn: 77986
* make getObjFileLowering() return a non-const reference.Chris Lattner2009-08-031-1/+1
| | | | llvm-svn: 77984
* remove a dead switch directive, replace it with someChris Lattner2009-08-031-1/+2
| | | | | | code that I will be using shortly. llvm-svn: 77983
* Revert 77974. It breaks 3 of the ARM tests.Bob Wilson2009-08-031-8/+0
| | | | llvm-svn: 77982
* Remove neverHasSideEffects on MMX_MOVD64rrv164 since it has a matching pattern.Evan Cheng2009-08-031-2/+1
| | | | llvm-svn: 77978
* eliminate textual section switching from intel asm printer. Chris Lattner2009-08-031-15/+15
| | | | | | | This will cause it to enter the ".text" section instead of "_text" but masm is already broken. llvm-svn: 77977
* make SwitchToSection accept null sections for now.Chris Lattner2009-08-031-3/+8
| | | | llvm-svn: 77976
* Change C, CBE, MSIL to not provide target data via getTargetData().Daniel Dunbar2009-08-033-3/+3
| | | | | | | - The theory is these should never actually be called, since these boil down to passes which can access the target data via the standard mechanism. llvm-svn: 77975
* Allow targets to custom handle softening of results or operands before ↵Sanjiv Gupta2009-08-031-0/+8
| | | | | | trying the standard stuff. llvm-svn: 77974
* llvm_report_error already prints "LLVM ERROR:". So stop reporting errors ↵Benjamin Kramer2009-08-034-9/+8
| | | | | | like "LLVM ERROR: llvm: error:" or "LLVM ERROR: ERROR:". llvm-svn: 77971
* Unbreak win64 compilation callback.Anton Korobeynikov2009-08-031-13/+14
| | | | | | | | Since we're generating stubs by hands we don't follow the ABI and don't create a register spill area. Don't use this area in compilation callback! llvm-svn: 77968
* Fix a coaelescer bug. If a copy val# is extended to eliminate a ↵Evan Cheng2009-08-031-1/+8
| | | | | | non-trivially coalesced copy, and the copy kills its source register. Trim the source register's live range to the last use if possible. This fixes up kill marker to make the scavenger happy. llvm-svn: 77967
* Create proper frame index for FPAnton Korobeynikov2009-08-031-1/+3
| | | | llvm-svn: 77966
* Perform bitconvert to proper typeAnton Korobeynikov2009-08-031-2/+1
| | | | llvm-svn: 77965
* Add 'Indirect' LocInfo class and use to pass __m128 on win64. Also minore ↵Anton Korobeynikov2009-08-032-15/+27
| | | | | | fixes here and there (mostly __m64). llvm-svn: 77964
* Cleanup Darwin MMX calling conv stuff - make the stuff more generic. This ↵Anton Korobeynikov2009-08-032-62/+36
| | | | | | also fixes a subtle bug, when 6th v1i64 argument passed wrongly. llvm-svn: 77963
* Unbreak Win64 CC. Step one: honour register save area, fix some alignment ↵Anton Korobeynikov2009-08-037-54/+96
| | | | | | and provide a different set of call-clobberred registers. llvm-svn: 77962
* Add NamedMDNode destructor.Devang Patel2009-08-031-0/+17
| | | | llvm-svn: 77959
* Use movd instead of movqRafael Espindola2009-08-031-2/+5
| | | | llvm-svn: 77956
* Fix a race condition in getting the process exit code on Win32.Daniel Dunbar2009-08-032-5/+25
| | | | llvm-svn: 77953
* Remove now unused arguments from TargetRegistry::lookupTarget.Daniel Dunbar2009-08-033-23/+13
| | | | llvm-svn: 77950
* These are done.Evan Cheng2009-08-031-8/+0
| | | | llvm-svn: 77949
* Pass target triple string in to TargetMachine constructor.Daniel Dunbar2009-08-033-34/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | This is not just a matter of passing in the target triple from the module; currently backends are making decisions based on the build and host architecture. The goal is to migrate to making these decisions based off of the triple (in conjunction with the feature string). Thus most clients pass in the target triple, or the host triple if that is empty. This has one important change in the way behavior of the JIT and llc. For the JIT, it was previously selecting the Target based on the host (naturally), but it was setting the target machine features based on the triple from the module. Now it is setting the target machine features based on the triple of the host. For LLC, -march was previously only used to select the target, the target machine features were initialized from the module's triple (which may have been empty). Now the target triple is taken from the module, or the host's triple is used if that is empty. Then the triple is adjusted to match -march. The take away is that -march for llc is now used in conjunction with the host triple to initialize the subtarget. If users want more deterministic behavior from llc, they should use -mtriple, or set the triple in the input module. llvm-svn: 77946
* Fix the instruction encoding.Rafael Espindola2009-08-031-2/+2
| | | | llvm-svn: 77944
* Remove a bitcast that was a no-op.Rafael Espindola2009-08-031-3/+1
| | | | | | Thanks to Eli Friedman for noticing it. llvm-svn: 77942
* Use movq to move 64 bits in and out of mmx registers.Rafael Espindola2009-08-032-3/+12
| | | | | | Fixes PR4669 llvm-svn: 77940
OpenPOWER on IntegriCloud