Dan Gohman
6c0c21954c
Fix a typo in a comment.
...
llvm-svn: 78362
2009-08-07 01:26:06 +00:00
Evan Cheng
b972e5633f
It turns out most of the thumb2 instructions are not allowed to touch SP. The semantics of such instructions are unpredictable. We have just been lucky that tests have been passing.
...
This patch takes pain to ensure all the PEI lowering code does the right thing when lowering frame indices, insert code to manipulate stack pointers, etc. It's also custom lowering dynamic stack alloc into pseudo instructions so we can insert the right instructions at scheduling time.
This fixes PR4659 and PR4682.
llvm-svn: 78361
2009-08-07 00:34:42 +00:00
Evan Cheng
10af5d621c
Code clean up.
...
llvm-svn: 78360
2009-08-07 00:28:58 +00:00
Lang Hames
8f0d67536e
Added legal stuff, fixed some formatting issues. Removed the graph generator stuff as it was only meant for debugging the solver.
...
llvm-svn: 78359
2009-08-07 00:25:12 +00:00
Dale Johannesen
3a127ce1d8
Add the testcase from PR 4668. This works at the
...
moment, but it's a fragile area.
llvm-svn: 78358
2009-08-07 00:04:42 +00:00
Mike Stump
7c32eab164
Add support for vcall generation for vtables for virtual bases. WIP.
...
llvm-svn: 78357
2009-08-06 23:48:32 +00:00
Fariborz Jahanian
9301b24c0a
Patch toward synthesizing copy constructors.
...
Work in progress.
llvm-svn: 78355
2009-08-06 23:38:16 +00:00
Lang Hames
88fae6f9c9
New C++ PBQP solver. Currently about as fast (read _slow_) as the old C based solver, but I'll be working to improve that. The PBQP allocator has been updated to use the new solver.
...
llvm-svn: 78354
2009-08-06 23:32:48 +00:00
Dale Johannesen
15a5fad94b
Fix PR 4626, a crash in branch folding after OptimizeBlock
...
produced a CFG it wasn't prepared for.
llvm-svn: 78351
2009-08-06 22:56:40 +00:00
Dale Johannesen
352fa92995
Use stripPointerCasts instead of partially rewriting it.
...
llvm-svn: 78350
2009-08-06 22:45:51 +00:00
Ted Kremenek
040e3b91da
Fix a few more false positives involving RegionStore and unions, but this time
...
with array accesses. In the process, refactor some common logic in
RetrieveElement() and RetrieveField() into RetrieveFieldOrElementCommon().
llvm-svn: 78349
2009-08-06 22:33:36 +00:00
Douglas Gregor
766b0bbe61
Minor refactoring to introduce a new transformation function,
...
TransformStmt, into the tree transformer.
llvm-svn: 78347
2009-08-06 22:17:10 +00:00
Mike Stump
e6b39f5ca3
Almost forgot to turn on 32-bit test.
...
llvm-svn: 78346
2009-08-06 22:02:55 +00:00
Jakob Stoklund Olesen
8166ca3bdc
Vanity.
...
llvm-svn: 78345
2009-08-06 21:54:23 +00:00
Mike Stump
52aee0f3d9
Testcase for recent checkin.
...
llvm-svn: 78344
2009-08-06 21:53:24 +00:00
Mike Stump
3e62d00271
Also generate the rtti field for virtual bases for vtables. Turn on
...
rtti so we can properly test it. Refactor code a little. Still a
work in progress.
llvm-svn: 78343
2009-08-06 21:49:36 +00:00
Ted Kremenek
2f6eb14af4
Fix a couple false positive "uninitialized value" warnings with RegionStore
...
involving reasoning about unions (which we don't handle yet).
llvm-svn: 78342
2009-08-06 21:43:54 +00:00
Nicolas Geoffray
edfdd07a79
Output the new StructType constructor, which takes the context of the
...
module as first argument.
llvm-svn: 78340
2009-08-06 21:31:35 +00:00
John McCall
2c5206d22e
Drop the friend-inner-class diagnostic from an extwarn to an ext and don't
...
guard its report on GNUMode.
llvm-svn: 78338
2009-08-06 21:21:21 +00:00
Jakob Stoklund Olesen
1e455c0f3b
Get rid of RegScavenger::backwards() before the bitrot spreads.
...
If we need it one day, there is nothing wrong with putting it back in.
llvm-svn: 78337
2009-08-06 21:19:03 +00:00
Daniel Dunbar
1a9db99932
Add a simple tool for comparing two static analyzer runs, primarily for use from
...
buildbot.
llvm-svn: 78336
2009-08-06 21:15:33 +00:00
Devang Patel
c0422b7b5a
Remove dead code.
...
llvm-svn: 78335
2009-08-06 20:57:44 +00:00
Devang Patel
cd4688905f
Use DebugInfoFinder
...
llvm-svn: 78334
2009-08-06 20:53:24 +00:00
Devang Patel
ae5ead6df4
Use DebugInfoFinder.
...
llvm-svn: 78333
2009-08-06 20:53:06 +00:00
John McCall
93343b9466
Permit a class to friend its members in C++0x, without restriction.
...
Permit a class to friend its class members in C++ 98, as long as extensions
are enabled (and even when they aren't, only give an extwarn about it).
llvm-svn: 78332
2009-08-06 20:49:32 +00:00
Fariborz Jahanian
001309371e
Set and use Elidable in elimination of copy ctors.
...
llvm-svn: 78331
2009-08-06 19:12:38 +00:00
Bob Wilson
0127031c20
Implement Neon VST[234] operations.
...
llvm-svn: 78330
2009-08-06 18:47:44 +00:00
Bob Wilson
e3ec5b6d76
Fix incorrect intrinsic declarations.
...
llvm-svn: 78329
2009-08-06 18:46:26 +00:00
Mike Stump
2d8d655922
Layout the primary base first in the vtable.
...
llvm-svn: 78327
2009-08-06 18:05:22 +00:00
Dale Johannesen
8d7f6f83fd
Testcase for llvm-gcc 78324 (although in normal
...
testing mode it won't test much).
llvm-svn: 78325
2009-08-06 17:28:23 +00:00
Fariborz Jahanian
11a8e95a1a
After reporting ill-formed copy constructor(12.8.p3)
...
don't recurs and crash.
llvm-svn: 78323
2009-08-06 17:22:51 +00:00
Dan Gohman
b4764e5b7f
Tidy up this testcase.
...
llvm-svn: 78322
2009-08-06 17:11:55 +00:00
David Goodwin
b062c236c5
Add parameter to pattern classes to enable an itinerary to be specified for instructions. For now just use the existing itineraries or NoItinerary.
...
llvm-svn: 78321
2009-08-06 16:52:47 +00:00
Daniel Dunbar
0c4a959b28
s/ccc/clang/
...
llvm-svn: 78320
2009-08-06 16:47:53 +00:00
Chris Lattner
1ff90134a4
Fix several fixmes and clean up code by sinking *all* section
...
creation activity into the target-specific subclasses of TLOF.
Before this, globals with explicit sections could be created by
the base class.
1. make getOrCreateSection protected, add a new getExplicitSectionGlobal
pure virtual method to assign sections to globals with a specified
section.
2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific.
3. eliminate the getKindForNamedSection virtual method, which is
now just a static method for ELF.
4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16.
They are now all detangled and understandable, woo! :)
llvm-svn: 78319
2009-08-06 16:39:58 +00:00
John Mosby
beb7ea2931
Reg Scavenging generalization (Thumb support):
...
- start support for new PEI w/reg alloc, allow running RS from emit{Pro,Epi}logue() target hooks.
- fix minor issue with recursion detection.
llvm-svn: 78318
2009-08-06 16:32:47 +00:00
Chris Lattner
b29996eb23
go through PIC16TargetObjectFile to make sections instead of
...
creating them directly in the pic16 asmprinter.
llvm-svn: 78317
2009-08-06 16:27:28 +00:00
Douglas Gregor
15acfb9f50
When we encounter a dependent type that was parsed before we know that
...
we were going to enter into the scope of a class template or class
template partial specialization, rebuild that type so that it can
refer to members of the current instantiation, as in code like
template<typename T>
struct X {
typedef T* pointer;
pointer data();
};
template<typename T>
typename X<T>::pointer X<T>::data() { ... }
Without rebuilding the return type of this out-of-line definition, the
canonical return type of the out-of-line definition (a TypenameType)
will not match the canonical return type of the declaration (the
canonical type of T*).
llvm-svn: 78316
2009-08-06 16:20:37 +00:00
Chris Lattner
a7e2662770
reduce testcase.
...
llvm-svn: 78315
2009-08-06 16:14:33 +00:00
Mike Stump
c255f3581a
More layout for virtual tables for virtual bases. Still in progress.
...
llvm-svn: 78314
2009-08-06 15:50:11 +00:00
Devang Patel
9ef866f95f
Fix comment.
...
llvm-svn: 78313
2009-08-06 15:39:34 +00:00
Dan Gohman
695d811ad5
Add assertion checks after the calls to LowerFormalArguments, LowerCall,
...
and LowerReturn, to verify that the targets' hooks have respected some
of their postconditions.
llvm-svn: 78312
2009-08-06 15:37:27 +00:00
Dan Gohman
ee902509a8
Remove an over-aggressive assert. Functions with empty struct return
...
types don't have any return values, from CodeGen's perspective.
This fixes PR4688.
llvm-svn: 78311
2009-08-06 15:07:58 +00:00
Mike Stump
a60f1fc54b
Let's remember we want better codegen for these.
...
llvm-svn: 78310
2009-08-06 14:16:19 +00:00
Mike Stump
04df9b1d5e
Testcase for a recent checkin for vbase layout ordering. I hate to
...
optimize and check for non-optimal code, but until the frontend is as
powerful as fold...
llvm-svn: 78309
2009-08-06 14:12:47 +00:00
Mike Stump
6b2556f829
Layout virtual bases. Work in progress.
...
llvm-svn: 78308
2009-08-06 13:41:24 +00:00
Anton Korobeynikov
3ebc08b5bd
Add link to LLVM's Getting Started page.
...
Patch by John Thompson!
llvm-svn: 78307
2009-08-06 13:00:08 +00:00
Benjamin Kramer
bd7d13fb70
Silence gcc warning about non-virtual destructors.
...
llvm-svn: 78306
2009-08-06 12:59:58 +00:00
Mike Stump
c700b362c7
I have a dream, one day, we won't need to do this.
...
llvm-svn: 78305
2009-08-06 12:56:50 +00:00
Anton Korobeynikov
d4f00616cf
Add note about msys perl needed for windows/mingw32 builds.
...
Patch by John Thompson!
llvm-svn: 78304
2009-08-06 12:54:58 +00:00