Commit Graph

80782 Commits

Author SHA1 Message Date
Douglas Gregor b525ef87fc When recovering from a qualified typedef name, don't clear out the
DeclContext because we don't want a NULL DeclContext. Instead, use the
current context.

llvm-svn: 99281
2010-03-23 15:26:55 +00:00
Anders Carlsson 274fc82289 Move ThunkInfo as well.
llvm-svn: 99280
2010-03-23 15:17:13 +00:00
Anders Carlsson 67fd3a50dc Move ReturnAdjustment and ThisAdjustment out into CGVtable.h
llvm-svn: 99279
2010-03-23 15:13:06 +00:00
Duncan Sands de4fe3538a Ignore a more comprehensive set of gcc-special format attributes.
llvm-svn: 99277
2010-03-23 14:44:19 +00:00
Gabor Greif 161cb044f3 add assert in argpromotion, which cannot trigger
if Function::hasAddressTaken works as advertised

also included some cosmetic cleanups

llvm-svn: 99276
2010-03-23 14:40:20 +00:00
Gabor Greif 668d700fe3 word-o
llvm-svn: 99275
2010-03-23 13:45:54 +00:00
Zhongxing Xu e248dca300 Bind the constructed object value to CXXConstructExpr.
llvm-svn: 99271
2010-03-23 09:13:17 +00:00
Zhongxing Xu b473f91498 update CMakeLists.txt
llvm-svn: 99269
2010-03-23 08:14:19 +00:00
Zhongxing Xu bf2f0d74a2 Clear the return expr GDM after using it.
llvm-svn: 99268
2010-03-23 08:09:29 +00:00
Zhongxing Xu 1ff3dcef1f Add a AggExprVisitor class. It contains lots of boiler
plate code for evaluating expressions of C++ class type.

llvm-svn: 99267
2010-03-23 07:32:14 +00:00
Bob Wilson 9b680e21c0 Rename some instructions to match the corresponding NEON opcode.
llvm-svn: 99266
2010-03-23 06:26:18 +00:00
Bob Wilson cc0a2a75a0 Change VST1 instructions for loading Q register values to operate on pairs
of D registers.  Add a separate VST1q instruction with a Q register
source operand for use by storeRegToStackSlot.

llvm-svn: 99265
2010-03-23 06:20:33 +00:00
Evan Cheng 3f7842232e Fix an incorrect logic causing instcombine to miss some _chk -> non-chk transformations.
llvm-svn: 99263
2010-03-23 06:06:09 +00:00
Bob Wilson 340861d29e Change VLD1 instructions for loading Q register values to operate on pairs
of D registers.  Add a separate VLD1q instruction with a Q register
destination operand for use by loadRegFromStackSlot.

llvm-svn: 99261
2010-03-23 05:25:43 +00:00
Anders Carlsson 995891667f Use the canonical destructor, which fixes the self-host build. Thanks to Eli for noticing.
llvm-svn: 99260
2010-03-23 05:15:24 +00:00
Zhongxing Xu 7fffbcc756 merge line.
llvm-svn: 99259
2010-03-23 05:13:26 +00:00
Daniel Dunbar 30b24e95fa Frontend: Don't free the CompilerInstance or FrontendActions when running under
-disable-free. Among other things, this fixes freeing of the LLVM module on
exit.
 - Note that this means we are disable-free'ing of a lot more stuff than we used to -- this should flush out bugs in anything left that is trying to do real work in its destructor. I did a mini-audit but '::~' is not totally uncommon.

llvm-svn: 99258
2010-03-23 05:09:16 +00:00
Daniel Dunbar cb9eaf59fb PPCallbacks: Add hook for reaching the end of the main file, and fix DependencyFile to not do work in its destructor.
llvm-svn: 99257
2010-03-23 05:09:10 +00:00
Daniel Dunbar de04b3f62c MC: Switch to using MCInst fragments to do relaxation.
Also, both MCMachOStreamer and MCAssembler are now target independent!

llvm-svn: 99256
2010-03-23 05:09:03 +00:00
Zhongxing Xu 3c0c81a4d4 Since we now may have basicblocks with the same block is in different function,
change the block counter map from unsigned -> unsigned to 
<StackFrameContext*, unsigned> -> unsigned.

