aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR 1603 test case.Devang Patel2007-10-011-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42502 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove simple scheduler.Evan Cheng2007-10-013-1186/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42499 91177308-0d34-0410-b5e6-96231b3b80d8
* Relax unsafe use check. If there is one unconditional use inside the loop ↵Devang Patel2007-10-012-22/+43
| | | | | | then it is safe to promote value even if there is another conditional use inside the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42493 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo. X86comi doesn't read / write chain's.Evan Cheng2007-10-011-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42492 91177308-0d34-0410-b5e6-96231b3b80d8
* Add getABITypeSize, getABITypeSizeInBitsDale Johannesen2007-10-012-1/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42488 91177308-0d34-0410-b5e6-96231b3b80d8
* Add empty() member functions to a few container-like classes.Dan Gohman2007-10-013-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42487 91177308-0d34-0410-b5e6-96231b3b80d8
* remove dup commentDale Johannesen2007-09-301-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42486 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant fold int-to-long-double conversions;Dale Johannesen2007-09-304-21/+13
| | | | | | | | | use APFloat for int-to-float/double; use round-to-nearest for these (implementation-defined, seems to match gcc). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42484 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify and fix signed int -> FP conversions.Dale Johannesen2007-09-301-11/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42483 91177308-0d34-0410-b5e6-96231b3b80d8
* AsmPrinters overriding getAnalysisUsage should call super.Gordon Henriksen2007-09-302-1/+2
| | | | | | And not super's super, either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42482 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a helper useful when mapping from a map element to its hash node.Chris Lattner2007-09-301-1/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42480 91177308-0d34-0410-b5e6-96231b3b80d8
* Template-ize more of the DomTree internal implementation details. Only the ↵Owen Anderson2007-09-305-156/+145
| | | | | | calculate() methods for DomTree and PostDomTree remain to be merged/template-ized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42476 91177308-0d34-0410-b5e6-96231b3b80d8
* document DenseSet.Chris Lattner2007-09-301-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42475 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new DenseSet abstraction.Chris Lattner2007-09-302-4/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42474 91177308-0d34-0410-b5e6-96231b3b80d8
* Add newline at end of file.Duncan Sands2007-09-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42470 91177308-0d34-0410-b5e6-96231b3b80d8
* Check that the second parameter of init_trampolineDuncan Sands2007-09-291-2/+6
| | | | | | | | can be resolved to a function. This is required for codegen and used by instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42469 91177308-0d34-0410-b5e6-96231b3b80d8
* This is done already.Gordon Henriksen2007-09-291-7/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42467 91177308-0d34-0410-b5e6-96231b3b80d8
* Collector is the base class for garbage collection code generators.Gordon Henriksen2007-09-293-0/+524
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This version enhances the previous patch to add root initialization as discussed here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053455.html Collector gives its subclasses control over generic algorithms: unsigned NeededSafePoints; //< Bitmask of required safe points. bool CustomReadBarriers; //< Default is to insert loads. bool CustomWriteBarriers; //< Default is to insert stores. bool CustomRoots; //< Default is to pass through to backend. bool InitRoots; //< If set, roots are nulled during lowering. It also has callbacks which collectors can hook: /// If any of the actions are set to Custom, this is expected to /// be overriden to create a transform to lower those actions to /// LLVM IR. virtual Pass *createCustomLoweringPass() const; /// beginAssembly/finishAssembly - Emit module metadata as /// assembly code. virtual void beginAssembly(Module &M, std::ostream &OS, AsmPrinter &AP, const TargetAsmInfo &TAI) const; virtual void finishAssembly(Module &M, CollectorModuleMetadata &CMM, std::ostream &OS, AsmPrinter &AP, const TargetAsmInfo &TAI) const; Various other independent algorithms could be implemented, but were not necessary for the initial two collectors. Some examples are listed here: http://llvm.org/docs/GarbageCollection.html#collector-algos git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42466 91177308-0d34-0410-b5e6-96231b3b80d8
* Demoting CHelpers.h to include/llvm/Support.Gordon Henriksen2007-09-293-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42465 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to densemap rather than std::setDaniel Berlin2007-09-291-3/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42462 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Gordon Henriksen2007-09-291-36/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42461 91177308-0d34-0410-b5e6-96231b3b80d8
* PR1601: etags not configured correctlyGordon Henriksen2007-09-294-17/+0
| | | | | | Resolving this by deleting vestigal etags remnants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42460 91177308-0d34-0410-b5e6-96231b3b80d8
* Enabling new condition code modeling scheme.Evan Cheng2007-09-2911-1654/+308
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42459 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not ignore packed member size while selecting union type.Devang Patel2007-09-281-0/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42458 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach SplitVectorOp how to split INSERT_VECTOR_ELT.Dan Gohman2007-09-282-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42457 91177308-0d34-0410-b5e6-96231b3b80d8
* Update how to release document.Tanya Lattner2007-09-282-210/+213
| | | | | | | Add release version to getting started guide. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42454 91177308-0d34-0410-b5e6-96231b3b80d8
* If two instructions are both two-address code, favors (schedule closer toEvan Cheng2007-09-283-10/+27
| | | | | | | | terminator) the one that has a CopyToReg use. This fixes 2006-05-11-InstrSched.ll with -new-cc-modeling-scheme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42453 91177308-0d34-0410-b5e6-96231b3b80d8
* really fix PR1581, thanks to Daniel Dunbar for pointingChris Lattner2007-09-281-1/+1
| | | | | | | this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42448 91177308-0d34-0410-b5e6-96231b3b80d8
* Make Value::getNameLen not crash on an empty name, fixing PR1712.Chris Lattner2007-09-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42444 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a poor scheduling heuristic.Evan Cheng2007-09-281-34/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42443 91177308-0d34-0410-b5e6-96231b3b80d8
* Trim some unneeded fields.Evan Cheng2007-09-284-49/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42442 91177308-0d34-0410-b5e6-96231b3b80d8
* Record latest work.Dale Johannesen2007-09-281-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42441 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix long double -> uint64 conversion.Dale Johannesen2007-09-281-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42440 91177308-0d34-0410-b5e6-96231b3b80d8
* minor long double related changesDale Johannesen2007-09-286-172/+192
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42439 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the checks for DW_FORM_data4 consistent with the others, andDan Gohman2007-09-281-2/+6
| | | | | | | add more such code for DIEDwarfLabel::SizeOf and DIEObjectLabel::SizeOf. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42435 91177308-0d34-0410-b5e6-96231b3b80d8
* Use 32-bit data directives for DW_FORM_data4 format data, even onDan Gohman2007-09-281-8/+10
| | | | | | | targets with 64-bit addresses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42434 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor the memcpy lowering for the x86 target.Rafael Espindola2007-09-283-56/+79
| | | | | | | | | | The only generated code difference is that now we call memcpy when the size of the array is unknown. This matches GCC behavior and is better since the run time value can be arbitrarily large. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42433 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop inventing new words. :-)Evan Cheng2007-09-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42429 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unneeded #include.Owen Anderson2007-09-281-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42428 91177308-0d34-0410-b5e6-96231b3b80d8
* Have PostDomTree use the newly templated DFSPass.Owen Anderson2007-09-286-58/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42427 91177308-0d34-0410-b5e6-96231b3b80d8
* Pessimisively assume ADJCALLSTACKDOWN / ADJCALLSTACKUP (which becomes sub / ↵Evan Cheng2007-09-281-1/+3
| | | | | | add) clobbers EFLAGS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42426 91177308-0d34-0410-b5e6-96231b3b80d8
* Add sqrt and powi intrinsics for long double.Dale Johannesen2007-09-289-7/+95
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42423 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't do SRA for unions with long double fields.Dale Johannesen2007-09-281-0/+6
| | | | | | | | Fixes a SWB crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42422 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert DFSPass into a templated friend function, in preparation for making ↵Owen Anderson2007-09-275-67/+96
| | | | | | it common to DomTree and PostDomTree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42420 91177308-0d34-0410-b5e6-96231b3b80d8
* TargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targetsDan Gohman2007-09-275-26/+18
| | | | | | | | | other than PPC64. Instead of fixing it, just remove it and fix all the places that use it to use TargetData::getPointerSize() instead, as there aren't very many. Most of the references were in DwarfWriter.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42419 91177308-0d34-0410-b5e6-96231b3b80d8
* CollectorMetadata abstractly describes stack maps for a function.Gordon Henriksen2007-09-272-0/+380
| | | | | | | | | | | | | | | | | | | | It includes: - location and of each safe point in machine code (identified by a label) - location of each root within the stack frame (identified by an offset), including the metadata tag provided to llvm.gcroot in the user program - size of the stack frame (for collectors which want to cheat on stack crawling :) - and eventually will include liveness It is to be populated by back-ends during code-generation. CollectorModuleMetadata aggregates this information across the entire module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42418 91177308-0d34-0410-b5e6-96231b3b80d8
* Use GR64 in 64-bit mode.Evan Cheng2007-09-271-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42417 91177308-0d34-0410-b5e6-96231b3b80d8
* My previous Registry.h header, as well as Collectors.h, which is theGordon Henriksen2007-09-273-0/+300
| | | | | | | registry for dynamically-loaded garbage collection compiler plugins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42415 91177308-0d34-0410-b5e6-96231b3b80d8
* GarbageCollection.html is expanded to encompass the comingGordon Henriksen2007-09-274-246/+1175
| | | | | | | capabilities. This is a major rewrite and is easier to read en toto rather than patchwise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42414 91177308-0d34-0410-b5e6-96231b3b80d8
* Doh. Calls clobber EFLAGS.Evan Cheng2007-09-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42413 91177308-0d34-0410-b5e6-96231b3b80d8