Douglas Gregor
86d142a801
For instantiations of static data members of class templates, keep
...
track of the kind of specialization or instantiation. Also, check the
scope of the specialization and ensure that a specialization
declaration without an initializer is not a definition.
llvm-svn: 83533
2009-10-08 07:24:58 +00:00
Chris Lattner
662efc9185
all content split into sections, still much work to be done.
...
llvm-svn: 83532
2009-10-08 07:01:46 +00:00
Chris Lattner
78765deded
remove LoopVR pass. According to Nick:
...
"LoopVR's logic was copied into ScalarEvolution::getUnsignedRange and
::getSignedRange. Please delete LoopVR."
llvm-svn: 83531
2009-10-08 06:42:44 +00:00
Chris Lattner
08c5e1f7ed
checkpoint, this is still not comprehendible.
...
llvm-svn: 83530
2009-10-08 06:27:53 +00:00
Mikhail Glushenkov
bb8386af53
Unbreak the build.
...
Forgot about the need to reconfigure after modifying Base.td.in....
llvm-svn: 83529
2009-10-08 06:03:38 +00:00
Bob Wilson
7d94eb4722
Convert more NEON tests to use FileCheck.
...
llvm-svn: 83528
2009-10-08 06:02:10 +00:00
Bob Wilson
b6b0ab6117
Add codegen support for NEON vst4 intrinsics with <1 x i64> vectors.
...
llvm-svn: 83526
2009-10-08 05:18:18 +00:00
Mikhail Glushenkov
35aadbc05c
Make the Base plugin understand -MF and -MT.
...
llvm-svn: 83525
2009-10-08 04:40:28 +00:00
Mikhail Glushenkov
182765004e
Input files should go before all other options.
...
Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.
llvm-svn: 83524
2009-10-08 04:40:08 +00:00
Jim Grosbach
534ea5ae32
Cleanup up unused R3LiveIn tracking.
...
llvm-svn: 83522
2009-10-08 01:50:26 +00:00
Jim Grosbach
c0615aa17f
Re-enable register scavenging in Thumb1 by default.
...
llvm-svn: 83521
2009-10-08 01:46:59 +00:00
Douglas Gregor
c093c1de2b
Make sure to set the template specialization kind of an explicit
...
template instantiation of a member function of a class template.
FIXME -= 2;
llvm-svn: 83520
2009-10-08 01:19:17 +00:00
Jim Grosbach
48a805bc6c
bugfix. The target may use virtual registers that aren't tracked for re-use but are allocated by the scavenger. The re-use algorithm needs to watch for that.
...
llvm-svn: 83519
2009-10-08 01:09:45 +00:00
Bob Wilson
71387b4b2f
Add codegen support for NEON vst3 intrinsics with <1 x i64> vectors.
...
llvm-svn: 83518
2009-10-08 00:28:28 +00:00
Bob Wilson
d4f5670096
Add codegen support for NEON vst2 intrinsics with <1 x i64> vectors.
...
llvm-svn: 83513
2009-10-08 00:21:01 +00:00
Douglas Gregor
f43472bd84
Compress storage for MemberSpecializationInfo into a single
...
pointer. Yay, PointerIntPair.
llvm-svn: 83512
2009-10-08 00:19:07 +00:00
Douglas Gregor
e3dfd4826b
Only perform an implicit instantiation of a function if its template
...
specialization kind is TSK_ImplicitInstantiation. Previously, we would
end up implicitly instantiating functions that had explicit
specialization declarations or explicit instantiation declarations
(with no corresponding definitions).
llvm-svn: 83511
2009-10-08 00:14:38 +00:00
Jeffrey Yasskin
dafd08ea7e
In instcombine's debug output, avoid printing ADD for instructions that are
...
already on the worklist, and print Visited when an instruction is about to be
visited. Net, on one input, this reduced the output size by at least 9x.
llvm-svn: 83510
2009-10-08 00:12:24 +00:00
Douglas Gregor
d801b06232
Keep track of whether a member function instantiated from a member
...
function of a class template was implicitly instantiated, explicitly
instantiated (declaration or definition), or explicitly
specialized. The same MemberSpecializationInfo structure will be used
for static data members and member classes as well.
llvm-svn: 83509
2009-10-07 23:56:10 +00:00
Bob Wilson
32cc4ec304
Add codegen support for NEON vld4 intrinsics with <1 x i64> vectors.
...
llvm-svn: 83508
2009-10-07 23:54:04 +00:00
Bob Wilson
d1de3b82ff
Convert more NEON tests to use FileCheck.
...
llvm-svn: 83507
2009-10-07 23:47:21 +00:00
Bob Wilson
5ef3c6d9f4
Add codegen support for NEON vld3 intrinsics with <1 x i64> vectors.
...
llvm-svn: 83506
2009-10-07 23:39:57 +00:00
John McCall
c3987485f2
Refactoring around friend class templates. Better error message for friend enums.
...
Don't create a new declaration for friend classes if a declaration already exists.
llvm-svn: 83505
2009-10-07 23:34:25 +00:00
Jeffrey Yasskin
2da7231034
Fix the OProfile part of PR5018. This fixes --without-oprofile, makes
...
it the default, and works around a broken libopagent on some Debian
systems.
llvm-svn: 83503
2009-10-07 23:22:42 +00:00
Bob Wilson
763be1a248
Add codegen support for NEON vld2 intrinsics with <1 x i64> vectors.
...
llvm-svn: 83502
2009-10-07 22:57:01 +00:00
Jim Grosbach
456735c54b
reverting thumb1 scavenging default due to test failure while I figure out what's up.
...
llvm-svn: 83501
2009-10-07 22:49:41 +00:00
Chris Lattner
63fe7ff7d9
second half of lazy liveness removal.
...
llvm-svn: 83500
2009-10-07 22:49:30 +00:00
Dale Johannesen
e32fe29d29
Fix handling of x86 'R' constraint.
...
llvm-svn: 83499
2009-10-07 22:47:20 +00:00
Douglas Gregor
5c0405d484
Type checking for specializations of member functions of class
...
templates. Previously, these weren't handled as specializations at
all. The AST for representing these as specializations is still a work
in progress.
llvm-svn: 83498
2009-10-07 22:35:40 +00:00
Bob Wilson
6d850f294d
Convert more NEON tests to use FileCheck.
...
llvm-svn: 83497
2009-10-07 22:30:19 +00:00
Jim Grosbach
267fa622fa
Enable thumb1 register scavenging by default.
...
llvm-svn: 83496
2009-10-07 22:26:31 +00:00
Anders Carlsson
6c966c458a
Handle MemberExprs in ResolveAddressOfOverloadedFunction.
...
llvm-svn: 83495
2009-10-07 22:26:29 +00:00
Jim Grosbach
37cf79e5a6
Enable thumb1 register scavenging by default.
...
llvm-svn: 83494
2009-10-07 22:26:14 +00:00
John McCall
fe8dc76f80
Dead code elimination.
...
llvm-svn: 83492
2009-10-07 22:04:40 +00:00
Devang Patel
55571bd7bd
Extract subprogram and compile unit information from the debug info attached to an instruction.
...
llvm-svn: 83491
2009-10-07 22:04:08 +00:00
Bob Wilson
50820a2677
Add some instruction encoding bits for NEON load/store instructions.
...
llvm-svn: 83490
2009-10-07 21:53:04 +00:00
Eric Christopher
5b741f3d14
80-column and whitespace fixes.
...
llvm-svn: 83489
2009-10-07 21:14:25 +00:00
Kevin Enderby
818b6b96cb
Fixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so
...
that a symbol stub section with no attributes can be parsed as in:
.section __TEXT,__picsymbolstub4,symbol_stubs,none,16
llvm-svn: 83488
2009-10-07 20:57:20 +00:00
Bob Wilson
70f004d9e6
Convert test to FileCheck.
...
llvm-svn: 83487
2009-10-07 20:51:42 +00:00
Bob Wilson
e7ef4a9a6b
Add codegen support for NEON vst4 intrinsics with 128-bit vectors.
...
llvm-svn: 83486
2009-10-07 20:49:18 +00:00
Fariborz Jahanian
3ee21f1b91
Fixes problem in finding visible convertion functions of a class
...
where matching conversion types in base classes were still visible.
Plus refactoring and cleanup.
Added a test case.
llvm-svn: 83485
2009-10-07 20:43:36 +00:00
Bob Wilson
23464866ad
Add codegen support for NEON vst3 intrinsics with 128-bit vectors.
...
llvm-svn: 83484
2009-10-07 20:30:08 +00:00
Jim Grosbach
63849cbd32
grammar
...
llvm-svn: 83483
2009-10-07 19:08:36 +00:00
Bob Wilson
3dcb5377ef
Add codegen support for NEON vst2 intrinsics with 128-bit vectors.
...
llvm-svn: 83482
2009-10-07 18:47:39 +00:00
Jim Grosbach
2af2253e49
add initializers for clarity. Add missing assignment of PrevLastUseOp.
...
llvm-svn: 83481
2009-10-07 18:44:24 +00:00
Owen Anderson
de1cb40eb4
Remove LazyLiveness from the tree. It doesn't work right now, and I'm not going to have the time
...
to finish it any time soon. If someone's interested it, they can resurrect it from SVN history.
llvm-svn: 83480
2009-10-07 18:40:17 +00:00
Bob Wilson
ab3a9474d6
Add codegen support for NEON vld4 intrinsics with 128-bit vectors.
...
llvm-svn: 83479
2009-10-07 18:09:32 +00:00
Kevin Enderby
2207e5fc7b
Add another bit of the ARM target assembler to llvm-mc to parse registers
...
with writeback, things like "sp!", etc. Also added some more stuff to the
temporarily hacked methods ARMAsmParser::MatchRegisterName and
ARMAsmParser::MatchInstruction to allow more parser testing.
llvm-svn: 83477
2009-10-07 18:01:35 +00:00
Dan Gohman
9b60992120
Replace some code for aggressive-remat with MachineInstr::isInvariantLoad, and
...
teach it how to recognize invariant physical registers.
llvm-svn: 83476
2009-10-07 17:47:20 +00:00
Dan Gohman
be8137b0b4
Replace TargetInstrInfo::isInvariantLoad and its target-specific
...
implementations with a new MachineInstr::isInvariantLoad, which uses
MachineMemOperands and is target-independent. This brings MachineLICM
and other functionality to targets which previously lacked an
isInvariantLoad implementation.
llvm-svn: 83475
2009-10-07 17:38:06 +00:00