summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Apply patch from http://llvm.org/bugs/attachment.cgi?id=4136 now that PR5004 isBill Wendling2010-02-161-1/+5
| | | | | | | finished. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96304 91177308-0d34-0410-b5e6-96231b3b80d8
* Something broke. Hard to believe it was this patchDale Johannesen2010-02-161-26/+4
| | | | | | | | | but it's harder to believe it's the other candidate, so reverting. Temporarily I hope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96303 91177308-0d34-0410-b5e6-96231b3b80d8
* When reusing an existing PHI node in a loop, be even moreDan Gohman2010-02-161-11/+39
| | | | | | | strict about the requirements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96301 91177308-0d34-0410-b5e6-96231b3b80d8
* Put repeated empty pattern into the AQI instruction class.Bob Wilson2010-02-151-49/+19
| | | | | | | | We could almost use a multiclass for the signed/unsigned instructions, but there are only 6 of them so I guess it's not worth it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96297 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a memory leak. Patch by Nicolas Geoffray.Evan Cheng2010-02-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96295 91177308-0d34-0410-b5e6-96231b3b80d8
* More handling of DBG_VALUE.Dale Johannesen2010-02-151-4/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96294 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missed entry to cmake build list fileAnton Korobeynikov2010-02-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96292 91177308-0d34-0410-b5e6-96231b3b80d8
* Use ttype encoding consistentlyAnton Korobeynikov2010-02-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96290 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a silly darwin-only typo introduced during merge.Anton Korobeynikov2010-02-151-7/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96289 91177308-0d34-0410-b5e6-96231b3b80d8
* Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov2010-02-1518-1025/+1091
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96288 91177308-0d34-0410-b5e6-96231b3b80d8
* It turns out that we emitted completely wrong common EH frame since the ↵Anton Korobeynikov2010-02-151-7/+9
| | | | | | early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96287 91177308-0d34-0410-b5e6-96231b3b80d8
* Add suffix for stubs, so we won't have name clashes with private symbols.Anton Korobeynikov2010-02-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96286 91177308-0d34-0410-b5e6-96231b3b80d8
* Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov2010-02-1520-297/+470
| | | | | | Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96285 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the verifier to check the condition on a branch and ensure that it hasNick Lewycky2010-02-152-0/+53
| | | | | | | 'i1' type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96282 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR6300.Jakob Stoklund Olesen2010-02-152-3/+82
| | | | | | | A virtual register can be used before it is defined in the same MBB if the MBB is part of a loop. Teach the implicit-def pass about this case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96279 91177308-0d34-0410-b5e6-96231b3b80d8
* Last week we were generating code with duplicate induction variables in thisBob Wilson2010-02-151-0/+4
| | | | | | | | test, but the problem seems to have gone away today. Add a check to make sure it doesn't come back. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96277 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix crash in VerifyType when checking Contexts. Because there may not be aNick Lewycky2010-02-151-8/+14
| | | | | | | | Module (we were called with verifyFunction and an unowned Function) we can't rely on Mod->getContext(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96275 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't try to materialize a function that isn't materializable anyways. ThisNick Lewycky2010-02-151-3/+5
| | | | | | | fixes a crash using FPM on a Function that isn't owned by a Module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96273 91177308-0d34-0410-b5e6-96231b3b80d8
* A function with no Module owner isn't materializable. This fixes F->dump() forNick Lewycky2010-02-151-2/+2
| | | | | | | functions not embedded within modules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96272 91177308-0d34-0410-b5e6-96231b3b80d8
* remove empty file.Chris Lattner2010-02-151-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96271 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify.Daniel Dunbar2010-02-151-23/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96269 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove c++ style comments from c header.Bill Wendling2010-02-151-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96266 91177308-0d34-0410-b5e6-96231b3b80d8
* revert r96241. It breaks two regression tests, isn't documented,Chris Lattner2010-02-152-154/+8
| | | | | | | and the testcase needs improvement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96265 91177308-0d34-0410-b5e6-96231b3b80d8
* Renumber Instruction enums in llvm-c.Bill Wendling2010-02-151-50/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96264 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR6305 by handling BlockAddress in a helper functionChris Lattner2010-02-153-3/+29
| | | | | | | called by jump threading. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96263 91177308-0d34-0410-b5e6-96231b3b80d8
* Split SelectionDAGISel::IsLegalAndProfitableToFold toEvan Cheng2010-02-158-39/+63
| | | | | | | | | IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use. This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96255 91177308-0d34-0410-b5e6-96231b3b80d8
* comment fix.Chris Lattner2010-02-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96248 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for emitting non-temporal stores for DAGs markedDavid Greene2010-02-152-8/+154
| | | | | | | non-temporal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96241 91177308-0d34-0410-b5e6-96231b3b80d8
* Add non-temporal flags and remove an assumption of default arguments.David Greene2010-02-1512-184/+307
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96240 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-2/+3
| | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96239 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-3/+5
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96238 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-18/+31
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96237 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-41/+79
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96236 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-2/+2
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96235 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-5/+7
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96234 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-8/+15
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96233 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-152-9/+14
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96232 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-2/+3
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96231 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-28/+49
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96230 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-16/+27
| | | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96229 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-58/+83
| | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96228 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-13/+25
| | | | | | | change to SelectionDAG build APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96227 91177308-0d34-0410-b5e6-96231b3b80d8
* Add non-temporal flags to MachineMemOperand.David Greene2010-02-152-5/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96226 91177308-0d34-0410-b5e6-96231b3b80d8
* Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands2010-02-1550-377/+381
| | | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Fixed syntax in conditional.Oscar Fuentes2010-02-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96221 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix changes from r75027Andrew Lenharth2010-02-151-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96220 91177308-0d34-0410-b5e6-96231b3b80d8
* When testing whether a given SCEV depends on a temporary symbolicDan Gohman2010-02-151-1/+1
| | | | | | | | | name, test whether the SCEV itself is that temporary symbolic name, in addition to checking whether the symbolic name appears as a possibly-indirect operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96216 91177308-0d34-0410-b5e6-96231b3b80d8
* Check in the first big step of rewriting DAGISelEmitter to Chris Lattner2010-02-157-2/+1265
| | | | | | | | | | | | | | | | | | | | | produce a table based matcher instead of gobs of C++ Code. Though it's not done yet, the shrinkage seems promising, the table for the X86 ISel is 75K and still has a lot of optimization to come (compare to the ~1.5M of .o generated the old way, much of which will go away). The code is currently disabled by default (the #if 0 in DAGISelEmitter.cpp). When enabled it generates a dead SelectCode2 function in the DAGISel Header which will eventually replace SelectCode. There is still a lot of stuff left to do, which are documented with a trail of FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96215 91177308-0d34-0410-b5e6-96231b3b80d8
* give SDValue an operator->, allowing V->isTargetOpcode() andChris Lattner2010-02-151-0/+2
| | | | | | | many other natural things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96214 91177308-0d34-0410-b5e6-96231b3b80d8
* don't make insanely large node numbers for no reason,Chris Lattner2010-02-151-1/+1
| | | | | | | packing somewhat densely is better than not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96213 91177308-0d34-0410-b5e6-96231b3b80d8