summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PR1719, by not marking llvm.noinline internal.Chris Lattner2007-10-031-0/+1
| | | | llvm-svn: 42565
* Bill's example is still not enough to repro this, but it has other issues thatChris Lattner2007-10-031-0/+8
| | | | | | seem significant as well. llvm-svn: 42564
* Factor some code from the DomTree and PostDomTree calculate methods up into Owen Anderson2007-10-034-20/+29
| | | | | | each one's runOnFunction method. llvm-svn: 42563
* Another micro-opt.Bill Wendling2007-10-021-0/+16
| | | | llvm-svn: 42554
* Another missed optimization with LICM.Bill Wendling2007-10-021-0/+23
| | | | llvm-svn: 42552
* Small label changes.Bill Wendling2007-10-021-5/+2
| | | | llvm-svn: 42549
* Now with source code.Bill Wendling2007-10-021-0/+16
| | | | llvm-svn: 42548
* Now with LL code!Bill Wendling2007-10-021-1/+17
| | | | llvm-svn: 42547
* Another missed optimization.Bill Wendling2007-10-021-0/+28
| | | | llvm-svn: 42546
* Micro-optimization -- missed LICM opportunity.Bill Wendling2007-10-021-0/+24
| | | | llvm-svn: 42542
* Rewrite sqrt and powi to use anyfloat. By popular demand.Dale Johannesen2007-10-024-55/+36
| | | | llvm-svn: 42537
* Refactor code to add load / store folded instructions -> register onlyEvan Cheng2007-10-012-607/+599
| | | | | | instructions reverse map. llvm-svn: 42509
* Fix stride computations for long double arrays.Dale Johannesen2007-10-013-4/+8
| | | | llvm-svn: 42508
* Move the code that emits the .file directives so that it runs after theDan Gohman2007-10-011-16/+17
| | | | | | SourceFiles list is fully filled in so that it sees all of the files. llvm-svn: 42506
* Remove simple scheduler.Evan Cheng2007-10-011-1165/+0
| | | | llvm-svn: 42499
* Relax unsafe use check. If there is one unconditional use inside the loop ↵Devang Patel2007-10-011-22/+22
| | | | | | then it is safe to promote value even if there is another conditional use inside the loop. llvm-svn: 42493
* Typo. X86comi doesn't read / write chain's.Evan Cheng2007-10-011-2/+1
| | | | llvm-svn: 42492
* Add getABITypeSize, getABITypeSizeInBitsDale Johannesen2007-10-011-1/+6
| | | | llvm-svn: 42488
* remove dup commentDale Johannesen2007-09-301-1/+0
| | | | llvm-svn: 42486
* 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). llvm-svn: 42484
* Simplify and fix signed int -> FP conversions.Dale Johannesen2007-09-301-11/+3
| | | | llvm-svn: 42483
* AsmPrinters overriding getAnalysisUsage should call super.Gordon Henriksen2007-09-302-1/+2
| | | | | | And not super's super, either. llvm-svn: 42482
* Template-ize more of the DomTree internal implementation details. Only the ↵Owen Anderson2007-09-303-146/+7
| | | | | | calculate() methods for DomTree and PostDomTree remain to be merged/template-ized. llvm-svn: 42476
* Add a new DenseSet abstraction.Chris Lattner2007-09-301-4/+4
| | | | llvm-svn: 42474
* 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. llvm-svn: 42469
* This is done already.Gordon Henriksen2007-09-291-7/+0
| | | | llvm-svn: 42467
* Collector is the base class for garbage collection code generators.Gordon Henriksen2007-09-292-0/+391
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 42466
* Demoting CHelpers.h to include/llvm/Support.Gordon Henriksen2007-09-292-2/+2
| | | | llvm-svn: 42465
* Switch to densemap rather than std::setDaniel Berlin2007-09-291-3/+26
| | | | llvm-svn: 42462
* Enabling new condition code modeling scheme.Evan Cheng2007-09-2910-1649/+308
| | | | llvm-svn: 42459
* Teach SplitVectorOp how to split INSERT_VECTOR_ELT.Dan Gohman2007-09-281-0/+12
| | | | llvm-svn: 42457
* If two instructions are both two-address code, favors (schedule closer toEvan Cheng2007-09-282-8/+25
| | | | | | | terminator) the one that has a CopyToReg use. This fixes 2006-05-11-InstrSched.ll with -new-cc-modeling-scheme. llvm-svn: 42453
* really fix PR1581, thanks to Daniel Dunbar for pointingChris Lattner2007-09-281-1/+1
| | | | | | this out. llvm-svn: 42448
* Make Value::getNameLen not crash on an empty name, fixing PR1712.Chris Lattner2007-09-281-1/+1
| | | | llvm-svn: 42444
* Remove a poor scheduling heuristic.Evan Cheng2007-09-281-34/+5
| | | | llvm-svn: 42443
* Trim some unneeded fields.Evan Cheng2007-09-283-26/+12
| | | | llvm-svn: 42442
* Fix long double -> uint64 conversion.Dale Johannesen2007-09-281-1/+5
| | | | llvm-svn: 42440
* minor long double related changesDale Johannesen2007-09-283-4/+21
| | | | llvm-svn: 42439
* 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. llvm-svn: 42435
* Use 32-bit data directives for DW_FORM_data4 format data, even onDan Gohman2007-09-281-8/+10
| | | | | | targets with 64-bit addresses. llvm-svn: 42434
* Refactor the memcpy lowering for the x86 target.Rafael Espindola2007-09-282-56/+62
| | | | | | | | 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. llvm-svn: 42433
* Stop inventing new words. :-)Evan Cheng2007-09-281-1/+1
| | | | llvm-svn: 42429
* Remove unneeded #include.Owen Anderson2007-09-281-1/+0
| | | | llvm-svn: 42428
* Have PostDomTree use the newly templated DFSPass.Owen Anderson2007-09-283-51/+3
| | | | llvm-svn: 42427
* Pessimisively assume ADJCALLSTACKDOWN / ADJCALLSTACKUP (which becomes sub / ↵Evan Cheng2007-09-281-1/+3
| | | | | | add) clobbers EFLAGS. llvm-svn: 42426
* Add sqrt and powi intrinsics for long double.Dale Johannesen2007-09-284-6/+25
| | | | llvm-svn: 42423
* Don't do SRA for unions with long double fields.Dale Johannesen2007-09-281-0/+6
| | | | | | Fixes a SWB crash. llvm-svn: 42422
* Convert DFSPass into a templated friend function, in preparation for making ↵Owen Anderson2007-09-273-66/+5
| | | | | | it common to DomTree and PostDomTree. llvm-svn: 42420
* TargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targetsDan Gohman2007-09-274-19/+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. llvm-svn: 42419
* CollectorMetadata abstractly describes stack maps for a function.Gordon Henriksen2007-09-271-0/+185
| | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 42418
OpenPOWER on IntegriCloud