Douglas Gregor
1e880602ad
Make a note of improvements to function templates
...
llvm-svn: 74360
2009-06-27 00:08:54 +00:00
Fariborz Jahanian
24a175b37c
Patch to mark destructors when they are used.
...
llvm-svn: 74359
2009-06-26 23:49:16 +00:00
Anders Carlsson
bae2737202
Fix test.
...
llvm-svn: 74358
2009-06-26 23:44:14 +00:00
David Goodwin
5d8b6eef5a
Remove outdated comment.
...
llvm-svn: 74357
2009-06-26 23:39:02 +00:00
Douglas Gregor
fc516c93c1
Set the rest of the flags we need to perform template argument
...
deduction using a base class of the argument type. No actual
functionality change; this is just a hook.
llvm-svn: 74356
2009-06-26 23:27:24 +00:00
David Goodwin
5285817490
When possible, use "mvn ra, rb" instead of "eor ra, rb, -1" because mvn has a narrow version and eor(i) does not.
...
llvm-svn: 74355
2009-06-26 23:13:13 +00:00
Douglas Gregor
cf0b47d179
During template argument deduction from a function call, allow
...
deduction from pointer and pointer-to-member types to work even in the
presence of a qualification conversion (C++ [temp.deduct.type]p3
bullet 2).
llvm-svn: 74354
2009-06-26 23:10:12 +00:00
Dan Gohman
d3b930d426
Add some testcases for some of the recent ScalarEvolution bug fixes.
...
llvm-svn: 74353
2009-06-26 22:54:11 +00:00
Dan Gohman
daafbe6168
Incorporate the insertion point into the key of SCEVExpander's CSE map.
...
This helps it avoid reusing an instruction that doesn't dominate all
of the users, in cases where the original instruction was inserted
before all of the users were known. This may result in redundant
expansions of sub-expressions that depend on loop-unpredictable values
in some cases, however this isn't very common, and it primarily impacts
IndVarSimplify, so GVN can be expected to clean these up.
This eliminates the need for IndVarSimplify's FixUsesBeforeDefs,
which fixes several bugs.
llvm-svn: 74352
2009-06-26 22:53:46 +00:00
Devang Patel
0f2eb5b9f7
Remove unused routines.
...
llvm-svn: 74351
2009-06-26 22:53:22 +00:00
David Greene
8f6f72cc99
Add feature flags for AVX and FMA and fix some SSE4A feature flag
...
initialization problems.
llvm-svn: 74350
2009-06-26 22:46:54 +00:00
David Goodwin
3aaa751712
Thumb-2 tests
...
llvm-svn: 74345
2009-06-26 22:37:07 +00:00
Dan Gohman
cc030b7e51
Fix ScalarEvolution::getAddRecExpr's code which canonicalized the
...
nesting order of nested AddRec expressions to skip the transformation
if it would introduce an AddRec with operands not loop-invariant
with respect to its loop.
llvm-svn: 74343
2009-06-26 22:36:20 +00:00
Daniel Dunbar
2d83134ca6
NewNightlyTest.pl: Support -submit-aux with -no-submit (run that aux script,
...
instead of skipping).
llvm-svn: 74341
2009-06-26 22:33:28 +00:00
Bob Wilson
ab5354747e
Add missing argument for vtbx intrinsic.
...
llvm-svn: 74340
2009-06-26 22:27:22 +00:00
Anders Carlsson
94ff77a356
More auto work.
...
llvm-svn: 74339
2009-06-26 22:18:59 +00:00
Dan Gohman
06a4e273be
Fix SCEVAddRecExpr::isLoopInvariant to test if all of its operands
...
are loop invariant, not just the start operand.
llvm-svn: 74338
2009-06-26 22:17:21 +00:00
Chris Lattner
b5c2639f83
remove unwind info, add test for asmprinting of jump table labels with (%rip)
...
llvm-svn: 74337
2009-06-26 22:16:49 +00:00
Evan Cheng
07b016856d
Add x86 support for 'n' inline asm modifier. This will be handled target independently as part of MC work.
...
llvm-svn: 74336
2009-06-26 22:00:19 +00:00
Anders Carlsson
f82bb6b4ed
Fix test.
...
llvm-svn: 74335
2009-06-26 21:54:43 +00:00
Chris Lattner
3ef702e974
simplify printing of MO_ExternalSymbol in a non-pcrel context.
...
llvm-svn: 74334
2009-06-26 21:47:27 +00:00
Bob Wilson
aa5b92a8c8
Add intrinsics for ARM NEON vtbl and vtbx operations.
...
llvm-svn: 74333
2009-06-26 21:45:05 +00:00
Owen Anderson
c043d13aeb
Privatize some data.
...
llvm-svn: 74332
2009-06-26 21:45:04 +00:00
Douglas Gregor
febe45a727
A little template argument deduction test uncovered an "oops". As part
...
of template instantiation, we were dropping cv-qualifiers on the
instantiated type in a few places. This change reshuffles the
type-instantiation code a little bit so that there's a single place
where we add qualifiers to the instantiated type, so that we won't end
up with this same bug in the future.
llvm-svn: 74331
2009-06-26 21:40:05 +00:00
Owen Anderson
01ad6605c0
Constify this value.
...
llvm-svn: 74330
2009-06-26 21:39:56 +00:00
Anton Korobeynikov
99152f3a2c
Split thumb-related stuff into separate classes.
...
Step 1: ARMInstructionInfo => {ARM,Thumb}InstructionInfo
llvm-svn: 74329
2009-06-26 21:28:53 +00:00
Chris Lattner
40bc649ce9
add %rip to the GR64 register class. Lets avoid allocating it to anything though! :)
...
llvm-svn: 74328
2009-06-26 21:25:00 +00:00
Chris Lattner
49ed726e46
Move all the TLS processing logic into isel, don't do it in asmprinter at all.
...
llvm-svn: 74327
2009-06-26 21:20:29 +00:00
Chris Lattner
899abc4655
make sure to propagate operand flags in SelectTLSADDRAddr properly.
...
llvm-svn: 74326
2009-06-26 21:18:37 +00:00
Chris Lattner
bc60c14c97
fix a really subtle bug in the cross section of aliases and TLS:
...
the SelectionDAG::getGlobalAddress function properly looks through
aliases to determine thread-localness, but then passes the GV* down
to GlobalAddressSDNode::GlobalAddressSDNode which does not. Instead
of passing down isTarget, just pass down the predetermined node
opcode. This fixes some assertions with out of tree changes I'm
working on.
llvm-svn: 74325
2009-06-26 21:14:05 +00:00
Nate Begeman
ea12f6ebb5
OpenCL 1.0 Support: fix a bug with lvalue swizzles
...
llvm-svn: 74324
2009-06-26 21:12:50 +00:00
Douglas Gregor
705c900d23
Template argument deduction is no longer responsible for checking
...
non-dependent parameter types. Instead, class template partial
specializations perform a final check of all of the instantiated
arguments. This model is cleaner, and works better for function
templates where the "final check" occurs during overload resolution.
Also, cope with cv-qualifiers when the parameter type was originally a
reference type, so that the deduced argument can be more qualified
than the transformed argument.
llvm-svn: 74323
2009-06-26 20:57:09 +00:00
David Goodwin
aa294c5593
Thumb-2 has CLZ.
...
llvm-svn: 74322
2009-06-26 20:47:43 +00:00
David Goodwin
35ee722d42
Use "adcs/sbcs" only when the carry-out is live, otherwise use "adc/sbc".
...
llvm-svn: 74321
2009-06-26 20:45:56 +00:00
Jeffrey Yasskin
a363fffe27
Delete LoopPass::runOnFunctionBody. It was never used or implemented.
...
llvm-svn: 74320
2009-06-26 20:42:50 +00:00
Owen Anderson
4c472e1cfa
Get rid of these cache variables, which are a holdover from the days when
...
we had multiple type planes and these lookups were expensive.
llvm-svn: 74319
2009-06-26 20:33:47 +00:00
Owen Anderson
f92b432385
Make this const.
...
llvm-svn: 74317
2009-06-26 20:21:18 +00:00
Chris Lattner
76b3c06793
minor cleanup/framework changes.
...
llvm-svn: 74316
2009-06-26 20:00:05 +00:00
Owen Anderson
304d85be8c
Privatize some variables.
...
llvm-svn: 74315
2009-06-26 19:48:37 +00:00
Anders Carlsson
6bd992d1c3
Can't have arrays of auto.
...
llvm-svn: 74314
2009-06-26 19:33:28 +00:00
Chris Lattner
2ed6a9d7bd
move magic for PIC constantpool references from asmprinter to isel.
...
llvm-svn: 74313
2009-06-26 19:22:52 +00:00
Anders Carlsson
364035d1a8
An auto variable can't appear in its own initializer.
...
llvm-svn: 74312
2009-06-26 19:16:07 +00:00
Chris Lattner
7f82a19fbf
implement DOTGraphTraits<SelectionDAG*>::getNodeLabel in terms of
...
SDNode::print_details to eliminate a ton of near-duplicate code.
llvm-svn: 74311
2009-06-26 19:06:10 +00:00
Chris Lattner
08d734448e
use jump table operand flags in asm printer instead of "magic predicates"
...
llvm-svn: 74310
2009-06-26 18:55:01 +00:00
Anders Carlsson
082acded44
Implement enough of the 'auto' keyword so we can claim to support N2546.
...
llvm-svn: 74307
2009-06-26 18:41:36 +00:00
Daniel Dunbar
a720af1370
More spelling Count as count.
...
llvm-svn: 74306
2009-06-26 18:35:07 +00:00
Devang Patel
2872df839d
typo
...
llvm-svn: 74305
2009-06-26 18:33:42 +00:00
Devang Patel
0d425350b2
Revrt PR4228 fix for now.
...
llvm-svn: 74304
2009-06-26 18:32:22 +00:00
Daniel Dunbar
c7d0e6525d
Simplify, and fix a possible crash (never happens however, because we don't ever
...
take this path with non-builtin floating point types).
llvm-svn: 74303
2009-06-26 18:32:06 +00:00
Daniel Dunbar
e5ebf02e0e
Fix bar title in graphs.
...
llvm-svn: 74302
2009-06-26 18:29:52 +00:00