summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* No need to align the stack if there are no stackDale Johannesen2008-06-301-1/+2
| | | | | | objects. Fixes a couple of tests on Linux. llvm-svn: 52921
* Remove unneeded include.Evan Cheng2008-06-301-1/+0
| | | | llvm-svn: 52920
* Replace some std::vectors that showed up in heap profiling withDan Gohman2008-06-305-24/+18
| | | | | | | | SmallVectors. Change the signature of TargetLowering::LowerArguments to avoid returning a vector by value, and update the two targets which still use this directly, Sparc and IA64, accordingly. llvm-svn: 52917
* Correct the allocation size for CCState's UsedRegs member, whichDan Gohman2008-06-301-1/+1
| | | | | | | | only needs one bit for each register. UsedRegs is a SmallVector sized at 16, so this eliminates a heap allocation/free for every call and return processed by Legalize on most targets. llvm-svn: 52915
* Move dominator info printer into tool/opt/GraphPrinters.cppDevang Patel2008-06-301-30/+0
| | | | llvm-svn: 52907
* ExpungeNode is only needed for new nodes! ThisDuncan Sands2008-06-301-9/+12
| | | | | | | fixes CodeGen/PowerPC/2008-06-19-LegalizerCrash.ll when using the new LegalizeTypes infrastructure. llvm-svn: 52903
* Support for VAARG. As noted in a comment, this isDuncan Sands2008-06-302-0/+33
| | | | | | | wrong for types like x86 long double and i1, but no worse than what is done in LegalizeDAG. llvm-svn: 52898
* Support for promoting select_cc operands.Duncan Sands2008-06-302-3/+16
| | | | llvm-svn: 52895
* Revert the SelectionDAG optimization that makesDuncan Sands2008-06-3011-136/+84
| | | | | | | | | | | | | | | | | | it impossible to create a MERGE_VALUES node with only one result: sometimes it is useful to be able to create a node with only one result out of one of the results of a node with more than one result, for example because the new node will eventually be used to replace a one-result node using ReplaceAllUsesWith, cf X86TargetLowering::ExpandFP_TO_SINT. On the other hand, most users of MERGE_VALUES don't need this and for them the optimization was valuable. So add a new utility method getMergeValues for creating MERGE_VALUES nodes which by default performs the optimization. Change almost everywhere to use getMergeValues (and tidy some stuff up at the same time). llvm-svn: 52893
* - Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an ↵Evan Cheng2008-06-308-164/+156
| | | | | | | | empty string for ConstantAggregateZero case which surprises selectiondag. - Correctly handle memcpy from constant string which is zero-initialized. llvm-svn: 52891
* Implement split and scalarize for SELECT_CC, fixing PR2504Chris Lattner2008-06-301-0/+23
| | | | llvm-svn: 52887
* Add a value range analysis that lazily computes ranges using ScalarEvolutions.Nick Lewycky2008-06-301-0/+289
| | | | llvm-svn: 52885
* Revert (52748 and friends):Anton Korobeynikov2008-06-298-129/+148
| | | | | | | | | | | | Move GetConstantStringInfo to lib/Analysis. Remove string output routine from Constant. Update all callers. Change debug intrinsic api slightly to accomodate move of routine, these now return values instead of strings. This unbreaks llvm-gcc bootstrap. llvm-svn: 52884
* Start refactoring of asmprinters: provide a TAI hook, which will select a ↵Anton Korobeynikov2008-06-281-0/+49
| | | | | | 'section kind' for a global. llvm-svn: 52868
* UnbreakAnton Korobeynikov2008-06-281-2/+2
| | | | llvm-svn: 52866
* Temporary rever invalid commitAnton Korobeynikov2008-06-282-7/+9
| | | | llvm-svn: 52865
* Move printing of module-level GVs into dedicated helperAnton Korobeynikov2008-06-282-197/+200
| | | | llvm-svn: 52864
* Use common naming conventionAnton Korobeynikov2008-06-282-4/+4
| | | | llvm-svn: 52863
* Factor out stuff into helper functionAnton Korobeynikov2008-06-282-33/+39
| | | | llvm-svn: 52862
* CleanupAnton Korobeynikov2008-06-281-6/+3
| | | | llvm-svn: 52861
* Remove X86SharedAsmPrinterAnton Korobeynikov2008-06-284-529/+487
| | | | llvm-svn: 52860
* whitespace cleanupAnton Korobeynikov2008-06-282-25/+25
| | | | llvm-svn: 52859
* Make intel asmprinter child of generic asmprinter, not x86 shared asm ↵Anton Korobeynikov2008-06-284-27/+138
| | | | | | printer. This leads to some code duplication, which will be resolved later. llvm-svn: 52858
* CleanupAnton Korobeynikov2008-06-281-10/+5
| | | | llvm-svn: 52857
* Whitespace cleanupAnton Korobeynikov2008-06-281-22/+22
| | | | llvm-svn: 52856
* Really fix the bootstrap failure.Chris Lattner2008-06-281-9/+5
| | | | llvm-svn: 52854
* Add back the capability to include nul characters in strings with Chris Lattner2008-06-282-6/+8
| | | | | | | GetConstantStringInfo. This will hopefully restore llvm-gcc to happy bootstrap land. llvm-svn: 52851
* Tighten up checking.Chris Lattner2008-06-281-4/+10
| | | | llvm-svn: 52850
* When folding a bitcast into a load or store, preserve the alignmentDan Gohman2008-06-281-2/+2
| | | | | | | information of the original load or store, which is checked to be at least as good, and possibly better. llvm-svn: 52849
* Fix GetMainExecutable. Patch by Sam Bishop.Seo Sanghyeon2008-06-271-4/+2
| | | | llvm-svn: 52847
* Looks like this condition is inverted.Evan Cheng2008-06-271-2/+2
| | | | llvm-svn: 52841
* implement some fixme's by making "autorenaming" in the value symbol table notChris Lattner2008-06-271-26/+11
| | | | | | thrash the heap with string stuff (e.g. utostr). llvm-svn: 52838
* simplify some code to avoid string thrashing.Chris Lattner2008-06-271-3/+5
| | | | llvm-svn: 52837
* Use StringSet instead of std::set<std::string>Anton Korobeynikov2008-06-273-26/+25
| | | | llvm-svn: 52836
* Add a new version of Module::getFunction that takes a const char* insteadChris Lattner2008-06-272-0/+13
| | | | | | | of a std::string. This avoids copying the string to the heap in common cases. Patch by Pratik Solanki! llvm-svn: 52834
* Add dominator info printer pass.Devang Patel2008-06-271-0/+31
| | | | llvm-svn: 52829
* Provide correct encoding for PPC LWARX instructions.Anton Korobeynikov2008-06-271-2/+2
| | | | | | Patch by Gary Benson! llvm-svn: 52828
* Reduce number of times .size() is called on a vector. Rename some variables toBill Wendling2008-06-271-16/+22
| | | | | | match normal naming scheme. llvm-svn: 52820
* Use a SmallSet when we can to reduce memory allocations.Owen Anderson2008-06-271-1/+2
| | | | | | This speeds up a particular testcase from 0.0302s to 0.0222s in LiveVariables. llvm-svn: 52819
* Cache subregister relationships in a set in TargetRegisterInfo to allow ↵Owen Anderson2008-06-271-0/+10
| | | | | | | | faster lookups. This speeds up LiveVariables from 0.6279s to 0.6165s on kimwitu++. llvm-svn: 52818
* fix the regressions from Eric's patch by making GetConstantStringInfoChris Lattner2008-06-271-29/+34
| | | | | | | tolerate a non-nul-terminated string, and handling a direct global reference. llvm-svn: 52813
* simplify this check, GetConstantStringInfo validates that aChris Lattner2008-06-271-5/+3
| | | | | | global is constant already. No functionality change. llvm-svn: 52812
* when linking globals, make sure to preserve the address space of the global.Chris Lattner2008-06-271-4/+8
| | | | llvm-svn: 52810
* Cruft left from patch revert...sorry. :-(Bill Wendling2008-06-271-3/+6
| | | | llvm-svn: 52808
* Reverting broken patch r52803.Bill Wendling2008-06-271-33/+20
| | | | llvm-svn: 52806
* Don't perform expensive queries checking for super and sub registers when we ↵Owen Anderson2008-06-271-1/+2
| | | | | | | | know that there aren't any. This speed up LiveVariables on instcombine at -O0 -g from 0.3855s to 0.3503s. Look for more improvements in this area soon! llvm-svn: 52804
* - Remove a use of std::vector.Bill Wendling2008-06-271-12/+24
| | | | | | | - Make sure that we're not recalculating the size of a vector that never changes. llvm-svn: 52803
* Refactor the DebugInfoDesc stuff out of the MachineModuleInfo file. Clean upBill Wendling2008-06-275-803/+633
| | | | | | some uses of std::vector, where it's return std::vector by value. Yuck! llvm-svn: 52800
* duncan points out that isOperationLegal includes a check forChris Lattner2008-06-261-2/+2
| | | | | | type legality. Thanks Duncan! llvm-svn: 52786
* Don't create a whole new string just to copy the elements into it.Owen Anderson2008-06-261-5/+3
| | | | llvm-svn: 52785
OpenPOWER on IntegriCloud