Ken Dyck
c8ae55050d
Convert RecordLayout::Size to CharUnits from bits. No changes to
...
functionality intended.
llvm-svn: 125156
2011-02-09 01:59:34 +00:00
Ted Kremenek
a40f8ebc83
static analyzer: Further reduce the analyzer's memory usage when analyzing sqlite3 by 7-10% by recylcing "uninteresting" ExplodedNodes.
...
The optimization involves eagerly pruning ExplodedNodes from the ExplodedGraph that contain
practically no difference between the predecessor and successor nodes. For example, if
the state is different between a predecessor and a node, the node is left in. Only for
the 'environment' component of the state do we not care if the ExplodedNodes are different.
This paves the way for future optimizations where we can reclaim the environment objects.
llvm-svn: 125154
2011-02-09 01:27:33 +00:00
Ted Kremenek
a628225535
Make ProgramPoint::getTag() public.
...
llvm-svn: 125153
2011-02-09 01:27:27 +00:00
Greg Clayton
925137cf84
Pull support for the shared and exclusive lock since this wasn't available
...
on linux. And conditionalize the availablility of the fcntl() command
F_GETPATH.
llvm-svn: 125152
2011-02-09 01:16:43 +00:00
Jakob Stoklund Olesen
1305bc0a65
Evict a lighter single interference before attempting to split a live range.
...
Registers are not allocated strictly in spill weight order when live range
splitting and spilling has created new shorter intervals with higher spill
weights.
When one of the new heavy intervals conflicts with a single lighter interval,
simply evict the old interval instead of trying to split the heavy one.
The lighter interval is a better candidate for splitting, it has a smaller use
density.
llvm-svn: 125151
2011-02-09 01:14:03 +00:00
John McCall
f4cd4f94d9
NonTypeTemplateParmDecl is just a DeclaratorDecl, not a VarDecl.
...
Also, reorganize and make very explicit the logic for determining
the value kind and type of a referenced declaration.
llvm-svn: 125150
2011-02-09 01:13:10 +00:00
Greg Clayton
51b1e2d271
Use Host::File in lldb_private::StreamFile and other places to cleanup host
...
layer a bit more.
llvm-svn: 125149
2011-02-09 01:08:52 +00:00
Johnny Chen
7eaacc517b
Add some helper methods to the EmulateInstructionARM class as a first step in the
...
refactorings of EmulateInstructionARM.cpp file, which will be modified later to
take advantage of these helper methods.
llvm-svn: 125148
2011-02-09 01:00:31 +00:00
Devang Patel
d3a7ee6bfc
Test case for r125142.
...
llvm-svn: 125144
2011-02-09 00:37:52 +00:00
Devang Patel
14524e0f24
If an aggregate argument is passed indirectly because it has non trivial
...
destructor or copy constructor than let debug info know about it.
Radar 8945514.
llvm-svn: 125142
2011-02-09 00:37:30 +00:00
Jakob Stoklund Olesen
0b2f8d24b3
Set an allocation hint when rematting before a COPY.
...
This almost guarantees that the COPY will be coalesced.
llvm-svn: 125140
2011-02-09 00:25:36 +00:00
Caroline Tice
123b89b67f
Add code to emulate the LDMIB Arm instruction.
...
Modify code for LDM and LDMDB instructions to only
create one context and to reuse it, rather than
creating multiple contexts.
llvm-svn: 125139
2011-02-08 23:56:10 +00:00
Johnny Chen
108a363318
Fix typos.
...
llvm-svn: 125138
2011-02-08 23:49:37 +00:00
Jakob Stoklund Olesen
5a9683b319
Fix one more case of splitting after the last split point.
...
llvm-svn: 125137
2011-02-08 23:26:48 +00:00
Jim Ingham
843630781a
Add FileSpec::ResolvePartialUsername, and use it in CommandCompletions to isolate pwd.h in the Host layer.
...
llvm-svn: 125135
2011-02-08 23:24:09 +00:00
Johnny Chen
03feace9d0
Add EmulateCB() entry to the g_thumb_opcodes table to represent "Compare and Branch
...
on NonZero and Compare and Branch on Zero" operations.
llvm-svn: 125134
2011-02-08 23:21:57 +00:00
Caroline Tice
cdb58e1236
Add code to emulate LDMDB Arm instruction.
...
llvm-svn: 125133
2011-02-08 23:16:02 +00:00
Jakob Stoklund Olesen
f248b20d8c
Reorganize interference code to check LastSplitPoint first.
...
The last split point can be anywhere in the block, so it interferes with the
strictly monotonic requirements of advanceTo().
llvm-svn: 125132
2011-02-08 23:02:58 +00:00
Ted Kremenek
fffba74477
No longer pass deprecated '-nodistribute' flag to xcodebuild.
...
llvm-svn: 125131
2011-02-08 22:54:30 +00:00
Ted Kremenek
1953f97ac9
analyzer, retain/release checker: Remove hack where objects passed in message to 'self' are no longer tracked.
...
llvm-svn: 125130
2011-02-08 22:54:26 +00:00
Rafael Espindola
c6236065b7
Update for API change.
...
llvm-svn: 125129
2011-02-08 22:44:16 +00:00
Rafael Espindola
56e41f7f0b
Don't open the file again in the gold plugin. To be able to do this, update
...
MemoryBuffer::getOpenFile to not close the file descriptor.
llvm-svn: 125128
2011-02-08 22:40:47 +00:00
Owen Anderson
4ebf471c9b
Revert both r121082 (which broke a bunch of constant pool stuff) and r125074 (which worked around it). This should get us back to the old, correct behavior, though it will make the integrated assembler unhappy for the time being.
...
llvm-svn: 125127
2011-02-08 22:39:40 +00:00
John McCall
7a198cef04
When checking the 'weak' and 'weakref' attributes, look for non-external
...
linkage rather than the presence of the 'static' storage class specifier.
Fixes rdar://problem/8814626.
llvm-svn: 125126
2011-02-08 22:35:49 +00:00
Fariborz Jahanian
701f094afb
Fix an IRGen bug in property setter calls when
...
setter and getter types mismatch. // rdar://8966864
llvm-svn: 125125
2011-02-08 22:33:23 +00:00
Argyrios Kyrtzidis
fa0734ec4f
[analyzer] Move the files in lib/StaticAnalyzer to lib/StaticAnalyzer/Core.
...
Eventually there will also be a lib/StaticAnalyzer/Frontend that will handle initialization and checker registration.
Yet another library to avoid cyclic dependencies between Core and Checkers.
llvm-svn: 125124
2011-02-08 22:30:36 +00:00
Argyrios Kyrtzidis
4975170267
[analyzer] lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.cpp -> lib/StaticAnalyzer/Checkers/ExperimentalChecks.cpp
...
llvm-svn: 125123
2011-02-08 22:30:15 +00:00
Argyrios Kyrtzidis
f410a6299f
[analyzer] lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.h -> lib/StaticAnalyzer/Checkers/ExperimentalChecks.h
...
llvm-svn: 125122
2011-02-08 22:30:11 +00:00
Argyrios Kyrtzidis
f99d595cfd
[analyzer] lib/StaticAnalyzer/Checkers/ExprEngineInternalChecks.h -> lib/StaticAnalyzer/Checkers/InternalChecks.h
...
llvm-svn: 125121
2011-02-08 22:30:02 +00:00
Benjamin Kramer
7b7caf51e9
Support for .ifdef / .ifndef in the assembler parser. Patch by Joerg Sonnenberger.
...
llvm-svn: 125120
2011-02-08 22:29:56 +00:00
John McCall
53c72e71cc
Test case accidentally left out of my last commit.
...
llvm-svn: 125119
2011-02-08 22:28:39 +00:00
Caroline Tice
7aa01cfd64
Add code to emulate the LDM ARM instruction.
...
llvm-svn: 125118
2011-02-08 22:24:38 +00:00
Douglas Gregor
92a96f5c32
Split the serialized representation for the detailed preprocessing
...
record away from the core processor record. The tangling of these two
data structures led to some inefficiencies (e.g., deserializing all
of the detailed preprocessing record when we didn't need it, such as
while performing code completion) along with some unnecessary
ugliness.
llvm-svn: 125117
2011-02-08 21:58:10 +00:00
Jakob Stoklund Olesen
93dda45ada
Also handle the situation where an indirect branch is the first (and last)
...
instruction in a basic block.
llvm-svn: 125116
2011-02-08 21:46:11 +00:00
Peter Collingbourne
3a34725ed1
AST: support for pre-arg expressions on CallExpr subclasses
...
llvm-svn: 125115
2011-02-08 21:18:02 +00:00
Peter Collingbourne
4b279a033b
StmtPrinter: factor out arg printing code to PrintCallArgs
...
llvm-svn: 125114
2011-02-08 21:17:54 +00:00
Jakob Stoklund Olesen
f2b16dc847
Add LiveIntervals::addKillFlags() to recompute kill flags after register allocation.
...
This is a lot easier than trying to get kill flags right during live range
splitting and rematerialization.
llvm-svn: 125113
2011-02-08 21:13:03 +00:00
Johnny Chen
181376f29f
Add missing implementation for "BL, BLX (immediate)" Encoding T1 and an entry for "bl <label>"
...
into g_thumb_opcodes table.
llvm-svn: 125112
2011-02-08 20:36:34 +00:00
Benjamin Kramer
1a648d1930
Allow multiple -B prefixes. Patch by Joerg Sonnenberger.
...
llvm-svn: 125111
2011-02-08 20:31:42 +00:00
Greg Clayton
846b64bf83
Updated a few more Host::File functions and added documentation.
...
llvm-svn: 125110
2011-02-08 19:54:44 +00:00
Jakob Stoklund Olesen
4d83c691f6
Trim debug spew
...
llvm-svn: 125109
2011-02-08 19:33:58 +00:00
Jakob Stoklund Olesen
c6a2041d99
Avoid folding a load instruction into an instruction that redefines the register.
...
The target hook doesn't know how to do that. (Neither do I).
llvm-svn: 125108
2011-02-08 19:33:55 +00:00
Greg Clayton
968fa38e0a
Added a few more calls to the File abtract class for seeking, syncing and
...
getting the file spec from the file descriptor.
llvm-svn: 125106
2011-02-08 19:10:53 +00:00
David Greene
10b0db1d5f
[AVX] Implement BUILD_VECTOR lowering for 256-bit vectors. For
...
anything but the simplest of cases, lower a 256-bit BUILD_VECTOR by
splitting it into 128-bit parts and recombining.
llvm-svn: 125105
2011-02-08 19:04:41 +00:00
John McCall
d396b97c5a
Clear the linkage cache recursively. Fixes PR8926.
...
llvm-svn: 125104
2011-02-08 19:01:05 +00:00
Johnny Chen
86e48b6940
Add missing implementation for "BL, BLX (immediate)" Encoding A1.
...
llvm-svn: 125103
2011-02-08 18:58:31 +00:00
Jakob Stoklund Olesen
1749935173
Add SplitEditor::overlapIntv() to create small ranges where both registers are live.
...
If a live range is used by a terminator instruction, and that live range needs
to leave the block on the stack or in a different register, it can be necessary
to have both sides of the split live at the terminator instruction.
Example:
%vreg2 = COPY %vreg1
JMP %vreg1
Becomes after spilling %vreg2:
SPILL %vreg1
JMP %vreg1
The spill doesn't kill the register as is normally the case.
llvm-svn: 125102
2011-02-08 18:50:21 +00:00
Jakob Stoklund Olesen
3d11c8eaf2
Add assertion.
...
llvm-svn: 125101
2011-02-08 18:50:18 +00:00
Johnny Chen
933fefdd6a
Add new radar info for failed test.
...
llvm-svn: 125100
2011-02-08 18:37:49 +00:00
Johnny Chen
78bb926f9b
Make the assertion message about 32-bit process address byte size more clear.
...
llvm-svn: 125099
2011-02-08 18:31:06 +00:00