summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Silenced a VC++ warning.Hartmut Kaiser2007-10-251-1/+1
| | | | llvm-svn: 43374
* Updated backpatching during object deserialization to support "smart"Ted Kremenek2007-10-251-1/+3
| | | | | | pointers that employ unused bits in a pointer to store extra data. llvm-svn: 43373
* Clarified operator precedence.Hartmut Kaiser2007-10-251-2/+2
| | | | | | Silenced VC++ warning. llvm-svn: 43372
* Disambiguated variable name to comply with VC++'s archaic variable scoping ↵Hartmut Kaiser2007-10-251-5/+5
| | | | | | rules. llvm-svn: 43369
* Do not rewrite compare instruction using iv of a different stride if the newEvan Cheng2007-10-251-36/+80
| | | | | | stride may be rewritten using the stride of the compare instruction. llvm-svn: 43367
* Support non-POSIX hosts by removing use of strncasecmp.Dale Johannesen2007-10-251-44/+53
| | | | llvm-svn: 43364
* Changed XXX to FIXME, and added comment to the README fileBill Wendling2007-10-252-1/+9
| | | | llvm-svn: 43359
* Added special treatment of serializing NULL pointers.Ted Kremenek2007-10-252-1/+9
| | | | llvm-svn: 43357
* Remove code that's commented out.Evan Cheng2007-10-251-2/+0
| | | | llvm-svn: 43356
* Added comment explaining why we are doing this check.Bill Wendling2007-10-251-0/+5
| | | | llvm-svn: 43353
* Small formatting changes. Add a sanity check.Duncan Sands2007-10-251-10/+6
| | | | | | | Use NVT rather than looking it up, since we have it to hand. llvm-svn: 43341
* Promote SETCC operands.Duncan Sands2007-10-251-0/+13
| | | | llvm-svn: 43340
* Correctly extract the ValueType from a VTSDNode.Duncan Sands2007-10-251-1/+1
| | | | llvm-svn: 43339
* If a loop termination compare instruction is the only use of its stride,Evan Cheng2007-10-251-34/+163
| | | | | | | | | | | | | | | | | | | and the compaison is against a constant value, try eliminate the stride by moving the compare instruction to another stride and change its constant operand accordingly. e.g. loop: ... v1 = v1 + 3 v2 = v2 + 1 if (v2 < 10) goto loop => loop: ... v1 = v1 + 3 if (v1 < 30) goto loop llvm-svn: 43336
* Fix for PR1741.Owen Anderson2007-10-251-2/+3
| | | | llvm-svn: 43326
* Implemented prototype serialization of pointers, including supportTed Kremenek2007-10-252-3/+63
| | | | | | | | for backpatching. Added Deserialize::ReadVal. llvm-svn: 43319
* Another expansion for i64 multiply, suitable for PPC.Dale Johannesen2007-10-241-0/+9
| | | | llvm-svn: 43314
* Fix off by 1 bug in printf->puts lowering.Dale Johannesen2007-10-241-1/+3
| | | | llvm-svn: 43309
* Split Serialization.h into separate headers: Serialize.h andTed Kremenek2007-10-242-24/+49
| | | | | | | Deserialize.h Serialization.h now includes trait speciailizations for unsigned long, etc. llvm-svn: 43307
* simplify some code by using the new isNaN predicateChris Lattner2007-10-241-4/+2
| | | | llvm-svn: 43305
* Implement a couple of foldings for ordered and unordered comparisons,Chris Lattner2007-10-241-4/+44
| | | | | | implementing cases related to PR1738. llvm-svn: 43289
* Fix comment and use the "Size" variable that's already provided.Bill Wendling2007-10-231-10/+5
| | | | llvm-svn: 43271
* If there's an unaligned memcpy to/from the stack, don't lower it. Just call theBill Wendling2007-10-231-0/+13
| | | | | | memcpy library function instead. llvm-svn: 43270
* Disable a couple more things for ppcf128.Dale Johannesen2007-10-231-2/+4
| | | | llvm-svn: 43267
* This broke lots. Reverting.Bill Wendling2007-10-231-4/+0
| | | | llvm-svn: 43264
* Lowering a memcpy to the stack is killing PPC. The ARM and X86 backends alreadyBill Wendling2007-10-231-0/+4
| | | | | | | | have their own custom memcpy lowering code. This code needs to be factored out into a target-independent lowering method with hooks to the backend. In the meantime, just call memcpy if we're trying to copy onto a stack. llvm-svn: 43262
* Added preliminary implementation of generic object serialization to bitcode.Ted Kremenek2007-10-232-0/+135
| | | | llvm-svn: 43261
* Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than ↵Owen Anderson2007-10-232-30/+2
| | | | | | inheriting from it. llvm-svn: 43259
* It's possible to commute instrctions with more than 3 operands.Evan Cheng2007-10-231-1/+1
| | | | llvm-svn: 43256
* isSubRegOf() is a dup of isSubRegister.Evan Cheng2007-10-231-1/+1
| | | | llvm-svn: 43249
* Temporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with ↵Evan Cheng2007-10-233-8/+18
| | | | | | right callee-saved defs set for ppc64. llvm-svn: 43248
* Fix memcpy lowering when addresses are 4-byte aligned but size is not ↵Evan Cheng2007-10-223-40/+86
| | | | | | multiple of 4. llvm-svn: 43234
* The #include <iterator> isn't needed in this header.Dan Gohman2007-10-221-3/+0
| | | | llvm-svn: 43232
* Strength reduction improvements.Dan Gohman2007-10-221-20/+61
| | | | | | | | | | | | | | | | | | | | | | - Avoid attempting stride-reuse in the case that there are users that aren't addresses. In that case, there will be places where the multiplications won't be folded away, so it's better to try to strength-reduce them. - Several SSE intrinsics have operands that strength-reduction can treat as addresses. The previous item makes this more visible, as any non-address use of an IV can inhibit stride-reuse. - Make ValidStride aware of whether there's likely to be a base register in the address computation. This prevents it from thinking that things like stride 9 are valid on x86 when the base register is already occupied. Also, XFAIL the 2007-08-10-LEA16Use32.ll test; the new logic to avoid stride-reuse elimintes the LEA in the loop, so the test is no longer testing what it was intended to test. llvm-svn: 43231
* Fix the folding of multiplication into addresses on x86, which was brokenDan Gohman2007-10-221-0/+5
| | | | | | by the recent {U,S}MUL_LOHI changes. llvm-svn: 43230
* Use ptr type in the immediate field of a BxA instruction so we don't end up ↵Evan Cheng2007-10-221-1/+2
| | | | | | selecting 32-bit call instruction for ppc64. llvm-svn: 43228
* Add missing paratheses.Evan Cheng2007-10-221-1/+1
| | | | llvm-svn: 43227
* Support for expanding extending loads of integers withDuncan Sands2007-10-221-16/+71
| | | | | | funky bit-widths. llvm-svn: 43225
* Move the SCEV object factors from being static members of the individualDan Gohman2007-10-224-254/+276
| | | | | | | SCEV subclasses to being non-static member functions of the ScalarEvolution class. llvm-svn: 43224
* Fix up the logic for result expanding the various extensionDuncan Sands2007-10-221-27/+95
| | | | | | | | | | | | | | | | | | | operations so they work right for integers with funky bit-widths. For example, consider extending i48 to i64 on a 32 bit machine. The i64 result is expanded to 2 x i32. We know that the i48 operand will be promoted to i64, then also expanded to 2 x i32. If we had the expanded promoted operand to hand, then expanding the result would be trivial. Unfortunately at this stage we can only get hold of the promoted operand. So instead we kind of hand-expand, doing explicit shifting and truncating to get the top and bottom halves of the i64 operand into 2 x i32, which are then used to expand the result. This is harmless, because when the promoted operand is finally expanded all this bit fiddling turns into trivial operations which are eliminated either by the expansion code itself or the DAG combiner. llvm-svn: 43223
* Fix an unfolding bug.Evan Cheng2007-10-221-1/+2
| | | | llvm-svn: 43212
* - Only perform the unfolding optimization when the folding in question is ↵Evan Cheng2007-10-221-5/+2
| | | | | | | | modref. - Remove a bogus assertion. llvm-svn: 43211
* add a mechanism for the JIT to invoke a function to lazily create functions ↵Chris Lattner2007-10-222-2/+7
| | | | | | as they are referenced. llvm-svn: 43210
* llvm-gcc3 is dead, along with it __main.Chris Lattner2007-10-221-12/+0
| | | | llvm-svn: 43209
* Reg2Mem cleanup and optimizations:Anton Korobeynikov2007-10-212-25/+72
| | | | | | | - enable phi instructions demotion to stack - create alloca instructions in the entry block llvm-svn: 43208
* LoadLibraryPermanently doesn't throw.Chris Lattner2007-10-211-3/+3
| | | | llvm-svn: 43207
* Add a convenience method for creating EE's.Chris Lattner2007-10-211-0/+4
| | | | llvm-svn: 43206
* Allow for copysign having f80 second argument.Dale Johannesen2007-10-211-0/+9
| | | | | | Fixes 5550319. llvm-svn: 43205
* Add promote operand support for [su]int_to_fp.Chris Lattner2007-10-201-0/+15
| | | | llvm-svn: 43204
* Add result promotion of FP_TO_*INT, fixing CodeGen/X86/trunc-to-bool.llChris Lattner2007-10-201-1/+29
| | | | | | with the new legalizer. llvm-svn: 43199
OpenPOWER on IntegriCloud