summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Custom lower bit_convert i64 -> f64 into FMDRR. This is now happening with ↵Evan Cheng2008-11-041-9/+12
| | | | | | legalizetypes. llvm-svn: 58714
* Fix typo. Patch by nlewycky.Duncan Sands2008-11-041-1/+1
| | | | llvm-svn: 58709
* Debug output tweak.Evan Cheng2008-11-041-2/+2
| | | | llvm-svn: 58708
* LDM_RET restores pc, do not set 's' bit which would restore CPSR from SPSR.Evan Cheng2008-11-041-1/+0
| | | | llvm-svn: 58707
* Fix PR3011: LegalizeTypes support for scalarizingDuncan Sands2008-11-042-0/+10
| | | | | | SELECT_CC. llvm-svn: 58706
* Duncan pointed out that the Extended case in getTypeForMVT couldDan Gohman2008-11-041-7/+2
| | | | | | be considerably simplified. llvm-svn: 58703
* Add a return statement to suppress warnings in NDEBUG builds.Dan Gohman2008-11-041-0/+1
| | | | llvm-svn: 58702
* Add some asserts to verify MVT invariant assumptions.Dan Gohman2008-11-041-0/+2
| | | | llvm-svn: 58701
* regenerateNuno Lopes2008-11-043-339/+347
| | | | llvm-svn: 58697
* fix leakage of APFloats in getExistingVal()Nuno Lopes2008-11-042-1/+7
| | | | llvm-svn: 58696
* regenerateNuno Lopes2008-11-043-337/+339
| | | | llvm-svn: 58694
* fix leakage of APSInt in getVal()Nuno Lopes2008-11-041-0/+1
| | | | llvm-svn: 58693
* fix leakage of IfcvtTokensNuno Lopes2008-11-041-1/+5
| | | | llvm-svn: 58690
* For some targets, it's not possible to place GVs in the same memory buffer ↵Evan Cheng2008-11-042-0/+21
| | | | | | | | as the MachineCodeEmitter allocated memory. Code and data has different read / write / execution privilege requirements. This is a short term workaround. The current solution is for the JIT memory manager to manage code and data memory separately. llvm-svn: 58688
* 80 col violation.Evan Cheng2008-11-041-2/+2
| | | | llvm-svn: 58684
* Stylistic change.Evan Cheng2008-11-041-2/+2
| | | | llvm-svn: 58683
* hasDisassembler should return false if disassembler isn't available.Evan Cheng2008-11-041-0/+4
| | | | llvm-svn: 58682
* CMake: Updated list of source files.Oscar Fuentes2008-11-041-0/+1
| | | | llvm-svn: 58676
* Initial checkin for stack protectors. Here's what it does:Bill Wendling2008-11-042-0/+235
| | | | | | | | | | | | | | | | * The prologue is modified to read the __stack_chk_guard global and insert it onto the stack. * The epilogue is modified to read the stored guard from the stack and compare it to the original __stack_chk_guard value. If they differ, then the __stack_chk_fail() function is called. * The stack protector needs to be first on the stack (after the parameters) to catch any stack-smashing activities. Front-end support will follow after a round of beta testing. llvm-svn: 58673
* Handle ARM machine constantpool entries.Evan Cheng2008-11-045-20/+77
| | | | llvm-svn: 58671
* The ANDMask node folds to a constant, and isn't the node that needs toDan Gohman2008-11-031-2/+2
| | | | | | | have its node id set. The new and and shift nodes are the nodes that need the IDs. This fixes PR2982. llvm-svn: 58655
* Fix unused variable warnings.Devang Patel2008-11-032-0/+13
| | | | llvm-svn: 58653
* Fix unused variable warnings.Devang Patel2008-11-031-1/+5
| | | | llvm-svn: 58651
* Add C bindings for extractvalue and insertvalue. Patch by Frits van Bommel!Dan Gohman2008-11-031-0/+26
| | | | llvm-svn: 58650
* Remove a dead switch statement.Evan Cheng2008-11-031-17/+0
| | | | llvm-svn: 58644
* Minor code restructuring. No functionality change.Evan Cheng2008-11-031-6/+6
| | | | llvm-svn: 58643
* Fix some ppcf128 regressions: make ExpandFloatRes_LOADDale Johannesen2008-11-031-8/+8
| | | | | | | work correctly, and bring over a late change to ppcf128 SetCC handling. llvm-svn: 58642
* Make VAARG promotion work correctly with large funkyDuncan Sands2008-11-031-19/+27
| | | | | | | | | | | | | | | | | sized integers like i129, and also reduce the number of assumptions made about how vaarg is implemented. This still doesn't work correctly for small integers like (eg) i1 on x86, since x86 passes each of them (essentially an i8) in a 4 byte stack slot, so the pointer needs to be advanced by 4 bytes not by 1 byte as now. But this is no longer a LegalizeTypes problem (it was also wrong in LT before): it is a bug in the operation expansion in LegalizeDAG: now LegalizeTypes turns an i1 vaarg into an i8 vaarg which would work fine if only the i8 vaarg was turned into correct code later. llvm-svn: 58635
* Overload AddInteger on int/long/long long instead of on int/int64_t,Dan Gohman2008-11-031-6/+16
| | | | | | | to avoid overload ambiguities. This fixes build errors introduced by r58623. llvm-svn: 58632
* Ignore conditions that are outside the loop.Devang Patel2008-11-031-2/+4
| | | | llvm-svn: 58631
* add a period at the end of the comment, ignoring the fact that the comment ↵Andrew Lenharth2008-11-031-1/+1
| | | | | | would be hard pressed to be considered a sentence, but if it makes Bill happy... llvm-svn: 58630
* Add binary encoding support for multiply instructions. Some blanks left to ↵Jim Grosbach2008-11-034-41/+105
| | | | | | fill in, but the basics are there. llvm-svn: 58626
* Turn floating point IVs into integer IVs where possible.Devang Patel2008-11-031-0/+150
| | | | | | | | This allows SCEV users to effectively calculate trip count. LSR later on transforms back integer IVs to floating point IVs later on to avoid int-to-float casts inside the loop. llvm-svn: 58625
* Refactor various TargetAsmInfo subclasses' TargetMachine members awayDan Gohman2008-11-0310-36/+32
| | | | | | adding a TargetMachine member to the base TargetAsmInfo class instead. llvm-svn: 58624
* Change how extended types are represented in MVTs. Instead of fiddlingDan Gohman2008-11-031-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | bits, use a union of a SimpleValueType enum and a regular Type*. This increases the size of MVT on 64-bit hosts from 32 bits to 64 bits. In most cases, this doesn't add significant overhead. There are places in codegen that use arrays of MVTs, so these are now larger, but they're small in common cases. This eliminates restrictions on the size of integer types and vector types that can be represented in codegen. As the included testcase demonstrates, it's now possible to codegen very large add operations. There are still some complications with using very large types. PR2880 is still open so they can't be used as return values on normal targets, there are no libcalls defined for very large integers so operations like multiply and divide aren't supported. This also introduces a minimal tablgen Type library, capable of handling IntegerType and VectorType. This will allow parts of TableGen that don't depend on using SimpleValueType values to handle arbitrary integer and vector types. llvm-svn: 58623
* Ensure that we are checking only calls to the function we are interested in ↵Andrew Lenharth2008-11-031-2/+4
| | | | | | specializing llvm-svn: 58615
* Make VAARG work with x86 long double (which isDuncan Sands2008-11-031-3/+3
| | | | | | 10 bytes long, but is passed in 12/16 bytes). llvm-svn: 58608
* Make MachineFrameInfo::print not crash when no TargetFrameInfo is available.Matthijs Kooijman2008-11-031-1/+2
| | | | llvm-svn: 58606
* Silence a compiler warning.Evan Cheng2008-11-031-1/+1
| | | | llvm-svn: 58598
* Replace explicit loop with utility function.Nick Lewycky2008-11-031-4/+2
| | | | llvm-svn: 58593
* Don't crash analyzing certain quadratics (addrec of {X,+,Y,+,1}).Nick Lewycky2008-11-031-0/+5
| | | | | | We're still waiting on code that actually analyzes them properly. llvm-svn: 58592
* Revert my last patch until I consult with Evan about it.Owen Anderson2008-11-031-10/+0
| | | | llvm-svn: 58591
* Changes from Duncan's review:Nick Lewycky2008-11-021-9/+28
| | | | | | | | * merge two weak functions by making them both alias a third non-weak fn * don't reimplement CallSite::hasArgument * whitelist the safe linkage types llvm-svn: 58568
* Silence a warningAnton Korobeynikov2008-11-021-4/+6
| | | | llvm-svn: 58563
* Get this building on 64 bit machines (error:Duncan Sands2008-11-021-5/+5
| | | | | | | cast from ‘const llvm::PointerType*’ to ‘unsigned int’ loses precision). llvm-svn: 58561
* Don't do pre-splitting if doing so would create a value join that did notOwen Anderson2008-11-021-0/+10
| | | | | | | | | exist before. Updating the live intervals in that care is tricky in the general case. Evan, if you see a tighter guard condition for this, let me know. llvm-svn: 58560
* CMake: added a source file.Oscar Fuentes2008-11-021-0/+1
| | | | llvm-svn: 58559
* Add a new MergeFunctions pass. It finds identical functions and merges them.Nick Lewycky2008-11-021-0/+358
| | | | | | | | This triggers only 60 times in llvm-test (look at .llvm.bc, not .linked.rbc) and so it probably wont be turned on by default. Also, may of those are likely to go away when PR2973 is fixed. llvm-svn: 58557
* Fix demanded bits analysis with srem by negative number. Based on a patchNick Lewycky2008-11-021-3/+3
| | | | | | by Richard Osborne. llvm-svn: 58555
* Fix this recently moved code to use the correct type. CI is now aDan Gohman2008-11-021-2/+2
| | | | | | | ConstantInt, and SI is the original cast instruction. This fixes PR2996. llvm-svn: 58549
OpenPOWER on IntegriCloud