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