llvm-svn: 99255
2010-03-23 05:05:02 +00:00
Anders Carlsson 917229cf75 Baby steps towards making thunks be emitted from the new vtable layout code.
llvm-svn: 99254
2010-03-23 04:59:02 +00:00
Anders Carlsson 7cea12ff9b Some renames.
llvm-svn: 99253
2010-03-23 04:44:10 +00:00
Anders Carlsson af82f63b47 Always emit associated thunks when emitting the function itself. Remove getVtableAddressPoint, it's not used.
llvm-svn: 99252
2010-03-23 04:31:31 +00:00
Anders Carlsson 8841024a7c Rename MaybeEmitVtable to EmitVTableRelatedData in preparation for making it emit thunks as well.
llvm-svn: 99251
2010-03-23 04:15:00 +00:00
Anders Carlsson a864caff8c Rename CGVtableInfo to CodeGenVTables in preparation of adding another VTableInfo class.
llvm-svn: 99250
2010-03-23 04:11:45 +00:00
Daniel Dunbar 86face8333 MC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a particular instruction + fixups might need relaxation.
llvm-svn: 99249
2010-03-23 03:13:05 +00:00
Daniel Dunbar a9ae3ae698 MC: Add TargetAsmBackend::WriteNopData and use to eliminate some target dependencies in MCMachOStreamer and MCAssembler.
llvm-svn: 99248
2010-03-23 02:36:58 +00:00
Daniel Dunbar e0c43577c1 MC: Add TargetAsmBackend::RelaxInstruction callback, and custom X86 implementation.
llvm-svn: 99245
2010-03-23 01:39:09 +00:00
Daniel Dunbar 16cbe95dd6 MC: Tweak MCInstFragment to include the encoded data and fixups, so that we don't need to recompute them during relaxation. I will revisit this once all the other pieces of fast relaxation are in place.
llvm-svn: 99244
2010-03-23 01:39:05 +00:00
Ted Kremenek a3ab0d7666 For forward-declared static inline functions, delay CFG-based warnings until we
encounter a definition.

llvm-svn: 99243
2010-03-23 01:37:12 +00:00
Ted Kremenek bb6f5af4a4 Tweak null dereference diagnostics to give clearer diagnostics when
a null dereference results from a field access.

llvm-svn: 99236
2010-03-23 01:11:38 +00:00
Ted Kremenek 0b40532b5e Only perform CFG-based warnings on 'static inline' functions that
are called (transitively) by regular functions/blocks within a
translation untion.

llvm-svn: 99233
2010-03-23 00:13:23 +00:00
Jeffrey Yasskin a99d232803 Put MCSectionCOFF::Name into the MCContext instead of leaking it.
llvm-svn: 99231
2010-03-22 23:26:12 +00:00
Fariborz Jahanian 00c291b012 Set the relevent attributes declared in class extension
and fix a missing diagnostics on assigning to a read-only
property. Fixes radar 7766184.

llvm-svn: 99230
2010-03-22 23:25:52 +00:00
Daniel Dunbar b31c49a70d MC: Add MCInstFragment, not used yet.
llvm-svn: 99229
2010-03-22 23:16:48 +00:00
Daniel Dunbar a75f01a905 Add a FIXME.
llvm-svn: 99228
2010-03-22 23:16:43 +00:00
Chris Lattner b1c4f62cac Fix PR6673: updating the callback should not clear the map.
llvm-svn: 99227
2010-03-22 23:15:57 +00:00
Rafael Espindola 8d04f0604e A fixed version of r99174 which also includes a test that we emit vtables when
we see an specialization definition ever if we then see a extern template declaration.

llvm-svn: 99226
2010-03-22 23:12:48 +00:00
Devang Patel d22ed622b3 Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.
llvm-svn: 99225
2010-03-22 23:11:36 +00:00
Evan Cheng 9a7b270825 Fix 80 col violation.
llvm-svn: 99224
2010-03-22 22:44:31 +00:00
Devang Patel 53e91f0836 DW_AT_stmt_list attribute attached with a compile unit encodes offset of line number information for this compile unit in debug_line section. This offset is always zero when only one compile unit is emitted in a object file.
llvm-svn: 99223
2010-03-22 22:38:48 +00:00
Ted Kremenek fe449a24a8 Disable the emission of frontend warnings (not errors) under --analyze.
Fixes <rdar://problem/7405601>.

llvm-svn: 99222
2010-03-22 22:32:05 +00:00
Ted Kremenek 28ec56d7dd Improve the diagnostics for the UndefinedAssignmentChecker when an
uninitialized value is used in the LHS of a compound assignment.

llvm-svn: 99221
2010-03-22 22:16:26 +00:00
Daniel Dunbar fdc7ccc4e4 MC: Fix a few more cases we were passing an MCDataFragment when a MCFragment would do, and sprinkle in some const.
llvm-svn: 99218
2010-03-22 21:49:41 +00:00
Daniel Dunbar 20ea02fde2 Simplify.
llvm-svn: 99217
2010-03-22 21:49:38 +00:00
Daniel Dunbar 04047fbe14 MCInst: Add ::dump_pretty.
llvm-svn: 99216
2010-03-22 21:49:34 +00:00
Douglas Gregor 65f7a3f801 Comment the reasons for the strange little dance we do with the main file name for debug information
llvm-svn: 99215
2010-03-22 21:28:29 +00:00
Evan Cheng 14694d3666 Reduce indentation.
llvm-svn: 99214
2010-03-22 21:24:33 +00:00
Chris Lattner 12161d3d1a (re)implement PR6542, accepting and discarding the __gcc_tdiag__
format attribute specifier.

llvm-svn: 99213
2010-03-22 21:08:50 +00:00
Chris Lattner cb5a828a45 merge some tests.
llvm-svn: 99212
2010-03-22 21:05:15 +00:00