- Sep 07, 2011
-
-
James Molloy authored
Refactor instprinter and mcdisassembler to take a SubtargetInfo. Add -mattr= handling to llvm-mc. Reviewed by Owen Anderson. llvm-svn: 139237
-
Duncan Sands authored
duplicate tests are eliminated (for example if the two functions both have a catch clause catching the same type, ensure the redundant one is removed). Note that it would probably be safe to say that eh.typeid.for is 'const', but since two calls to it with the same argument can give different results (but only if the calls are in different functions), it seems more correct to mark it only 'pure'; this doesn't get in the way of the optimization. llvm-svn: 139236
-
Fariborz Jahanian authored
in GC mode. // rdar://10073896 llvm-svn: 139235
-
Jim Grosbach authored
Handle explicit 'ia' suffix via a MnemonicAlias (pre-existing). llvm-svn: 139234
-
Rafael Espindola authored
(not assert) early. llvm-svn: 139233
-
Jim Grosbach authored
llvm-svn: 139232
-
Duncan Sands authored
llvm-svn: 139230
-
Duncan Sands authored
llvm-svn: 139229
-
Chandler Carruth authored
function. This is really the beginning of the second phase of refactorings here. The end goal is to have (roughly) three interfaces: 1) Base class to format a single diagnostic suitable for display on the console. 2) Extension of the base class which also displays a caret diagnostic suitable for display on the console. 3) An adaptor that implements the DiagnosticClient by delegating to #1 and/or #2 as appropriate. Once we have these, things like libclang's formatDiagnostic can use #1 and #2 to provide really well formatted (and consistently formatted!) textual formatting of diagnostics. Getting there is going to be quite a bit of shuffling. I'm basically sketching out where the interface boundaries can be drawn for #1 and #2 within the existing classes. That lets me shuffle with a minimum of fuss and delta. Once that's done, and any of the related interfaces that need to change are updated, I'll hoist these into separate headers and re-implement libclang in terms of their interfaces. Long WIP, but comments at each step welcome. =D llvm-svn: 139228
-
Chandler Carruth authored
CaretDiagnostic. It's completely generic, with nothing to do with the diagnostic client or info APIs. llvm-svn: 139227
-
Chandler Carruth authored
llvm-svn: 139226
-
Chandler Carruth authored
llvm-svn: 139225
-
Eli Friedman authored
llvm-svn: 139224
-
Argyrios Kyrtzidis authored
llvm-svn: 139223
-
Argyrios Kyrtzidis authored
are returning a pointer to pointer. llvm-svn: 139222
-
Eli Friedman authored
Relax the MemOperands on atomics a bit. Fixes -verify-machineinstrs failures for atomic laod/store on ARM. (The fix for the related failures on x86 is going to be nastier because we actually need Acquire memoperands attached to the atomic load instrs, etc.) llvm-svn: 139221
-
Joerg Sonnenberger authored
name. llvm-svn: 139220
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: DiagnoseLogicalAndInLogicalOrLHS() DiagnoseBinOpPrecedence() ActOnBinOp() BuildBinOp() llvm-svn: 139219
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: CreateBuiltinBinOp() DiagnoseBitwisePrecedence() llvm-svn: 139218
-
Chandler Carruth authored
a stack array of a magical size with an assert() that we never overflowed it. That seems incredibly risky. We also have a very nice API for bundling up a vector we expect to usually have a small size without loss of functionality or security if the size is excessive. The fallout is to remove the last pointer+size parameter pair that are traced through the recursive caret diagnostic emission. llvm-svn: 139217
-
Eli Friedman authored
Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics (which will go away). LLVM CodeGen does almost exactly the same thing with these and the old intrinsics, so I'm reasonably confident this will not break anything. There are still a few issues which need to be resolved with code generation for atomic load and store, so I'm not converting the places which need those for now. I'm not entirely sure what to do about __builtin_llvm_memory_barrier: the fence instruction doesn't expose all the possibilities which can be expressed by __builtin_llvm_memory_barrier. I would appreciate hearing from anyone who is using this intrinsic. llvm-svn: 139216
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: CheckAssignmentOperands() DiagnoseSelfAssignment() checkArithmeticNull() llvm-svn: 139215
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: CheckVectorCompareOperands() CheckBitwiseOperands() CheckLogicalOperands() llvm-svn: 139214
-
Richard Trieu authored
Change the self-reference visitor (which gives the warning for self-reference oninitalization warning of -Wuninitialized) to exclude member variables that can decay into pointers. This will cause it to no longer warn on this code: struct foo { char a[100], *e; } bar = { .e = bar.a }; llvm-svn: 139213
-
Fariborz Jahanian authored
to be 'weak'. This prevents a crash and should probably be flagged as error - later to come. llvm-svn: 139211
-
Francois Pichet authored
In Microsoft mode, if we are inside a template class member function and we can't resolve a function call then create a type-dependent CallExpr even if the function has no type dependent arguments. The goal is to postpone name lookup to instantiation time to be able to search into type dependent base classes. With this patch in, clang will generate only 37 errors (down from 212) when parsing a typical MFC source file. llvm-svn: 139210
-
Johnny Chen authored
to determine its validity. llvm-svn: 139209
-
Devang Patel authored
While sinking machine instructions, sink matching DBG_VALUEs also otherwise live debug variable pass will drop DBG_VALUEs on the floor. llvm-svn: 139208
-
Chad Rosier authored
preprocessor output) with multiple -arch options. llvm-svn: 139207
-
Bill Wendling authored
information for older linkers. llvm-svn: 139206
-
Owen Anderson authored
llvm-svn: 139205
-
Owen Anderson authored
Fixes PR10872 and <rdar://problem/10065079>. llvm-svn: 139204
-
Fariborz Jahanian authored
// rdar://10073896 llvm-svn: 139203
-
Jim Grosbach authored
llvm-svn: 139202
-
Enrico Granata authored
Refactoring of Get() methods in FormatManager/FormatCategory to have explicative names and return shared-pointers instead of bools Reduced the amount of memory required to avoid loops in DumpPrintableRepresentation() from 32 bits down to 1 bit - Additionally, disallowed creating summary strings of the form ${var%S} which did nothing but cause endless loops by definition llvm-svn: 139201
-
Jim Grosbach authored
llvm-svn: 139200
-
Jim Grosbach authored
llvm-svn: 139199
-
Johnny Chen authored
Also update the signature of WatchpointLocation::SetEnable() to take a bool as input arg. llvm-svn: 139198
-
Chandler Carruth authored
llvm-svn: 139197
-
Chandler Carruth authored
inspection. llvm-svn: 139196
-