Anders Carlsson
|
7bb7076b51
|
Change getIndex to return false if the index wasn't found. Avoids an extra hash lookup.
llvm-svn: 90568
|
2009-12-04 15:49:02 +00:00 |
Eli Friedman
|
65d87222b2
|
Minor cleanup; no functionality change.
llvm-svn: 90565
|
2009-12-04 08:52:11 +00:00 |
Eli Friedman
|
81fb0d2656
|
Remove unused argument.
llvm-svn: 90563
|
2009-12-04 08:40:51 +00:00 |
Eli Friedman
|
c07aebee90
|
Eliminate submethods vector.
llvm-svn: 90562
|
2009-12-04 08:36:58 +00:00 |
Eli Friedman
|
3d2e9de337
|
Eliminate the inner loop in VtableBuilder::OverrideMethod.
llvm-svn: 90561
|
2009-12-04 08:34:14 +00:00 |
Anders Carlsson
|
f3935b4d4b
|
Make sure that overridden method decls are always canonical.
llvm-svn: 90542
|
2009-12-04 05:51:56 +00:00 |
Eli Friedman
|
94bc2dade6
|
Fix regression in vtable improvements.
llvm-svn: 90540
|
2009-12-04 04:30:03 +00:00 |
Eli Friedman
|
b05eb963e0
|
Rename method to something easier to search for.
llvm-svn: 90536
|
2009-12-04 03:54:56 +00:00 |
Anders Carlsson
|
a93e980fbc
|
More work in preparation of getting rid of the submethods loop.
llvm-svn: 90535
|
2009-12-04 03:52:52 +00:00 |
Anders Carlsson
|
f2f31f4371
|
Remove an unused member variable.
llvm-svn: 90534
|
2009-12-04 03:46:21 +00:00 |
Anders Carlsson
|
e609636e0d
|
Add a way to get the index of a method. Assert that we have the same index for now.
llvm-svn: 90533
|
2009-12-04 03:41:37 +00:00 |
Anders Carlsson
|
b07567c315
|
Add a premature optimization.
llvm-svn: 90532
|
2009-12-04 03:07:26 +00:00 |
Anders Carlsson
|
50f147460a
|
Add the method directly to the vtable.
llvm-svn: 90531
|
2009-12-04 03:06:03 +00:00 |
Anders Carlsson
|
79bce40365
|
Get rid of the PureVirtualMethods map.
llvm-svn: 90530
|
2009-12-04 02:58:12 +00:00 |
Anders Carlsson
|
ddf42c8d80
|
Move handling of pure virtual methods to AppendMethods (and rename it to AppendMethodsToVtable).
llvm-svn: 90529
|
2009-12-04 02:56:03 +00:00 |
Anders Carlsson
|
5b3ea9bf1c
|
Move covariant thunk handling to AppendMethods too.
llvm-svn: 90528
|
2009-12-04 02:52:22 +00:00 |
Anders Carlsson
|
86809cd8ab
|
Move 'this' pointer adjustment thunks to AppendMethods.
llvm-svn: 90527
|
2009-12-04 02:43:50 +00:00 |
Anders Carlsson
|
495634e5ac
|
Factor appending methods to a vtable out into a separate function.
llvm-svn: 90525
|
2009-12-04 02:39:04 +00:00 |
Anders Carlsson
|
4c837d258f
|
Get rid of the Thunks struct too.
llvm-svn: 90524
|
2009-12-04 02:26:15 +00:00 |
Anders Carlsson
|
c521f952d6
|
Remove the CovariantThunk struct.
llvm-svn: 90523
|
2009-12-04 02:22:02 +00:00 |
Anders Carlsson
|
597c776c41
|
Remove the GlobalDecl from the Thunk as well.
llvm-svn: 90522
|
2009-12-04 02:14:12 +00:00 |
Anders Carlsson
|
8c889abc1a
|
Remove the GlobalDecl from the CovariantThunk struct, we can just look it up in the Methods table now.
llvm-svn: 90519
|
2009-12-04 02:11:21 +00:00 |
Anders Carlsson
|
cdf1898086
|
Start populating the VtableMembers structure.
llvm-svn: 90517
|
2009-12-04 02:08:24 +00:00 |
Anders Carlsson
|
a84b6e85f0
|
Add a data structure for efficient storing of vtable methods. Not used yet.
llvm-svn: 90515
|
2009-12-04 02:01:07 +00:00 |
Mike Stump
|
cdeb800152
|
Eli, I copied my code from this code... Let's fix the souce of the bad idea!
Thanks.
llvm-svn: 90458
|
2009-12-03 16:55:20 +00:00 |
Anders Carlsson
|
c6089fda20
|
Attempt to fix the MSVC build.
llvm-svn: 90427
|
2009-12-03 07:30:40 +00:00 |
Mike Stump
|
e2d4a2c3a8
|
Add support for thunking dtors. Oh why does this make my head hurt?
llvm-svn: 90409
|
2009-12-03 03:47:56 +00:00 |
Anders Carlsson
|
dabfa3cd8b
|
Revert r90402 for now, virt.cpp is failing.
llvm-svn: 90406
|
2009-12-03 03:28:24 +00:00 |
Anders Carlsson
|
e692f7c309
|
Use Eli's ComputeThunkAdjustment for calculating the return adjustment.
llvm-svn: 90402
|
2009-12-03 03:15:31 +00:00 |
Anders Carlsson
|
80bc5d5d04
|
Remove the index from the Thunk struct.
llvm-svn: 90400
|
2009-12-03 02:41:55 +00:00 |
Anders Carlsson
|
29a1f751b3
|
Change the Thunks map to use the vtable index as the key.
llvm-svn: 90399
|
2009-12-03 02:39:59 +00:00 |
Anders Carlsson
|
0e1e7632bc
|
Add the global decl to the Thunk struct.
llvm-svn: 90398
|
2009-12-03 02:36:40 +00:00 |
Anders Carlsson
|
9f98f7a9e5
|
Remove unused struct fields.
llvm-svn: 90397
|
2009-12-03 02:34:59 +00:00 |
Anders Carlsson
|
657f139abe
|
Delay computing the return adjustments for covariant thunks until when they are added to the vtable.
llvm-svn: 90396
|
2009-12-03 02:32:59 +00:00 |
Anders Carlsson
|
2ca285fc5c
|
No need to create the covariant thunk in both places now.
llvm-svn: 90394
|
2009-12-03 02:22:59 +00:00 |
Anders Carlsson
|
1157e8fc68
|
Whoops, forgot to save :)
llvm-svn: 90393
|
2009-12-03 02:20:26 +00:00 |
Anders Carlsson
|
06c14b6f65
|
Remove the index field from the CovariantThunk structure.
llvm-svn: 90392
|
2009-12-03 02:16:14 +00:00 |
Anders Carlsson
|
73295f96c5
|
Change the CovariantThunk map to use the vtable index as its key.
llvm-svn: 90391
|
2009-12-03 02:12:03 +00:00 |
Anders Carlsson
|
c38b40a709
|
Store a GlobalDecl in the return adjustment.
llvm-svn: 90387
|
2009-12-03 02:03:29 +00:00 |
Anders Carlsson
|
2bd3c0fa34
|
Do not include the 'this' pointer adjustment in the covariant return type. Instead, store it in the (now oddly named) Thunks map.
llvm-svn: 90386
|
2009-12-03 01:58:20 +00:00 |
Anders Carlsson
|
ca1bf68cfb
|
Move VtableBuilder::OverrideMethod out of line in preparation of other changes to it. No functionality change.
llvm-svn: 90382
|
2009-12-03 01:54:02 +00:00 |
Mike Stump
|
8a96d3a355
|
Turn off for now.
llvm-svn: 90339
|
2009-12-02 19:50:41 +00:00 |
Mike Stump
|
ae1b85d984
|
Put the Builder classes into the anonymous namespace.
llvm-svn: 90335
|
2009-12-02 19:07:44 +00:00 |
Mike Stump
|
c01c2b87e8
|
Change rtti/Rtti to RTTI, as it is an acronym.
llvm-svn: 90334
|
2009-12-02 18:57:08 +00:00 |
Anders Carlsson
|
b1d3f7c909
|
Have ASTRecordLayout keep track of the key function, in preparation of fixing a synthetic ctor/dtor bug.
llvm-svn: 90168
|
2009-11-30 23:41:22 +00:00 |
Anders Carlsson
|
c920fa2a74
|
Fix an assert.
llvm-svn: 90149
|
2009-11-30 19:43:26 +00:00 |
Eli Friedman
|
03aa2f1262
|
Minor cleanup (no functionality change).
llvm-svn: 90105
|
2009-11-30 01:19:33 +00:00 |
Benjamin Kramer
|
337e3a5fea
|
Remove remaining VISIBILITY_HIDDEN from anonymous namespaces.
llvm-svn: 90044
|
2009-11-28 19:45:26 +00:00 |
Anders Carlsson
|
548cc9d143
|
We always want to create a virtual function pointer entry if the path from the derived return value to the base overridden return value contains a virtual base class.
llvm-svn: 90024
|
2009-11-28 03:03:52 +00:00 |
Anders Carlsson
|
d598850203
|
Move the vtable builder to an anonymous namespace.
llvm-svn: 90021
|
2009-11-27 22:21:51 +00:00 |