Jim Grosbach
7f45559e86
Remove obsolete FIXME reference in comment.
...
llvm-svn: 136400
2011-07-28 21:37:05 +00:00
Jim Grosbach
864b609491
ARM assembly parsing and encoding for BFC and BFI.
...
Add parsing support that handles converting the lsb+width source into the
odd way we represent the instruction (an inverted bitfield mask).
llvm-svn: 136399
2011-07-28 21:34:26 +00:00
Jakub Staszak
bcb3c65bb4
Add InEdges (edges from header to the loop) in Loop Branch Heuristics, so
...
there is no frequency difference whether condition is in the header or in
the latch.
llvm-svn: 136398
2011-07-28 21:33:46 +00:00
Bill Wendling
f8d95bc4c6
Use ArrayRef instead of requiring an std::vector.
...
llvm-svn: 136396
2011-07-28 21:25:33 +00:00
Douglas Gregor
074fdc5a10
Use the local -> global mapping functions for selectors more
...
consistently in the ASTReader.
llvm-svn: 136395
2011-07-28 21:16:51 +00:00
Johnny Chen
27603dea5c
Add some descriptions about the default executable name being 'a.out' and can be overwritten
...
by specifying your EXE make variable via your Makefile or within the Python test script.
llvm-svn: 136394
2011-07-28 21:15:39 +00:00
Bill Wendling
4f027233d2
The personality function should be a Function* and not just a Value*.
...
llvm-svn: 136392
2011-07-28 21:14:13 +00:00
Douglas Gregor
a3e41533f2
Teach the ASTReader to perform local and global mapping of identifier
...
IDs properly, although the mapping itself is still trivial.
llvm-svn: 136391
2011-07-28 20:55:49 +00:00
Douglas Gregor
b6aca01fc2
Fix Clang attribute reader tblgen output for a corresponding fix on the Clang side
...
llvm-svn: 136390
2011-07-28 20:55:16 +00:00
Anna Zaks
964f4c6147
Add a fixit for removal of unused label.
...
llvm-svn: 136389
2011-07-28 20:52:06 +00:00
Jakob Stoklund Olesen
cad845f4c0
Reverse order of RS_Split live ranges under -compact-regions.
...
There are two conflicting strategies in play:
- Under high register pressure, we want to assign large live ranges
first. Smaller live ranges are easier to place afterwards.
- Live range splitting is guided by interference, so splitting should be
deferred until interference is as realistic as possible.
With the recent changes to the live range stages, and with compact
regions enabled, it is less traumatic to split a live range too early.
If some of the split products were too big, they can often be split
again.
By reversing the RS_Split order, we get this queue order:
1. Normal live ranges, large to small.
2. RS_Split live ranges, large to small.
The large-to-small order improves RAGreedy's puzzle solving skills under
high register pressure. It may cause a bit more iterated splitting, but
we handle that better now.
With this change, -compact-regions is mostly an improvement on SPEC.
llvm-svn: 136388
2011-07-28 20:48:23 +00:00
Bill Wendling
7b563cde19
Initial code to convert ResumeInsts into calls to _Unwind_Resume.
...
This should be the only code necessary for DWARF EH prepare.
llvm-svn: 136387
2011-07-28 20:48:05 +00:00
Johnny Chen
342927c522
Add a reproducible test case (expression parser crashes) to the lldb test suite.
...
rdar://problem/9691614.
llvm-svn: 136386
2011-07-28 20:46:14 +00:00
Richard Trieu
ff5dc53c7a
Fix a test case that was intermittently failing. The issue was that instantiations are not stored in an order preserving structure, so the print order may be impacted. Modified test case to do two FileCheck passes to ensure that both instantiations are in the same place.
...
Test originially commited at r136306 and temporarily silenced at r136348.
llvm-svn: 136385
2011-07-28 20:30:10 +00:00
Jakub Staszak
14852b182e
Fix stupid mistake from commit 136381.
...
llvm-svn: 136384
2011-07-28 20:17:18 +00:00
Caitlin Sadowski
63fa667c68
Added basic parsing for all remaining attributes, thread safety
...
analysis. This includes checking that the attributes are applied in the
correct contexts and with the correct number of arguments.
llvm-svn: 136383
2011-07-28 20:12:35 +00:00
Jakub Staszak
d7ac43eed1
Speed up BlockFrequencyInfo a little bit.
...
llvm-svn: 136381
2011-07-28 20:09:31 +00:00
Anna Zaks
67a704818b
Another test case for the &/* mismatch fixit.
...
llvm-svn: 136380
2011-07-28 19:55:52 +00:00
Anna Zaks
3b402716b1
Add */& mismatch fixit generation to the Sema::DiagnoseAssignmentResult().
...
llvm-svn: 136379
2011-07-28 19:51:27 +00:00
Douglas Gregor
e39f97c869
Make the deserialization of Sema::PendingInstantiations lazy. At this
...
point, ASTReader::InitializeSema() has very little interesting work,
*except* issues stemming from preloaded declarations. That's something
we'll still need to cope with.
llvm-svn: 136378
2011-07-28 19:49:54 +00:00
Joerg Sonnenberger
cf2996dc22
Don't redeclare sr.
...
llvm-svn: 136377
2011-07-28 19:47:33 +00:00
Anna Zaks
1b06812f46
Refactor the */& mismatch fixit generation out of SemaOverload and provide a simple conversion checking function.
...
llvm-svn: 136376
2011-07-28 19:46:48 +00:00
Jim Grosbach
bfb439b140
Add fixme.
...
llvm-svn: 136375
2011-07-28 19:46:12 +00:00
Douglas Gregor
bbbc367337
Promote the deserialized PendingInstantiations vector from being a
...
Module member to being an ASTReader member; we want it to be
centralized for lazy deserialization.
llvm-svn: 136373
2011-07-28 19:26:52 +00:00
Douglas Gregor
4daf6a30e7
Lazily deserialize Sema::VTableUses. Plus, fix the utterly and
...
completely broken deserialization mapping code we had for VTableUses,
which would have broken horribly as soon as our local-to-global ID
mapping became interesting.
llvm-svn: 136371
2011-07-28 19:11:31 +00:00
Caitlin Sadowski
13d4444f96
Thread safety: Fix typo in documentation
...
llvm-svn: 136370
2011-07-28 18:38:36 +00:00
Bill Wendling
2533842439
Use version 402 for the GCDA files when compiling for Apple.
...
llvm-svn: 136369
2011-07-28 18:12:20 +00:00
Douglas Gregor
1c4bfe5ac6
Make Sema::WeakUndeclaredIdentifiers lazily deserialized.
...
llvm-svn: 136368
2011-07-28 18:09:57 +00:00
Owen Anderson
7c965e7520
Update comments.
...
llvm-svn: 136367
2011-07-28 17:56:55 +00:00
Owen Anderson
301f793ed5
Fill in some encoding information for STRD instructions.
...
llvm-svn: 136366
2011-07-28 17:53:25 +00:00
Jonathan D. Turner
ed56499503
Add missing documentation onto new member variable.
...
llvm-svn: 136365
2011-07-28 17:42:18 +00:00
Caitlin Sadowski
aac4d21ba7
Added parsing for guarded_var, pt_guarded_var, lockable,
...
scoped_lockable, and no_thread_safety_analysis attributes, all for thread safety analysis
llvm-svn: 136364
2011-07-28 17:21:07 +00:00
Jonathan D. Turner
ecc2740b32
Switch the ModuleManager over to using a FileManager and FileEntry* as part of its lookup instead of the filename. This is a more correct unique identifier, as symlinks can be handled by the FileManager.
...
llvm-svn: 136363
2011-07-28 17:20:23 +00:00
Owen Anderson
b0e6899398
Revert r136295. It broke nightly testers because some parts of codegen weren't aware of the changes to operand ordering. I hope to revive this sometime in the future, but it's not strictly necessary for now.
...
llvm-svn: 136362
2011-07-28 17:18:57 +00:00
Jim Grosbach
8b3184e540
ARM parsing and encoding for ADR.
...
The label does not have a '#' prefix. Add parsing and encoding tests.
llvm-svn: 136360
2011-07-28 16:33:54 +00:00
Jim Grosbach
4356636fc0
Update ARM tests for parsing and encoding of WFE, WFI and YIELD.
...
llvm-svn: 136358
2011-07-28 16:00:41 +00:00
Douglas Gregor
72e357fc60
Make Sema::ReferencedSelectors lazily deserialized.
...
llvm-svn: 136357
2011-07-28 14:54:22 +00:00
Douglas Gregor
3f8f04f1e9
Move a Module's ReferencedSelectorsData into the ASTReader itself, so
...
that it accumulates referenced selectors from each of the modules/PCH
files as they are loaded. No actual functionality change, yet.
llvm-svn: 136356
2011-07-28 14:41:43 +00:00
Nadav Rotem
9708aef2dc
CR fix: The ANY_EXTEND can be removed because the input and putput type must be
...
identical.
llvm-svn: 136355
2011-07-28 14:38:46 +00:00
Duncan Sands
251daee2a7
Use unsigned rather than uint16_t in case anyone feels like testing
...
more graphs, like all graphs with 5 nodes or less. With a 32 bit
unsigned type, the maximum is graphs with 6 nodes or less, but that
would take a while to test - 5 nodes or less already requires a few
seconds.
llvm-svn: 136354
2011-07-28 14:37:53 +00:00
Duncan Sands
6d0f0ffe83
Check an additional property specific to the way LLVM
...
iterates over SCC's.
llvm-svn: 136353
2011-07-28 14:33:01 +00:00
Douglas Gregor
dc5c958602
Make Sema::LocallyScopedExternalDecls lazily deserialized. In theory,
...
we could turn this into an on-disk hash table so we don't load the
whole thing the first time we need it. However, it tends to be very,
very small (i.e., empty) for most precompiled headers, so it isn't all
that interesting.
llvm-svn: 136352
2011-07-28 14:20:37 +00:00
Duncan Sands
dea551c59a
Add a unittest for the simply connected components (SCC) iterator class.
...
This computes every graph with 4 or fewer nodes, and checks that the SCC
class indeed returns exactly the simply connected components reachable
from the initial node.
llvm-svn: 136351
2011-07-28 14:17:11 +00:00
Duncan Sands
483354758f
Due to changes coming from the new LLVM type system, you now get
...
bitcasts in this test rather than getelementptr instructions;
llvm-gcc produces two bitcasts, clang produces one.
llvm-svn: 136349
2011-07-28 12:21:47 +00:00
NAKAMURA Takumi
0bbacea5b7
test/Misc/ast-dump-templates.cpp: Disable this temporarily due to unstable output.
...
llvm-svn: 136348
2011-07-28 12:10:58 +00:00
NAKAMURA Takumi
9b249eecca
test/CodeGen/2004-03-16-AsmRegisterCrash.c: XTARGET should accept the part of triplet. ("x86" is not the part of triplet)
...
llvm-svn: 136346
2011-07-28 11:25:02 +00:00
Duncan Sands
5710211af0
This file was moved from Support to ADT. Correct a comment.
...
llvm-svn: 136344
2011-07-28 08:36:22 +00:00
Bill Wendling
9e5f0f8fce
Some minor cleanups. No functionalitical change.
...
llvm-svn: 136341
2011-07-28 07:44:07 +00:00
John McCall
fabe079108
Make a note about a missing optimization.
...
llvm-svn: 136340
2011-07-28 07:41:22 +00:00
Bill Wendling
fa28440f15
Leverage some of the code that John wrote to manage the landing pads.
...
The new EH is more simple in many respects. Mainly, we don't have to worry about
the "llvm.eh.exception" and "llvm.eh.selector" calls being in weird places.
llvm-svn: 136339
2011-07-28 07:31:46 +00:00