- Feb 10, 2012
-
-
Ted Kremenek authored
Enhance checking for null format string literal to take into account __null. Fixes <rdar://problem/8269537>. llvm-svn: 150260
-
Jakob Stoklund Olesen authored
This makes global live range splitting behave identically with and without register mask operands. This is not necessarily the best way of using register masks for live range splitting. It would be more efficient to first split global live ranges around calls (i.e., register masks), and reserve the fine grained per-physreg interference guidance for global live ranges that do not cross calls. For now the goal is to produce identical assembly when enabling register masks. llvm-svn: 150259
-
Jakob Stoklund Olesen authored
llvm-svn: 150258
-
Pete Cooper authored
llvm-svn: 150257
-
Douglas Gregor authored
default is '=', and reword the warning about explicitly capturing 'this' in such lambdas to indicate that only explicit capture is banned. Introduce Fix-Its for this and other "save the programmer from themself" rules regarding what can be explicitly captured and what must be implicitly captured. llvm-svn: 150256
-
Douglas Gregor authored
nested captures. We currently don't get odr-use correct in array bounds, so that bit is commented out while we sort out what we need to do. llvm-svn: 150255
-
Bob Wilson authored
llvm-svn: 150254
-
Bob Wilson authored
llvm-svn: 150253
-
Douglas Gregor authored
have finished parsing the body, so that name lookup will never find anything within the closure type. Then, add this operator() and the conversion function (if available) before completing the class. llvm-svn: 150252
-
Jason W Kim authored
llvm-svn: 150251
-
Hal Finkel authored
This allows BBVectorize to check the "unknown instruction" list in the alias sets. This is important to prevent instruction fusing from reordering function calls. Resolves PR11920. llvm-svn: 150250
-
Hal Finkel authored
llvm-svn: 150249
-
Hal Finkel authored
These query functions are safe for external use and, furthermore, are the only way to make queries against the "unknown instructions" array. BBVectorize will use these functions. llvm-svn: 150248
-
Duncan Sands authored
don't assume it is a boolean. llvm-svn: 150247
-
Duncan Sands authored
is that patterns no longer match for vectors of booleans, because you only get ConstantDataVector when the vector element type is i8, i16, etc, not when it is i1). Original commit message: Remove some dead code and tidy things up now that vectors use ConstantDataVector instead of always using ConstantVector. llvm-svn: 150246
-
Benjamin Kramer authored
Put instruction names into an indexed string table on the side, removing a pointer from MCInstrDesc. Make them accessible through MCInstrInfo. They are only used for debugging purposes so this doesn't have an impact on performance. X86MCTargetDesc.o goes from 630K to 461K on x86_64. llvm-svn: 150245
-
Richard Smith authored
o Correct the handling of the restrictions on usage of cv-qualified and ref-qualified function types. o Fix a bug where such types were rejected in template type parameter default arguments, due to such arguments not being treated as a template type arg context. o Remove the ExtWarn for usage of such types as template arguments; that was a standard defect, not a GCC extension. o Improve the wording and unify the code for diagnosing cv-qualifiers with the code for diagnosing ref-qualifiers. llvm-svn: 150244
-
Richard Smith authored
llvm-svn: 150243
-
Evgeniy Stepanov authored
llvm-svn: 150242
-
Richard Smith authored
to pretty-print such function types better, and to fix a case where we were not instantiating templates in lexical order. In passing, move the Variadic bit from Type's bitfields to FunctionProtoType to get the Type bitfields down to 32 bits. Also ensure that we always substitute the return type of a function when substituting explicitly-specified arguments, since that can cause us to bail out with a SFINAE error before we hit a hard error in parameter substitution. llvm-svn: 150241
-
Richard Smith authored
llvm-svn: 150240
-
Douglas Gregor authored
llvm-svn: 150239
-
Evgeniy Stepanov authored
This changes function prolog in such a way as to avoid out-of-bounds stack store in the case when coerce-to type has a larger storage size than the real argument type. Fixes PR11905. llvm-svn: 150238
-
Douglas Gregor authored
expression. Implement C++11 [expr.prim.lambda]p12's requirement that capturing a variable will odr-use it. llvm-svn: 150237
-
Douglas Gregor authored
per C++ [expr.prim.lambda]p6. llvm-svn: 150236
-
Douglas Gregor authored
the variables captured by a lambda to the fields that store the captured values. To be used in IRgen. llvm-svn: 150235
-
Richard Smith authored
incomplete class type which has an overloaded operator&, it's now just unspecified whether the overloaded operator or the builtin is used. llvm-svn: 150234
-
Andrew Trick authored
llvm-svn: 150233
-
Daniel Dunbar authored
the stub SDK to try and ensure we always pick up the right archs when they should be able to be used. - Also, warn when we drop an architecture. llvm-svn: 150232
-
Daniel Dunbar authored
llvm-svn: 150231
-
David Blaikie authored
This is a relatively noisy warning for a codebase not explicitly designed for it (effectively enforcing a stylistic constraint about the use of defaults in switches over enums) & there's nothing Clang does to clean up the noise when compared to GCC's implementation so the same decision seems suitable. llvm-svn: 150230
-
Jia Liu authored
llvm-svn: 150229
-
Andrew Trick authored
llvm-svn: 150228
-
Andrew Trick authored
llvm-svn: 150227
-
Andrew Trick authored
Creates a configurable regalloc pipeline. Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa. When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>. CodeGen transformation passes are never "required" as an analysis ProcessImplicitDefs does not require LiveVariables. We have a plan to massively simplify some of the early passes within the regalloc superpass. llvm-svn: 150226
-
Andrew Trick authored
llvm-svn: 150225
-
Lang Hames authored
llvm-svn: 150224
-
Ted Kremenek authored
in many APIs and large codebases that this made the deprecated warning trigger happy to the point of not being useful. llvm-svn: 150223
-
Jim Grosbach authored
rdar://10838899 llvm-svn: 150222
-
Eli Friedman authored
Make sure we convert struct layout pragmas to attributes for class templates the same way we do for non-template classes. <rdar://problem/10791194>. llvm-svn: 150221
-