- Jan 05, 2011
-
-
Douglas Gregor authored
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
-
Greg Clayton authored
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
-
Chris Lattner authored
llvm-svn: 122894
-
Chris Lattner authored
llvm-svn: 122893
-
Cameron Zwarich authored
llvm-svn: 122891
-
Douglas Gregor authored
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
-
Wesley Peck authored
Commit 122778 broke DWARF debug output when using the MBlaze backend. Fixed by overriding TargetFrameInfo::getFrameIndexOffset to take into account the new frame index information. llvm-svn: 122889
-
Douglas Gregor authored
implemented, however. llvm-svn: 122888
-
Cameron Zwarich authored
regressing code quality. llvm-svn: 122887
-
Wesley Peck authored
llvm-svn: 122886
-
Michael J. Spencer authored
llvm-svn: 122885
-
Michael J. Spencer authored
llvm-svn: 122884
-
Michael J. Spencer authored
llvm-svn: 122883
-
Michael J. Spencer authored
llvm-svn: 122882
-
Michael J. Spencer authored
llvm-svn: 122881
-
Michael J. Spencer authored
entities easier. llvm-svn: 122880
-
Michael J. Spencer authored
llvm-svn: 122879
-
Douglas Gregor authored
llvm-svn: 122878
-
Douglas Gregor authored
parameter packs. Also, the "no template parameters after a template parameter pack" rule only applies to primary class templates. llvm-svn: 122877
-
Cameron Zwarich authored
llvm-svn: 122876
-
Douglas Gregor authored
parameters and template template parameters. llvm-svn: 122875
-
Douglas Gregor authored
template<template<class> class ...Metafunctions> struct apply_to_each; llvm-svn: 122874
-
Frits van Bommel authored
Fix lit for people whose LLVM path contains 'opt', which is a common directory name on Unix-like systems. llvm-svn: 122873
-
John McCall authored
llvm-svn: 122872
-
John McCall authored
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
-
Cameron Zwarich authored
step is to only process instructions in subloops if they have been modified by an earlier simplification. llvm-svn: 122869
-
Cameron Zwarich authored
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
-
Douglas Gregor authored
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
-
Chris Lattner authored
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
-
Douglas Gregor authored
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
-
Douglas Gregor authored
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
-
Douglas Gregor authored
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
-
- Jan 04, 2011
-
-
Douglas Gregor authored
llvm-svn: 122850
-
Eric Christopher authored
llvm-svn: 122849
-
Douglas Gregor authored
llvm-svn: 122848
-
Douglas Gregor authored
variadic templates. No functionality change. llvm-svn: 122847
-
Matt Beaumont-Gay authored
llvm-svn: 122846
-
Douglas Gregor authored
llvm-svn: 122845
-
Owen Anderson authored
Don't bother value numbering instructions with void types in GVN. In theory this should allow us to insert fewer things into the value numbering maps, but any speedup is beneath the noise threshold on my machine on 403.gcc. llvm-svn: 122844
-
Douglas Gregor authored
Improve the checking of deduced template arguments stored within template argument packs when finishing template argument deduction for a function template llvm-svn: 122843
-