- Jun 16, 2011
-
-
Jakub Staszak authored
BranchProbabilityInfo (expect setEdgeWeight which is not available here). Branch Weights are kept in MachineBasicBlocks. To turn off this analysis set -use-mbpi=false. llvm-svn: 133184
-
Argyrios Kyrtzidis authored
llvm-svn: 133183
-
Fariborz Jahanian authored
getLVForNamespaceScopeDecl(). // rdar://9609649 llvm-svn: 133182
-
Evan Cheng authored
llvm-svn: 133181
-
Douglas Gregor authored
constants. Fixes PR10145. llvm-svn: 133179
-
Owen Anderson authored
Change the REG_SEQUENCE SDNode to take an explict register class ID as its first operand. This operand is lowered away by the time we reach MachineInstrs, so the actual register-allocation handling of them doesn't need to change. This is intended to support using REG_SEQUENCE SDNode's with type MVT::untyped, and is part of the long road to eliminating some of the hacks we currently use to support register pairs and other strange constraints, particularly on ARM NEON. llvm-svn: 133178
-
Jakob Stoklund Olesen authored
This avoids the manual filtering of reserved registers and removes the dependency on allocation_order_begin(). Palliative care... llvm-svn: 133177
-
Galina Kistanova authored
llvm-svn: 133176
-
Bruno Cardoso Lopes authored
llvm-svn: 133175
-
Jakub Staszak authored
llvm-svn: 133174
-
Douglas Gregor authored
__builtin_ versions of these functions as well as the normal function versions, so that it works on platforms where memset/memcpy/memmove are macros that map down to the builtins (e.g., Darwin). Fixes <rdar://problem/9372688>. llvm-svn: 133173
-
Justin Holewinski authored
llvm-svn: 133172
-
Justin Holewinski authored
llvm-svn: 133171
-
Jakob Stoklund Olesen authored
This virtual function will replace allocation_order_begin/end as the one to override when implementing custom allocation orders. It is simpler to have one function return an ArrayRef than having two virtual functions computing different ends of the same array. Use getRawAllocationOrder() in place of allocation_order_begin() where it makes sense, but leave some clients that look like they really want the filtered allocation orders from RegisterClassInfo. llvm-svn: 133170
-
Fariborz Jahanian authored
null at any time. // rdar://9612030 llvm-svn: 133168
-
Argyrios Kyrtzidis authored
llvm-svn: 133167
-
Nick Lewycky authored
names for named metadata nodes. llvm-svn: 133166
-
John McCall authored
llvm-svn: 133165
-
Owen Anderson authored
llvm-svn: 133164
-
Douglas Gregor authored
checks that the deduced argument type for a function call matches the actual argument type provided. The only place we've found where the consistency checking should actually cause template argument deduction failure is due to qualifier differences that don't fall into the realm of qualification conversions (which are *not* checked when we initially perform deduction). However, we're performing the full checking as specified in the standard to ensure that no other cases exist. Fixes PR9233 / <rdar://problem/9039590>. llvm-svn: 133163
-
Caroline Tice authored
Add 'batch_mode' to CommandInterpreter. Modify InputReaders to not write output (prompts, instructions,etc.) if the CommandInterpreter is in batch_mode. Also, finish updating InputReaders to write to the asynchronous stream, rather than using the Debugger's output file directly. llvm-svn: 133162
-
Chandler Carruth authored
These are somewhat special in that they wrap any other FrontendAction, running various ARC transformations or checks prior to the standard action's run. To implement them easily, this extends FrontendAction to have a WrapperFrontendAction utility class which forwards all calls by default to an inner action setup at construction time. This is then subclassed to override the specific behavior needed by the different ARCMT tools. Finally, FrontendTool is taught how to create these wrapper actions from the existing flags and options structures. The result is that clangFrontend no longer depends on clangARCMigrate. This is very important, as clangARCMigrate *heavily* depends on clangFrontend. Fundamentally ARCMigrate is at the same layer as a library like Rewrite, sitting firmly on top of the Frontend, but tied together with the FrontendTool when building the clang binary itself. llvm-svn: 133161
-
Dan Gohman authored
llvm-svn: 133160
-
Dan Gohman authored
considered safe enough in this context. llvm-svn: 133159
-
Justin Holewinski authored
llvm-svn: 133158
-
Fariborz Jahanian authored
declaration of global var is __private_extern__. // rdar://9609649 llvm-svn: 133157
-
NAKAMURA Takumi authored
AFAIK, RHEL5 (and its clones) provides g++44 as the package "gcc44-c++". By default, g++-4.1.1 is available, though, its libstdc++ would not be suitable to clang++. llvm-svn: 133156
-
Chandler Carruth authored
and the programmer intended to write 'sizeof(*p)'. There are several elements to the new version: 1) The actual expressions are compared in order to more accurately flag the case where the pattern that works for an array has been used, or a '*' has been omitted. 2) Only do a loose type-based check for record types. This prevents us from warning when we happen to be copying around chunks of data the size of a pointer and the pointer types for the sizeof and source/dest match. 3) Move all the diagnostics behind the runtime diagnostic filter. Not sure this is really important for this particular diagnostic, but almost everything else in SemaChecking.cpp does so. 4) Make the wording of the diagnostic more precise and informative. At least to my eyes. 5) Provide highlighting for the two expressions which had the unexpected similarity. 6) Place this diagnostic under a flag: -Wsizeof-pointer-memaccess This uses the Stmt::Profile system for computing #1. Because of the potential cost, this is guarded by the warning flag. I'd be interested in feedback on how bad this is in practice; I would expect it to be quite cheap in practice. Ideas for a cheaper / better way to do this are also welcome. The diagnostic wording could likely use some further wordsmithing. Suggestions welcome here. The goals I had were to: clarify that its the interaction of 'memset' and 'sizeof' and give more reasonable suggestions for a resolution. An open question is whether these diagnostics should have the note attached for silencing by casting the dest/source pointer to void*. llvm-svn: 133155
-
Jordy Rose authored
[analyzer] Clean up modeling of strcmp, including cases where a string literal has an embedded null character, and where both arguments are the same buffer. Also use nested ifs rather than early returns; in this case early returns will lose any assumptions we've made earlier in the function. llvm-svn: 133154
-
Bruno Cardoso Lopes authored
Original patch by Syoyo Fujita with more comments by me. llvm-svn: 133153
-
Chandler Carruth authored
a ConstStmtVisitor. This also required adding some const iteration support for designated initializers and making some of the getters on the designators const. It also made the formatting of StmtProfile.cpp rather awkward. I'm happy to adjust any of the formatting if folks have suggestions. I've at least fitted it all within 80 columns. llvm-svn: 133152
-
Jordy Rose authored
I will not commit without building first. I will not commit without building first. I will not commit without building first... llvm-svn: 133150
-
Jordy Rose authored
[analyzer] Cleanup: mainly 80-char violations and preferring SValBuilder::getComparisonType() to just referencing IntTy. llvm-svn: 133149
-
John McCall authored
llvm-svn: 133148
-
John McCall authored
llvm-svn: 133147
-
John McCall authored
before it on the link line. llvm-svn: 133145
-
John McCall authored
llvm-svn: 133144
-
Chandler Carruth authored
pattern found in the wild where this warning was firing. llvm-svn: 133143
-
Jakob Stoklund Olesen authored
compares. 2^30 is actually the limit on the number of physical registers per TargetRegisterInfo.h. llvm-svn: 133142
-
Jakob Stoklund Olesen authored
This should unbreak the native ARM testers. llvm-svn: 133141
-