Douglas Gregor
5112157958
Each non-local class instantiation is its own local instantiation
...
scope. Fixes PR6619.
llvm-svn: 99377
2010-03-24 01:33:17 +00:00
Johnny Chen
aa9b1c81a7
Mark VMOVDneon and VMOVQ as having the N2RegFrm form to help the disassembler.
...
llvm-svn: 99376
2010-03-24 01:29:25 +00:00
Chris Lattner
9096bcdeda
Switch INC8r to defining its pattern in terms of X86inc_flag
...
and defining the add pattern with Pat<>, eliminating a use of
parallel.
llvm-svn: 99375
2010-03-24 01:02:12 +00:00
Anders Carlsson
95e0223baf
Remove old thunks code.
...
llvm-svn: 99374
2010-03-24 00:57:54 +00:00
Johnny Chen
9b1f60adec
Renamed NVdVmImmFrm and NVdVmVCVTFrm to the more proper N2RegFrm and NVCVTFrm,
...
respectively, and add some more comment.
llvm-svn: 99373
2010-03-24 00:57:50 +00:00
Dan Gohman
b92c8c849b
Remove the ConvertActions table and associated code, which is unused.
...
llvm-svn: 99372
2010-03-24 00:53:38 +00:00
Chris Lattner
918a2c8661
Add a method to get a StringMapEntry from a pointer to the string
...
data it contains (similar to GetStringMapEntryFromValue).
Patch by Greg Clayton!
llvm-svn: 99371
2010-03-24 00:53:27 +00:00
Chris Lattner
f9c8bec6c5
switch SDTBinaryArithWithFlags to be a multiple-result node as well.
...
llvm-svn: 99370
2010-03-24 00:49:29 +00:00
Chris Lattner
db1ac3cf3e
Switch SDTUnaryArithWithFlags to being modeled as a two-result
...
ISD node. The only change in the generated isel code are comments
like:
< // Src: (X86dec_flag:i16 GR16:i16:$src)
---
> // Src: (X86dec_flag:i16:i32 GR16:i16:$src)
because now it knows that X86dec_flag returns both an i16 (for the result)
and an i32 (for EFLAGS) in this case. Wewt.
llvm-svn: 99369
2010-03-24 00:47:47 +00:00
Douglas Gregor
f9f54eab43
Make sure to properly track the anonymous namespace that lives inside
...
each namespace, even when the outer namespace has multiple
definitions. As part of this, collapsed two pointers worth of storage
(original namespace and inner anonymous namespace) into a single
pointer with a distinguishing bit, since the two are mutually
exclusive, saving a pointer per NamespaceDecl. Fixes PR6620.
llvm-svn: 99368
2010-03-24 00:46:35 +00:00
Anders Carlsson
68fdb871dc
Flip the switch and use the new vtable layout code for thunks by default. Add a thunks.cpp test.
...
llvm-svn: 99367
2010-03-24 00:41:37 +00:00
Chris Lattner
6c2d178957
add plumbing for handling multiple result nodes
...
in some more places.
llvm-svn: 99366
2010-03-24 00:41:19 +00:00
Anders Carlsson
bad991dbfd
Add CodeGenFunction::GenerateThunk and implement it.
...
llvm-svn: 99365
2010-03-24 00:39:18 +00:00
Anders Carlsson
4a3cdf5ac7
Minor cleanup.
...
llvm-svn: 99364
2010-03-24 00:35:44 +00:00
Anders Carlsson
3537413c4a
Remove parts of virt.cpp
...
llvm-svn: 99363
2010-03-24 00:32:03 +00:00
Dan Gohman
09a9fbabfa
Fix coding style.
...
llvm-svn: 99362
2010-03-24 00:27:49 +00:00
Dan Gohman
ee788af217
Generalize findNearestCommonDominator to work on post-dominators,
...
based on a suggestion by Jochen Wilhelmy.
llvm-svn: 99361
2010-03-24 00:22:24 +00:00
Chris Lattner
cca83a7aa4
remove 64-bit or_is_add parallels.
...
llvm-svn: 99360
2010-03-24 00:16:52 +00:00
Chris Lattner
f5e5004327
remove useless or_is_add parallel's.
...
llvm-svn: 99359
2010-03-24 00:15:23 +00:00
Chris Lattner
237d38e748
reduce nesting.
...
llvm-svn: 99358
2010-03-24 00:12:57 +00:00
Chris Lattner
38c99662ff
implement SDTCisVTSmallerThanOp with EnforceSmallerThan
...
instead of reimplementing it wrong and poorly.
llvm-svn: 99357
2010-03-24 00:06:46 +00:00
Jim Grosbach
e0874fa02f
try being more permissive for if-conversion on ARM V7. see what the nightly
...
test run permformance numbers say as to whether it helps.
llvm-svn: 99355
2010-03-24 00:03:13 +00:00
Chris Lattner
57ebf63da7
bring sanity to EnforceVectorEltType
...
llvm-svn: 99354
2010-03-24 00:01:16 +00:00
Chris Lattner
6070ee2a58
Cleanup getImplicitType
...
llvm-svn: 99353
2010-03-23 23:50:31 +00:00
Jakob Stoklund Olesen
a86ccbfe88
Revert "Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings."
...
This reverts commit 99345. It was breaking buildbots.
llvm-svn: 99352
2010-03-23 23:48:51 +00:00
Douglas Gregor
4165bd6772
Implement computation of the final overriders for each virtual
...
function within a class hierarchy (C++ [class.virtual]p2).
We use the final-overrider computation to determine when a particular
class is ill-formed because it has multiple final overriders for a
given virtual function (e.g., because two virtual functions override
the same virtual function in the same virtual base class). Fixes
PR5973.
We also use the final-overrider computation to determine which virtual
member functions are pure when determining whether a class is
abstract or diagnosing the improper use of an abstract class. The
prior approach to determining whether there were any pure virtual
functions in a class didn't cope with virtual base class subobjects
properly, and could not easily be fixed to deal with the oddities of
subobject hiding. Fixes PR6631.
llvm-svn: 99351
2010-03-23 23:47:56 +00:00
Daniel Dunbar
5376c2a431
MC: Sprinkle in some more interesting statistics.
...
llvm-svn: 99350
2010-03-23 23:47:14 +00:00
Daniel Dunbar
b09b8906cb
llvm-mc: Support -filetype=null, for timing purposes.
...
llvm-svn: 99349
2010-03-23 23:47:12 +00:00
Daniel Dunbar
5cfb58719d
llvm-mc: Fast path EvaluateAbsolute of constants.
...
llvm-svn: 99348
2010-03-23 23:47:07 +00:00
Chris Lattner
b424faa09c
reject void in intrinsic type lists.
...
llvm-svn: 99347
2010-03-23 23:46:27 +00:00
Chris Lattner
3d9ec39116
[llvm_void_ty] is no longer needed for result types,
...
just use an empty result list.
llvm-svn: 99346
2010-03-23 23:46:07 +00:00
Jakob Stoklund Olesen
31da45b7af
Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings.
...
This is work in progress. So far, SSE execution domain tables are added to
X86InstrInfo, and a skeleton pass is enabled with -sse-domain-fix.
llvm-svn: 99345
2010-03-23 23:14:44 +00:00
Johnny Chen
6a64320da8
Renamed NVdImmFrm to N1RegModImmFrm.
...
llvm-svn: 99344
2010-03-23 23:09:14 +00:00
Bill Wendling
703d0b978a
Remove if DISABLED not if not DISABLED...
...
llvm-svn: 99343
2010-03-23 23:09:03 +00:00
Chris Lattner
00eeac4179
add some accessors to callsite/callinst/invokeinst to check
...
for the noinline attribute, and make the inliner refuse to
inline a call site when the call site is marked noinline even
if the callee isn't. This fixes PR6682.
llvm-svn: 99341
2010-03-23 22:59:07 +00:00
Dan Gohman
c53d5d6bb4
Revert 99335. getTypeToExpandTo's iterative behavior is actually
...
needed here.
llvm-svn: 99339
2010-03-23 22:44:42 +00:00
Bill Wendling
c941619a73
Use "DISABLE_EDIS" to disable building "edis" explicitly. Don't build it for
...
Apple-style builds.
llvm-svn: 99336
2010-03-23 22:15:33 +00:00
Dan Gohman
42f8ddeb11
Remove getTypeToExpandTo, since it isn't adding much value
...
beyond just calling getTypeToTransformTo.
llvm-svn: 99335
2010-03-23 22:15:31 +00:00
Chris Lattner
7d32580e5a
make sure to delete the llvm module before calling llvm_shutdown,
...
this fixes crashes in error cases, PR6683
llvm-svn: 99334
2010-03-23 21:59:43 +00:00
Dan Gohman
dcddd5701c
Don't back past debug info intrinsics; SCEVExpander's strategy
...
for ignoring debug info intrinsics everywhere else is to advance
past them, and it needs to be consistent.
llvm-svn: 99332
2010-03-23 21:53:22 +00:00
Chris Lattner
ae12e35004
fix an infinite loop in Module::getEndianness, PR6684
...
patch by Alex Mac!
llvm-svn: 99330
2010-03-23 21:48:41 +00:00
Johnny Chen
8a687233e3
Fix typo in the comment for N3VX class.
...
llvm-svn: 99328
2010-03-23 21:35:03 +00:00
Johnny Chen
5be6d5a6a9
Add comment.
...
llvm-svn: 99327
2010-03-23 21:30:12 +00:00
Johnny Chen
5dbf39285d
Add New NEON Format NVdVmVCVTFrm.
...
Converted some of the NEON vcvt instructions to this format.
llvm-svn: 99326
2010-03-23 21:25:38 +00:00
Bill Wendling
04803e8ef6
Skip debugging intrinsics when sinking unused invariants.
...
llvm-svn: 99324
2010-03-23 21:15:59 +00:00
Johnny Chen
020023a3fa
Add New NEON Format NVdVmImmFrm.
...
llvm-svn: 99322
2010-03-23 20:40:44 +00:00
Evan Cheng
77be42a07f
Ignore dbg_value's.
...
llvm-svn: 99321
2010-03-23 20:36:12 +00:00
Evan Cheng
b6dee6e015
Teach isSafeToClobberEFLAGS to ignore dbg_value's. We need a MachineBasicBlock::iterator that does this automatically?
...
llvm-svn: 99320
2010-03-23 20:35:45 +00:00
Evan Cheng
c7d721aa03
Code clean up.
...
llvm-svn: 99319
2010-03-23 20:33:48 +00:00
Fariborz Jahanian
519675bbf5
Add some missing files to xcode project
...
llvm-svn: 99318
2010-03-23 20:23:06 +00:00