summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Support/PathV2: Implement directory iteration on POSIX.Michael J. Spencer2011-01-052-3/+54
| | | | llvm-svn: 122879
* Update C++ [temp.param]p11 citation to reflect the changes in C++0x. No ↵Douglas Gregor2011-01-051-3/+4
| | | | | | functionality change llvm-svn: 122878
* Implement C++0x [temp.param]p11 for non-type and template templateDouglas Gregor2011-01-052-5/+65
| | | | | | | parameter packs. Also, the "no template parameters after a template parameter pack" rule only applies to primary class templates. llvm-svn: 122877
* Use pop_back_val instead of back followed by pop_back.Cameron Zwarich2011-01-051-2/+1
| | | | llvm-svn: 122876
* Implement proper parameter pack matching for non-type templateDouglas Gregor2011-01-053-14/+61
| | | | | | parameters and template template parameters. llvm-svn: 122875
* Implement support for template template parameter packs, e.g.,Douglas Gregor2011-01-0519-51/+152
| | | | | | | template<template<class> class ...Metafunctions> struct apply_to_each; llvm-svn: 122874
* Fix lit for people whose LLVM path contains 'opt', which is a common ↵Frits van Bommel2011-01-051-3/+3
| | | | | | directory name on Unix-like systems. llvm-svn: 122873
* Fix the -Asserts build.John McCall2011-01-051-1/+1
| | | | llvm-svn: 122872
* Refactor the application of type attributes so that attributes fromJohn McCall2011-01-0514-343/+856
| | | | | | | | | | | | | | | | | | | | | | | | | the declaration-specifiers and on the declarator itself are moved to the appropriate declarator chunk. This permits a greatly simplified model for how to apply these attributes, as well as allowing a much more efficient query for the GC attribute. Now all qualifier queries follow the same basic strategy of "local qualifiers, local qualifiers on the canonical type, then look through arrays". This can be easily optimized by changing the canonical qualified-array-type representation. Do not process type attributes as decl attributes on declarations with declarators. When computing the type of a block, synthesize a prototype function declarator chunk if the decl-spec type was not a function. This simplifies the logic for building block signatures. Change the logic which inserts an objc_read_weak on a block literal to only fire if the block has a __weak __block variable, rather than if the return type of the block is __weak qualified, which is not actually a sensible thing to ask. llvm-svn: 122871
* Use a worklist for later iterations just like ordinary instsimplify. The nextCameron Zwarich2011-01-051-0/+19
| | | | | | | step is to only process instructions in subloops if they have been modified by an earlier simplification. llvm-svn: 122869
* Change LoopInstSimplify back to a LoopPass. It revisits subloops rather thanCameron Zwarich2011-01-051-10/+36
| | | | | | | | | | skipping them, but it should probably use a worklist and only revisit those instructions in subloops that have actually changed. It should probably also use a worklist after the first iteration like instsimplify now does. Regardless, it's only 0.3% of opt -O2 time on 403.gcc if it replaces the instcombine placed in the middle of the loop passes. llvm-svn: 122868
* Use Parser::ExpectAndConsume() uniformly to eat semicolons afterDouglas Gregor2011-01-053-20/+15
| | | | | | | | | Objective-C declarations and statements. Fixes <rdar://problem/8814576> (wrong source line for diagnostics about missing ';'), and now we actually consume the ';' at the end of a @compatibility_alias directive! llvm-svn: 122855
* Fix PR8906: -fno-builtin should disable loop-idiom recognition.Chris Lattner2011-01-051-3/+4
| | | | | | | | It forms memset and memcpy's, and will someday form popcount and other stuff. All of this is bad when compiling the implementation of memset, memcpy, popcount, etc. llvm-svn: 122854
* Many of the built-in operator candidates introduced into overloadDouglas Gregor2011-01-054-4/+42
| | | | | | | resolution require that the pointed-to type be an object type, but we weren't filtering out non-object types. Do so, fixing PR7851. llvm-svn: 122853
* Eliminate some completely useless code that attempted to perform someDouglas Gregor2011-01-041-32/+0
| | | | | | | | | | conversions on the substituted non-type template arguments of a class template partial specialization. C++ [temp.class.spec]p8 actually prohibits all of the cases where this code would have fired. Hey, it's better than having to deal with variadic templates here! llvm-svn: 122852
* Improve our handling of non-type template parameters in partialDouglas Gregor2011-01-046-130/+244
| | | | | | | | | | | | | specializations. We weren't dealing with any of the cases where the type of the non-type template argument differs from the type of the corresponding template parameter in the primary template. We would think that the template parameter in the partial specialization was not deducible (and warn about it, incorrectly), then fail to convert a deduced parameter to the type of the template parameter in the partial specialization (which may involve truncation, among other things). Fixes PR8905. llvm-svn: 122851
* Tweak test for portabilityDouglas Gregor2011-01-041-2/+2
| | | | llvm-svn: 122850
* Remove TODO, these appear to be implemented.Eric Christopher2011-01-041-1/+0
| | | | llvm-svn: 122849
* Remove an unnecessary FIXME for variadic templatesDouglas Gregor2011-01-041-2/+0
| | | | llvm-svn: 122848
* Minor cleanups for template argument deduction in the presence ofDouglas Gregor2011-01-041-10/+3
| | | | | | variadic templates. No functionality change. llvm-svn: 122847
OpenPOWER on IntegriCloud