Evan Cheng
8b637b177c
Add an option to disable codegen prepare critical edge splitting. In theory, PHI elimination is already doing all (most?) of the splitting needed. But machine-licm and machine-sink seem to miss some important optimizations when splitting is disabled.
...
llvm-svn: 111224
2010-08-17 01:34:49 +00:00
Eric Christopher
541f8012d9
Fix typo.
...
llvm-svn: 111223
2010-08-17 01:30:33 +00:00
Eric Christopher
09f757d4bc
Copy over some overridden MI wrappers for ARM fast-isel. This is where
...
we're adding predicates and optional defs to the MachineInstrs.
llvm-svn: 111222
2010-08-17 01:25:29 +00:00
Evan Cheng
f259efde47
PHI elimination should not break back edge. It can cause some significant code placement issues. rdar://8263994
...
good:
LBB0_2:
mov r2, r0
. . .
mov r1, r2
bne LBB0_2
bad:
LBB0_2:
mov r2, r0
. . .
@ BB#3:
mov r1, r2
b LBB0_2
llvm-svn: 111221
2010-08-17 01:20:36 +00:00
Eric Christopher
d84dbb5caf
Remove predicate workaround, we're going to require that predicate
...
and optional def operands are handled in the backend support.
llvm-svn: 111220
2010-08-17 01:18:37 +00:00
Eric Christopher
663f49900d
Make arm fast-isel possible to enable via command line.
...
llvm-svn: 111219
2010-08-17 00:46:57 +00:00
Douglas Gregor
2c8bd47a6a
When the # of top-level declarations changes after reparsing a
...
translation unit, refresh code-completion results because they've
probably changed. However, enforce a cooldown period between
refreshes, to avoid thrashing.
llvm-svn: 111218
2010-08-17 00:40:40 +00:00
Zhongxing Xu
a66d1694f4
Generate a node instead of a sink. A leak is not a fatal error.
...
llvm-svn: 111217
2010-08-17 00:36:37 +00:00
Jim Ingham
c55e951523
Check for errors in Resume before waiting for the resume to complete.
...
llvm-svn: 111216
2010-08-17 00:35:35 +00:00
Greg Clayton
57a6b999af
Fixed FindFunctions so it works with all the new name types for the DWARF in object files case.
...
llvm-svn: 111215
2010-08-17 00:35:34 +00:00
Benjamin Kramer
b962ca0ce5
Try to silence a overeager GCC warning.
...
llvm-svn: 111214
2010-08-17 00:33:24 +00:00
Benjamin Kramer
5f237942f5
A round of minor cleanups for ELFObjectWriter.
...
llvm-svn: 111213
2010-08-17 00:00:46 +00:00
Bob Wilson
eee4824f74
Add a testcase for svn 111208.
...
llvm-svn: 111212
2010-08-16 23:44:29 +00:00
John McCall
2677e10732
A field of incomplete type is sufficiently disruptive that we should mark
...
the record invalid.
llvm-svn: 111211
2010-08-16 23:42:35 +00:00
Owen Anderson
fa7d44687f
Fix another iterator invalidation that caused a *really* nasty miscompilation in 403.gcc.
...
llvm-svn: 111210
2010-08-16 23:42:33 +00:00
Bob Wilson
c350e7a509
Ignore undef shuffle indices when checking for a VTRN shuffle. Radar 8290937.
...
llvm-svn: 111208
2010-08-16 23:37:17 +00:00
Eli Friedman
c3e9df3cc0
Move a bunch of code out of the ComplexExprEvaluator class definition;
...
no functionality change.
llvm-svn: 111207
2010-08-16 23:27:44 +00:00
Jim Grosbach
a7c562d664
tidy up. remove unused local.
...
llvm-svn: 111206
2010-08-16 23:26:09 +00:00
Jordy Rose
5ccde8593f
Allow the "size" of a buffer access check to be either signed or unsigned. Fixes PR7925.
...
llvm-svn: 111205
2010-08-16 23:25:19 +00:00
Douglas Gregor
40a5a7de1d
Move include to the proper place. No functionality change
...
llvm-svn: 111204
2010-08-16 23:08:34 +00:00
Douglas Gregor
59cab5564f
Implement support for cached code completions for
...
nested-name-specifiers. Also includes fixes to the generation of
nested-name-specifier result in the non-cached case; we were producing
lame results for namespaces and namespace aliases, which (1) didn't
always have nested-name-specifiers when we want them, and (2) did not
have the necessary "::" as part of the completion.
llvm-svn: 111203
2010-08-16 23:05:20 +00:00
Sean Callanan
6dce6de80c
Documented ClangResultSynthesizer and added very minor
...
API fixes.
llvm-svn: 111202
2010-08-16 23:01:35 +00:00
Benjamin Kramer
be6cca2b7d
Silence warnings and simplify code. Eliminate a 32/64 bit portability issue.
...
llvm-svn: 111201
2010-08-16 23:00:12 +00:00
Dan Gohman
6304db3896
The plural of analysis is analyses.
...
llvm-svn: 111200
2010-08-16 22:57:28 +00:00
Dan Gohman
55cd6aadc9
Make dumpPassStructure be a PMDataManager abstraction, rather than
...
a Pass abstraction, since that's the level it's actually used at.
Rename Pass' dumpPassStructure to dumpPass.
This eliminates an awkward use of getAsPass() to convert a PMDataManager*
into a Pass* just to permit a dumpPassStructure call.
llvm-svn: 111199
2010-08-16 22:45:12 +00:00
Johnny Chen
46c2614b99
Added logging for process.gdb-remote by defining an environment variable named
...
GDB_REMOTE_LOG which specifies the log file pathname.
llvm-svn: 111198
2010-08-16 22:37:45 +00:00
Jim Grosbach
36d5ec383e
Better handle alignment requirements for local objects in pre-regalloc frame
...
mapping. Have the local block track its alignment requirement, and then
apply that when the block itself is allocated. Previously, offsets could
get adjusted in PEI to be different, relative to one another, than the
block allocation thought they would be, which defeats the point of doing
the allocation this way. Continuing rdar://8277890
llvm-svn: 111197
2010-08-16 22:30:41 +00:00
Bob Wilson
804f6159f1
Generalize a pattern for PKHTB: an SRL of 16-31 bits will guarantee
...
that the high halfword is zero. The shift need not be exactly 16 bits.
llvm-svn: 111196
2010-08-16 22:26:55 +00:00
Bob Wilson
3fd1e0dcda
Convert test to FileCheck.
...
llvm-svn: 111195
2010-08-16 22:21:13 +00:00
Sean Callanan
b3cecb4c96
Documented ClangPersistentVariable(s). No API
...
cleanup here, since this is a new and fairly
clean class already.
llvm-svn: 111194
2010-08-16 22:14:59 +00:00
Dan Gohman
d42cc46f43
Make some of PMTopLevelManager's members non-public. In particular,
...
make its constructor protected.
llvm-svn: 111193
2010-08-16 22:03:47 +00:00
Dan Gohman
3061485624
Remove redundant inline keywords.
...
llvm-svn: 111192
2010-08-16 21:57:30 +00:00
Fariborz Jahanian
99311ba1a8
Diagnose assiging to an interface object in
...
non-fragile abi mode as sizes are not statically known.
Fixes radar 8315734.
llvm-svn: 111191
2010-08-16 21:51:12 +00:00
Tom Care
c129cc18f0
Added basic psuedoconstant checking in IdempotentOperationChecker and fixed some test cases.
...
llvm-svn: 111190
2010-08-16 21:43:52 +00:00
Dan Gohman
e85c619980
Eliminate the TopLevelManagerType enum; instead, just make
...
PMTopLevelManager's constructor take a PMDataManager *, which already
provides the needed abstraction support.
llvm-svn: 111189
2010-08-16 21:38:42 +00:00
Johnny Chen
6ca006c7c1
Factored the "continue" command execution of the inferior process as part of the
...
cleanup before finish into the test fixture in lldbtest.TestBase.tearDown().
Derivatives of TestBase is responsible for setting self.runStarted to True if an
inferior process has been started.
llvm-svn: 111188
2010-08-16 21:28:10 +00:00
Douglas Gregor
df239670d4
Formatting fixes. No functionality change
...
llvm-svn: 111186
2010-08-16 21:23:13 +00:00
Eli Friedman
2444da0652
Comment out some broken/unused/useless instructions which mess up disassembly.
...
llvm-svn: 111185
2010-08-16 21:18:51 +00:00
Douglas Gregor
6199f2d146
Implement name hiding of cached global code-completion results.
...
llvm-svn: 111184
2010-08-16 21:18:39 +00:00
Eli Friedman
1fe0d53aec
Fixes for generation of ELF relocations. Patch by Roman Divacky.
...
llvm-svn: 111183
2010-08-16 21:17:09 +00:00
Eli Friedman
51ec745509
Don't attempt to SimplifyShortMoveForm in 64-bit mode.
...
llvm-svn: 111182
2010-08-16 21:03:32 +00:00
Jordy Rose
63a38a1b94
Instead of using operator bool() for testing if a BindingKey is valid, use an explicit isValid() method.
...
llvm-svn: 111181
2010-08-16 20:53:01 +00:00
Jordy Rose
4a57ec86bb
Move GRState::AssumeInBound out of its header file -- it's not really inline-friendly anymore.
...
llvm-svn: 111179
2010-08-16 20:34:06 +00:00
Howard Hinnant
2bf1fd99b1
[re.regiter]
...
llvm-svn: 111178
2010-08-16 20:21:16 +00:00
Eli Friedman
7e2f4ce439
Until uleb/sleb are MC-ized, add a hack to make them work with ELF object
...
emission.
llvm-svn: 111177
2010-08-16 20:08:40 +00:00
Douglas Gregor
d46cf182a4
Move some code out-of-line which has long since grown too large to be
...
inlined. No functionality change.
llvm-svn: 111176
2010-08-16 20:01:48 +00:00
Eli Friedman
b20b5249d2
Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.
...
llvm-svn: 111175
2010-08-16 19:15:06 +00:00
Matt Fleming
6c1ad4835e
Add ELF ObjectWriter and Streamer support.
...
I forgot to add these files in commit 111172.
llvm-svn: 111174
2010-08-16 18:57:57 +00:00
Matt Fleming
f751d856f0
Hookup ELF support for X86.
...
llvm-svn: 111173
2010-08-16 18:36:14 +00:00
Matt Fleming
d83b927897
Add ELF ObjectWriter and Streamer support.
...
llvm-svn: 111172
2010-08-16 18:35:43 +00:00