summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Zap the last two -Wself-assign warnings in llvm.Jakob Stoklund Olesen2011-01-062-8/+5
| | | | | | Simplify RALinScan::DowngradeRegister with TRI::getOverlaps while we are there. llvm-svn: 122940
* Add the SpillPlacement analysis pass.Jakob Stoklund Olesen2011-01-065-0/+466
| | | | | | | | | | | | | | | | This pass precomputes CFG block frequency information that can be used by the register allocator to find optimal spill code placement. Given an interference pattern, placeSpills() will compute which basic blocks should have the current variable enter or exit in a register, and which blocks prefer the stack. The algorithm is ready to consume block frequencies from profiling data, but for now it gets by with the static estimates used for spill weights. This is a work in progress and still not hooked up to RegAllocGreedy. llvm-svn: 122938
* Fix test to coincide with r122934 change from PR8919.Bill Wendling2011-01-061-1/+1
| | | | llvm-svn: 122937
* r105228 reduced the memcpy / memset inline limit to 4 with -Os to avoid blowingEvan Cheng2011-01-063-26/+57
| | | | | | | | up freebsd bootloader. However, this doesn't make much sense for Darwin, whose -Os is meant to optimize for size only if it doesn't hurt performance. rdar://8821501 llvm-svn: 122936
* Avoid zero extend bit test operands to pointer type if all the masks fit inEvan Cheng2011-01-064-24/+72
| | | | | | | the original type of the switch statement key. rdar://8781238 llvm-svn: 122935
* PR8919 - LLVM incorrectly generates "_alloca" as the stack probing call. ThatBill Wendling2011-01-061-0/+2
| | | | | | | works only on MinGW32. On 64-bit, the function to call is "__chkstk". Patch by KS Sreeram! llvm-svn: 122934
* PR8918 - When used with MinGW64, LLVM generates a "calll __main" at theBill Wendling2011-01-061-2/+5
| | | | | | | | beginning of the "main" function. The assembler complains about the invalid suffix for the 'call' instruction. The right instruction is "callq __main". Patch by KS Sreeram! llvm-svn: 122933
* Stop reallocating SunkAddrs for each basic block. When we move to an instructionCameron Zwarich2011-01-061-4/+10
| | | | | | worklist, the key will need to become std::pair<BasicBlock*, Value*>. llvm-svn: 122932
* When default-initializing a TemplateArgumentLocInfo, make sure that weDouglas Gregor2011-01-063-3/+14
| | | | | | | | | | initialize *all* of the bits to zero. Also, when the pattern of a template argument pack expansion, make sure to set the ellipsis location along all paths. This should clear up the valgrind failure that popped up in Clang. llvm-svn: 122931
* Modify test_help_version() test case to be more precise in matching the versionJohnny Chen2011-01-061-1/+36
| | | | | | number string as found in the resources/LLDB-info.plist file. llvm-svn: 122930
* Reorder, rename, and document some members to make this easier to follow.Owen Anderson2011-01-051-20/+23
| | | | llvm-svn: 122929
* Fast-path an arity check when performing template argument deduction that ↵Douglas Gregor2011-01-051-2/+6
| | | | | | compares two parameter-type-lists. No functionality change. llvm-svn: 122928
* Eliminate an unnecessary dance where we tried to cope with the lack ofDouglas Gregor2011-01-051-16/+6
| | | | | | | | TypeSourceInfo when transforming a function parameter. The callees of this routine already assume that TypeSourceInfo will be present, and we want to always be sure that it exists. llvm-svn: 122927
* Initial implementation of function parameter packs. This implementation allows:Douglas Gregor2011-01-059-75/+424
| | | | | | | | | | | | | | 1) Declaration of function parameter packs 2) Instantiation of function parameter packs within function types. 3) Template argument deduction of function parameter packs when matching two function types. We're missing all of the important template-instantiation logic for function template definitions, along with template argument deduction from the argument list of a function call, so don't even think of trying to use these for real yet. llvm-svn: 122926
* Optimize:Evan Cheng2011-01-052-23/+99
| | | | | | | | | r1025 = s/zext r1024, 4 r1026 = extract_subreg r1025, 4 to: r1026 = copy r1024 llvm-svn: 122925
* Fix an embarrassing think in the disambiguation logic for the ellipsis in a ↵Douglas Gregor2011-01-051-1/+0
| | | | | | parameter-type-list llvm-svn: 122924
* Don't warn on missing 'copy' attribute on a 'block'Fariborz Jahanian2011-01-052-0/+3
| | | | | | property when it is 'readonly'. // rdar://8820813 llvm-svn: 122923
* Properly indent the short description of the test case to make it align with theJohnny Chen2011-01-051-0/+8
| | | | | | previously added ordinal number of the currently running test case. llvm-svn: 122922
* fix PR8900, a shuffle miscompilation. Patch by Nadav Rotem!Chris Lattner2011-01-052-4/+17
| | | | llvm-svn: 122921
* silence more self assignment warnings.Chris Lattner2011-01-051-3/+3
| | | | llvm-svn: 122920
* Add a hidden command line option to display edge bundle graphs as they areJakob Stoklund Olesen2011-01-051-0/+7
| | | | | | calculated. llvm-svn: 122912
* Silence a warning from non-standard warning avoidance code.Jakob Stoklund Olesen2011-01-051-1/+2
| | | | llvm-svn: 122911
* 80-cols.Eric Christopher2011-01-051-1/+2
| | | | llvm-svn: 122909
* When computing the value on an edge, in certain cases LVI would fail to ↵Owen Anderson2011-01-051-0/+5
| | | | | | | | compute the value range in the predecessor block, leading to an incorrect conclusion for the edge value. Found by inspection. llvm-svn: 122908
* Revert svn 122743, removing the instcombine pass that was replaced by earlycse.Bob Wilson2011-01-051-1/+0
| | | | | | | | | | My i386 llvm-gcc nightly tester found a regression for SingleSource/Benchmarks/McGill/chomp that a bisect blamed on 122743. That seems strange but apparently the combination of earlycse and instcombine did something bad. Chris says he intended to remove the instcombine pass, so let's go ahead and try that. We'll see if there are any performance losses. llvm-svn: 122907
* Re-convert several of LazyValueInfo's internal maps to Dense{Map|Set}, and ↵Owen Anderson2011-01-051-33/+93
| | | | | | | | | fix the issue in hasBlockValue() that was causing iterator invalidations. Many thanks to Dimitry Andric for tracking down those invalidations! llvm-svn: 122906
* hasInit() -> hasDefaultArg()Douglas Gregor2011-01-051-1/+1
| | | | llvm-svn: 122905
* Add Decl::isParameterPack(), which covers both function and templateDouglas Gregor2011-01-056-9/+22
| | | | | | | | parameter packs, along with ParmVarDecl::isParameterPack(), which looks for function parameter packs. Use these routines to fix some obvious FIXMEs. llvm-svn: 122904
* Propagate the "deduced from array bound" bit when comparing deducedDouglas Gregor2011-01-051-5/+5
| | | | | | template argument packs. Plus, remove a FIXME that I fixed yesterday. llvm-svn: 122903
* When we're converting deduced template arguments to the type of theDouglas Gregor2011-01-052-3/+54
| | | | | | | corresponding template parameter, make sure that prior converted template arguments are available for substitution. llvm-svn: 122902
* Enhance the test framework to be able to emit a counter value in verbose modeJohnny Chen2011-01-051-0/+12
| | | | | | describing the ordinal number of the currently running test case. llvm-svn: 122901
* Use the proper enum as parameter, instead of unsigned. No functionality change.Argyrios Kyrtzidis2011-01-052-10/+7
| | | | llvm-svn: 122900
* Eliminate two "unsupported" errors relating to variadic templates: oneDouglas Gregor2011-01-052-7/+1
| | | | | | | for template template argument pack expansions (which was no longer used) and another that was a placeholder for an llvm_unreachable. llvm-svn: 122898
* Bumped versions in Xcode projects: lldb is now at lldb-38, debugserver is nowGreg Clayton2011-01-053-16/+16
| | | | | | at debugserver-124. llvm-svn: 122897
* Replace the representation of template template argument packDouglas Gregor2011-01-0519-88/+243
| | | | | | | | | | | | | expansions with something that is easier to use correctly: a new template argment kind, rather than a bit on an existing kind. Update all of the switch statements that deal with template arguments, fixing a few latent bugs in the process. I"m happy with this representation, now. And, oh look! Template instantiation and deduction work for template template argument pack expansions. llvm-svn: 122896
* Added the ability to get an set the desired format for SBValue objects.Greg Clayton2011-01-056-57/+185
| | | | | | | Fixed the display of complex numbers in lldb_private::DataExtractor::Dump(...) and also fixed other edge display cases in lldb_private::ClangASTType::DumpTypeValue(...). llvm-svn: 122895
* fix a -Wself-assign warningChris Lattner2011-01-051-1/+1
| | | | llvm-svn: 122894
* fix some -Wself-assign warnings.Chris Lattner2011-01-051-3/+3
| | | | llvm-svn: 122893
* Add some more statistics to CodeGenPrepare.Cameron Zwarich2011-01-051-0/+4
| | | | llvm-svn: 122891
* Add semantic analysis for the creation of and an AST representationDouglas Gregor2011-01-0510-61/+159
| | | | | | | | | | | | | | | | | | | | | for template template argument pack expansions. This allows fun such as: template<template<class> class ...> struct apply_impl { /*...*/ }; template<template<class> class ...Metafunctions> struct apply { typedef typename apply_impl<Metafunctions...>::type type; }; However, neither template argument deduction nor template instantiation is implemented for template template argument packs, so this functionality isn't useful yet. I'll probably replace the encoding of template template argument pack expansions in TemplateArgument so that it's harder to accidentally forget about the expansion. However, this is a step in the right general direction. llvm-svn: 122890
* Commit 122778 broke DWARF debug output when using the MBlaze backend. Fixed ↵Wesley Peck2011-01-053-0/+30
| | | | | | by overriding TargetFrameInfo::getFrameIndexOffset to take into account the new frame index information. llvm-svn: 122889
* Parse template template argument pack expansions. They're still notDouglas Gregor2011-01-051-5/+18
| | | | | | implemented, however. llvm-svn: 122888
* Add some stats to CodeGenPrepare to make it easier to speed it up withoutCameron Zwarich2011-01-051-3/+15
| | | | | | regressing code quality. llvm-svn: 122887
* Fix small bug in setDebugInfoAvailability.Wesley Peck2011-01-051-1/+1
| | | | llvm-svn: 122886
* UnitTests/Path: Fix typo, add error number, and enable the directory cleanup ↵Michael J. Spencer2011-01-051-7/+12
| | | | | | code. llvm-svn: 122885
* Support/PathV2: Implement remove_all.Michael J. Spencer2011-01-051-0/+37
| | | | llvm-svn: 122884
* Support/Windows/PathV2: Make directory iteration ignore . and ..Michael J. Spencer2011-01-051-4/+24
| | | | llvm-svn: 122883
* Support/Windows/PathV2: Fix remove to handle both files and directories.Michael J. Spencer2011-01-051-7/+21
| | | | llvm-svn: 122882
* Support/PathV2: Implement directory_entry::status.Michael J. Spencer2011-01-051-0/+4
| | | | llvm-svn: 122881
* UnitTests/PathV2: Setup a test fixture to make tracking created file systemMichael J. Spencer2011-01-051-0/+24
| | | | | | entities easier. llvm-svn: 122880
OpenPOWER on IntegriCloud