summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Update test to match recent llvm-gcc change.Rafael Espindola2010-06-151-1/+1
| | | | llvm-svn: 106056
* Make VC++ happy Nate Begeman2010-06-151-11/+11
| | | | llvm-svn: 106054
* Next round of tail call changes. Register used in a tailDale Johannesen2010-06-158-23/+110
| | | | | | | | call must not be callee-saved; following x86, add a new regclass to represent this. Also fixes a couple of bugs. Still disabled by default; Thumb doesn't work yet. llvm-svn: 106053
* Remove the local register allocator.Jakob Stoklund Olesen2010-06-1532-1335/+16
| | | | | | Please use the fast allocator instead. llvm-svn: 106051
* Reapply 105986 with fix for bug pointed out by Jakob:Dale Johannesen2010-06-151-2/+4
| | | | | | | | | flag argument to addReg is not the same format as flags attached to MachineOperand, although both have the same info. I don't think this actually mattered; the bootstrap failure did not reproduce on the next run anyway. llvm-svn: 106049
* fix PR7380: use 'test' instead of shell builtins. This improvesChris Lattner2010-06-151-5/+5
| | | | | | | portability to Solaris 10, which apparently doesn't support [ foo -ot bar ] llvm-svn: 106048
* simplify-libcalls: fold strstr(a, b) == a -> strncmp(a, b, strlen(b)) == 0Benjamin Kramer2010-06-154-0/+72
| | | | llvm-svn: 106047
* Set the mtriple in some tests so that they use AAPCS.Rafael Espindola2010-06-154-4/+4
| | | | llvm-svn: 106041
* Fixed vector widening of binary instructions that can trap. Patch by Visa ↵Mon P Wang2010-06-153-27/+116
| | | | | | Putkinen! llvm-svn: 106038
* fpcmp: Fix bug where fpcmp wouldn't early exit when files obviously differ andDaniel Dunbar2010-06-151-9/+9
| | | | | | no tolerance is set. llvm-svn: 106033
* fpcmp: Fix a possible infinite loop when comparing something like:Daniel Dunbar2010-06-151-0/+8
| | | | | | | | | 1..19 ok to 1..20 o k (yes, the odd space is necessary). llvm-svn: 106032
* fix fastisel to handle GS and FS relative pointers. Patch byChris Lattner2010-06-152-0/+11
| | | | | | Nelson Elhage! llvm-svn: 106031
* Add basic support for NEON modified immediates besides VMOV.Bob Wilson2010-06-153-13/+25
| | | | llvm-svn: 106030
* Remove the arm_aapcscc marker from the tests. It is the defaultRafael Espindola2010-06-1512-26/+26
| | | | | | for the linux targets. llvm-svn: 106029
* disable SmallVectorImpl's copy constructor. This prevents a classChris Lattner2010-06-151-0/+2
| | | | | | of base class slicing bugs reported on irc llvm-svn: 106028
* IfConversion's AnalyzeBlocks method always returns false; clean it up.Bob Wilson2010-06-151-9/+5
| | | | llvm-svn: 106027
* fix namingJim Grosbach2010-06-151-3/+3
| | | | llvm-svn: 106024
* Fix an exotic bug that only showed up in an internal test case.Jakob Stoklund Olesen2010-06-151-2/+4
| | | | | | | | SimpleRegisterCoalescing::JoinIntervals() uses CoalescerPair to determine if a copy is coalescable, and in very rare cases it can return true where LHS is not live - the coalescable copy can come from an alias of the physreg in LHS. llvm-svn: 106021
* Fix a comment typo.Bob Wilson2010-06-151-1/+1
| | | | llvm-svn: 106015
* Remove stray semi-colon.Daniel Dunbar2010-06-151-1/+1
| | | | llvm-svn: 106009
* Add some missing checks for the case where the extract_subregs areBob Wilson2010-06-151-22/+23
| | | | | | | | combined to an insert_subreg, i.e., where the destination register is larger than the source. We need to check that the subregs can be composed for that case in a symmetrical way to the case when the destination is smaller. llvm-svn: 106004
* Avoid processing early clobbers twice in RegAllocFast.Jakob Stoklund Olesen2010-06-152-3/+37
| | | | | | | | | Early clobbers defining a virtual register were first alocated to a physreg and then processed as a physreg EC, spilling the virtreg. This fixes PR7382. llvm-svn: 105998
* Add CoalescerPair helper class.Jakob Stoklund Olesen2010-06-155-40/+299
| | | | | | | | | | | | | | | | | | | | Given a copy instruction, CoalescerPair can determine which registers to coalesce in order to eliminate the copy. It deals with all the subreg fun to determine a tuple (DstReg, SrcReg, SubIdx) such that: - SrcReg is a virtual register that will disappear after coalescing. - DstReg is a virtual or physical register whose live range will be extended. - SubIdx is 0 when DstReg is a physical register. - SrcReg can be joined with DstReg:SubIdx. CoalescerPair::isCoalescable() determines if another copy instruction is compatible with the same tuple. This fixes some NEON miscompilations where shuffles are getting coalesced as if they were copies. The CoalescerPair class will replace a lot of the spaghetti logic in JoinCopy later. llvm-svn: 105997
* Add <cstddef> include to get ptrdiff_t, for gcc-4.6; patch by Dimitry Andric.Daniel Dunbar2010-06-151-0/+1
| | | | llvm-svn: 105994
* Generalize the pre-coalescing of extract_subregs feeding reg_sequences,Bob Wilson2010-06-152-35/+85
| | | | | | | | | replacing the overly conservative checks that I had introduced recently to deal with correctness issues. This makes a pretty noticable difference in our testcases where reg_sequences are used. I've updated one test to check that we no longer emit the unnecessary subreg moves. llvm-svn: 105991
* VMOVQQ and VMOVQQQQ are pseudo instructions and not predicable.Bob Wilson2010-06-151-1/+4
| | | | llvm-svn: 105990
* Revert 105986; looks like I'd better try bootstrapping.Dale Johannesen2010-06-151-4/+2
| | | | llvm-svn: 105988
* Update CMake build.Ted Kremenek2010-06-151-2/+2
| | | | llvm-svn: 105987
* The form of BuildMI used for TAILJMPr was changing the registerDale Johannesen2010-06-151-2/+4
| | | | | | | | containing the target address, an input, into an output. I don't think this actually broke anything on x86 (it does on ARM), but it's wrong. llvm-svn: 105986
* Make sure to skip dbg_value instructions when finding an insertion point forJim Grosbach2010-06-151-1/+2
| | | | | | the combined load/store instruction. rdar://7797940 llvm-svn: 105982
* Add missing include to unbreak the build.Alexis Hunt2010-06-141-0/+1
| | | | llvm-svn: 105971
* generate better code in CheckComplexPatternChris Lattner2010-06-141-2/+3
| | | | llvm-svn: 105970
* Rename functions referring to VMOV immediates to refer to NEON "modifiedBob Wilson2010-06-143-30/+34
| | | | | | | | immediate" operands. These functions have so far only been used for VMOV but they also apply to other NEON instructions with modified immediate operands. No functional changes. llvm-svn: 105969
* More dbg_value cleanup so the presence of debug info doesn't affect code-gen.Jim Grosbach2010-06-141-2/+21
| | | | | | | Make sure to skip the dbg_value instructions when moving dups out of the diamond. rdar://7797940 llvm-svn: 105965
* Don't produce output only if *all* files are unused.Rafael Espindola2010-06-141-7/+7
| | | | llvm-svn: 105962
* - Do away with SimpleHazardRecognizer.h. It's not used and offers little value.Evan Cheng2010-06-146-225/+113
| | | | | | - Rename ExactHazardRecognizer to PostRAHazardRecognizer and move its header to include to allow targets to extend it. llvm-svn: 105959
* apparently lots of dupes.Chris Lattner2010-06-141-1/+1
| | | | llvm-svn: 105956
* Avoid uncessary array copying.Evan Cheng2010-06-141-7/+19
| | | | llvm-svn: 105955
* fix a nasty bug where we were not treating available_externallyChris Lattner2010-06-142-3/+31
| | | | | | | | | | | symbols as declarations in the X86 backend. This would manifest on darwin x86-32 as errors like this with -fvisibility=hidden: symbol '__ZNSbIcED1Ev' can not be undefined in a subtraction expression This fixes PR7353. llvm-svn: 105954
* remove old test.Chris Lattner2010-06-141-30/+0
| | | | llvm-svn: 105953
* rename testChris Lattner2010-06-141-0/+30
| | | | llvm-svn: 105952
* jump threading can't split a critical edge from an indirectbr. ThisChris Lattner2010-06-142-1/+28
| | | | | | fixes PR7356. llvm-svn: 105950
* Test case for Radar 8004649.Stuart Hastings2010-06-141-0/+8
| | | | llvm-svn: 105949
* Fix a comment typo.Bob Wilson2010-06-141-1/+1
| | | | llvm-svn: 105944
* fix a -Wbool-conversions warning from clang.Chris Lattner2010-06-141-1/+1
| | | | llvm-svn: 105943
* fix a -Wbool-conversions warning from clang.Chris Lattner2010-06-141-1/+1
| | | | llvm-svn: 105942
* Honor the SDKROOT setting when building llvm.Bob Wilson2010-06-141-2/+1
| | | | | | Radar 7894069. llvm-svn: 105938
* Add back some possible optimizations for va_arg, with wording that makes itEli Friedman2010-06-141-0/+31
| | | | | | more clear what exactly is missing. llvm-svn: 105934
* Update html tutorial docs to match api changes.Eric Christopher2010-06-145-18/+18
| | | | llvm-svn: 105933
* Make kaleidoscope use fp add/sub/mul.Eric Christopher2010-06-144-12/+12
| | | | | | Patch by Patrick Flannery! llvm-svn: 105932
OpenPOWER on IntegriCloud