Andrew Trick
1c24605a57
This is a prototype of an experimental register allocation
...
framework. It's purpose is not to improve register allocation per se,
but to make it easier to develop powerful live range splitting. I call
it the basic allocator because it is as simple as a global allocator
can be but provides the building blocks for sophisticated register
allocation with live range splitting.
A minimal implementation is provided that trivially spills whenever it
runs out of registers. I'm checking in now to get high-level design
and style feedback. I've only done minimal testing. The next step is
implementing a "greedy" allocation algorithm that does some register
reassignment and makes better splitting decisions.
llvm-svn: 117174
2010-10-22 23:09:15 +00:00
Owen Anderson
cb5c1b75fe
Add tests for NEON encoding of vqdmlsl.
...
llvm-svn: 117173
2010-10-22 23:08:47 +00:00
Bob Wilson
dbb77154dc
Do not install libBugpointPasses.dylib for Apple builds. Radar 8585383.
...
llvm-svn: 117172
2010-10-22 23:04:17 +00:00
Owen Anderson
d655a80774
Add tests for NEON encoding of vmlsl.
...
llvm-svn: 117171
2010-10-22 23:02:27 +00:00
Jakob Stoklund Olesen
0fb303d3c0
Add more verification of LiveIntervals.
...
llvm-svn: 117170
2010-10-22 22:48:58 +00:00
Jakob Stoklund Olesen
4cf8fe31bb
Be more strict about detecting multi-use blocks for isolation.
...
When a block has exactly two uses and the register is both live-in and live-out,
don't isolate the block. We would be inserting two copies, so we haven't really
made any progress.
If the live-in and live-out values separate into disconnected components after
splitting, we would be making progress. We can't detect that for now.
llvm-svn: 117169
2010-10-22 22:48:56 +00:00
Fariborz Jahanian
2b427c7fb0
Update compatibility page for objective-c.
...
llvm-svn: 117168
2010-10-22 22:35:51 +00:00
Douglas Gregor
263803a6cd
Teach clang_getCursorReferenced() and friends about BlockDeclRefExprs.
...
llvm-svn: 117167
2010-10-22 22:24:08 +00:00
Jim Grosbach
b40a60fa2f
tidy up.
...
llvm-svn: 117166
2010-10-22 22:15:48 +00:00
Jim Grosbach
2c9ae05c67
ARM mode encoding information for CLZ, RBIT, REV*, and PKH*.
...
llvm-svn: 117165
2010-10-22 22:12:16 +00:00
Bob Wilson
1eaa381789
Fix the name of libLLVMHello.dylib so that it does not get installed for
...
Apple builds. Radar 8585383.
llvm-svn: 117164
2010-10-22 22:10:57 +00:00
Douglas Gregor
c0d2490ac4
In the presence of using declarations, we can find the same class
...
members in class subobjects of different types. So long as the
underlying declaration sets are the same, and the declaration sets
involve non-instance members, this is not an ambiguity.
llvm-svn: 117163
2010-10-22 22:08:47 +00:00
Ted Kremenek
5c97605c1d
Fix a horrible bug in all dataflow analyses that use CFGRecStmtVisitor (including live variables analysis).
...
We shouldn't recurse into CompoundStmts since they are already inlined in the CFG. This could result in
bogus dead stores warnings (among other things).
llvm-svn: 117162
2010-10-22 22:08:32 +00:00
Ted Kremenek
7043fba7fa
Fix '-analyzer-display-progress' for Objective-C methods. Also remove obsolete code.
...
llvm-svn: 117161
2010-10-22 22:08:29 +00:00
Fariborz Jahanian
059fe5ba09
Test emoved.
...
llvm-svn: 117160
2010-10-22 22:05:40 +00:00
Fariborz Jahanian
c123623d28
After discussion with Doug and John, I am reverting
...
the patch.
llvm-svn: 117159
2010-10-22 22:05:03 +00:00
Jim Grosbach
3565b0a2e2
Remove duplicate test.
...
llvm-svn: 117158
2010-10-22 22:04:28 +00:00
Jim Grosbach
6d993fa1a6
tidy up.
...
llvm-svn: 117157
2010-10-22 22:01:56 +00:00
Jim Grosbach
db7415075d
FileCheck-ize a few tests.
...
llvm-svn: 117156
2010-10-22 21:55:03 +00:00
Evan Cheng
21eedfb5a2
Unbreak build.
...
llvm-svn: 117155
2010-10-22 21:49:09 +00:00
Bob Wilson
a4e231c880
Teach instcombine to set the alignment arguments for NEON load/store intrinsics.
...
llvm-svn: 117154
2010-10-22 21:41:48 +00:00
Johnny Chen
f3f1e00e24
Just use 'test harness', not 'test harness runtime'.
...
llvm-svn: 117153
2010-10-22 21:37:51 +00:00
Johnny Chen
f4f70bb890
Comment heading changes.
...
llvm-svn: 117152
2010-10-22 21:31:03 +00:00
Evan Cheng
77a38320c7
Transfer implicit ops when forming load multiple and return instructions.
...
llvm-svn: 117151
2010-10-22 21:29:58 +00:00
Greg Clayton
54180398fa
Fix the default prompt to have a space.
...
llvm-svn: 117150
2010-10-22 21:15:00 +00:00
Dale Johannesen
70f564e0e8
Change handling of inline asm 'p' constraint to match llvm-gcc.
...
llvm-svn: 117149
2010-10-22 21:07:10 +00:00
Johnny Chen
a91b9474da
Add text about test class cleanup.
...
llvm-svn: 117148
2010-10-22 21:06:04 +00:00
John McCall
457a04e3ce
Substantially revise how clang computes the visibility of a declaration to
...
more closely parallel the computation of linkage. This gets us to a state
much closer to what gcc emits, modulo bugs, which will undoubtedly arise in
abundance.
llvm-svn: 117147
2010-10-22 21:05:15 +00:00
Fariborz Jahanian
0196aa28ec
Patch fixes miscompile with non-trivial copy constructors and
...
statement expressions, //rdar: //8540501
llvm-svn: 117146
2010-10-22 21:01:02 +00:00
Owen Anderson
3c4f72c9f8
Add tests for the correct encoding of NEON vmls.
...
llvm-svn: 117145
2010-10-22 20:31:24 +00:00
Jakob Stoklund Olesen
2d60075590
Be more strict when detecting critical edges before loop splitting.
...
An exit block with a critical edge must only have predecessors in the loop, or
just before the loop. This guarantees that the inserted copies in the loop
predecessors dominate the exit block.
llvm-svn: 117144
2010-10-22 20:28:23 +00:00
Jakob Stoklund Olesen
9a74301621
Add print methods
...
llvm-svn: 117143
2010-10-22 20:28:21 +00:00
Johnny Chen
d9bebeb2be
Comment out the debug statement for printing the SBBreakpoint object.
...
llvm-svn: 117140
2010-10-22 20:08:56 +00:00
Johnny Chen
bc095dbe68
The test should remove 'output.txt' if it exists before launching the inferior
...
process which is supposed to create the file.
llvm-svn: 117136
2010-10-22 19:51:42 +00:00
Owen Anderson
9d0122af7d
Add correct NEON encodings for vqdmlal.
...
llvm-svn: 117134
2010-10-22 19:35:48 +00:00
Jim Grosbach
2b80543fc2
Add the encoding information for the rest of the ARM mode multiply instructions.
...
llvm-svn: 117133
2010-10-22 19:15:30 +00:00
Michael J. Spencer
e08dbb4a5b
I hate line endings.
...
llvm-svn: 117132
2010-10-22 19:14:39 +00:00
Owen Anderson
3d0264667f
Provide correct encodings for NEON vmlal.
...
llvm-svn: 117131
2010-10-22 19:05:25 +00:00
Oscar Fuentes
ff11a23ef3
Loadable modules are not supported on Cygwin. PR 6655.
...
llvm-svn: 117130
2010-10-22 19:03:24 +00:00
Johnny Chen
8c251f4209
Add some more usage text.
...
llvm-svn: 117129
2010-10-22 19:00:18 +00:00
Evan Cheng
21abfc9450
Silence compiler warnings.
...
llvm-svn: 117128
2010-10-22 18:57:05 +00:00
Devang Patel
401c916c8a
Delay record type's debug info emission, in -flimit-debug-info mode, if member expression's base is call expr.
...
llvm-svn: 117127
2010-10-22 18:56:27 +00:00
Owen Anderson
f48719f1b5
Provide correct NEON encodings for vmla.
...
llvm-svn: 117126
2010-10-22 18:54:37 +00:00
Jim Ingham
49e80a1142
Changed "run" to alias "process launch --".
...
Added "po" alias for "expression -o --"
llvm-svn: 117125
2010-10-22 18:47:16 +00:00
Michael J. Spencer
46ea135ea7
Endian: Get rid of LLVM_IS_HOST_BIG_ENDIAN.
...
llvm-svn: 117124
2010-10-22 18:45:12 +00:00
Stuart Hastings
a8c4143bf6
Temporarily revert r117079; it broke a tester. Radar 6635085.
...
llvm-svn: 117122
2010-10-22 18:44:22 +00:00
Jim Grosbach
6956a60563
More ARM multiply instuction binary encodings.
...
llvm-svn: 117121
2010-10-22 18:35:16 +00:00
Devang Patel
db3910000a
Revert unintentional check-in.
...
llvm-svn: 117120
2010-10-22 18:31:12 +00:00
Evan Cheng
08dd8c8295
Add fastcc cc: pass and return VFP / NEON values in registers. Controlled by -arm-fastcc for now.
...
llvm-svn: 117119
2010-10-22 18:23:05 +00:00
Johnny Chen
5bfb8ee64e
Add test case for using SBBreakpointLocation to set break condition.
...
llvm-svn: 117116
2010-10-22 18:10:25 +00:00