Gabor Greif
197322c365
use -> instead of (*).
...
llvm-svn: 109094
2010-07-22 11:12:32 +00:00
Gabor Greif
e826ece8c2
cache dereferenced iterator
...
llvm-svn: 109093
2010-07-22 11:07:46 +00:00
Gabor Greif
a7509fca78
undo 80 column trespassing I caused
...
llvm-svn: 109092
2010-07-22 10:37:47 +00:00
Chandler Carruth
e10953d673
Mark an assert-only variable as used.
...
llvm-svn: 109091
2010-07-22 08:02:25 +00:00
Chandler Carruth
4810e179e9
Fix the generated file name for CMake.
...
llvm-svn: 109090
2010-07-22 08:00:52 +00:00
Tobias Grosser
604a50cd71
Add new RegionInfo pass.
...
The RegionInfo pass detects single entry single exit regions in a function,
where a region is defined as any subgraph that is connected to the remaining
graph at only two spots.
Furthermore an hierarchical region tree is built.
Use it by calling "opt -regions analyze" or "opt -view-regions".
llvm-svn: 109089
2010-07-22 07:46:31 +00:00
Chandler Carruth
66edf31b8e
Attempt to fix linking issues with CMake. Please review other CMake users,
...
especially on other platforms. Is there a better way to fix this.
llvm-svn: 109084
2010-07-22 06:27:45 +00:00
Evan Cheng
c47b23ef06
Re-apply r109079 with fix.
...
llvm-svn: 109083
2010-07-22 06:24:48 +00:00
Owen Anderson
2553a4be1a
Revert r109079, which broke a lot of CodeGen tests.
...
llvm-svn: 109082
2010-07-22 06:01:28 +00:00
Owen Anderson
01e73ac583
Update CMake files.
...
llvm-svn: 109081
2010-07-22 06:00:01 +00:00
Reid Kleckner
3a876ca187
Initial modifications to MCAssembler and TargetMachine for the MCJIT.
...
Patch by Olivier Meurant!
llvm-svn: 109080
2010-07-22 05:58:53 +00:00
Evan Cheng
f1ca10c69f
Initialize RegLimit only when register pressure is being tracked.
...
llvm-svn: 109079
2010-07-22 05:18:41 +00:00
Eric Christopher
4924d5fb93
Custom lower the memory barrier instructions and add support
...
for lowering without sse2. Add a couple of new testcases.
Fixes a few libgomp tests and latent bugs. Remove a few todos.
llvm-svn: 109078
2010-07-22 02:48:34 +00:00
Evan Cheng
32f6aba7d8
Fix constant island pass's handling of tBR_JTr. The offset of the instruction does not have to be 4-byte aligned. Rather, it's the offset + 2 that must be aligned since the instruction expands into:
...
mov pc, r1
.align 2
LJTI0_0_0:
.long LBB0_14
This fixes rdar://8213383. No test case since it's not possible to come up with a suitable small one.
llvm-svn: 109076
2010-07-22 02:09:47 +00:00
Lang Hames
6c2677e83c
If 'other' was empty 'overlapsFrom(other, other.begin());' will segfault. This avoids that.
...
llvm-svn: 109075
2010-07-22 02:05:10 +00:00
Daniel Dunbar
e9993379d7
lit: Add some example tests for previous commit.
...
llvm-svn: 109071
2010-07-22 00:40:19 +00:00
Eric Christopher
5901214b6a
80-columns.
...
llvm-svn: 109070
2010-07-22 00:26:08 +00:00
Nate Begeman
c50bef0df7
Make fast isel win64-aware w.r.t. call-clobbered regs
...
llvm-svn: 109069
2010-07-22 00:09:39 +00:00
Evan Cheng
5aa6a25102
More register pressure aware scheduling work.
...
llvm-svn: 109064
2010-07-21 23:53:58 +00:00
Bruno Cardoso Lopes
5920e38cd2
Add more 256-bit forms for a bunch of regular AVX instructions
...
Add 64-bit (GR64) versions of some instructions (which are not
described in their SSE forms, but are described in AVX)
llvm-svn: 109063
2010-07-21 23:53:50 +00:00
Daniel Dunbar
044ebec2b8
lit: Add support for 'REQUIRES: feature-one, feature-two, ...' in the
...
integrated-test formats (sh and tcl style). The particular features which get
recognized are up to the test suite itself to define.
llvm-svn: 109062
2010-07-21 23:39:57 +00:00
Dan Gohman
859ffd353e
Make NamedMDNode not be a subclass of Value, and simplify the interface
...
for creating and populating NamedMDNodes.
llvm-svn: 109061
2010-07-21 23:38:33 +00:00
Rafael Espindola
c8342b43c4
Fixes win64. It was broken by a previous patch where I missed the !isWin64
...
and then forced every register to be a vr128 on win64.
llvm-svn: 109060
2010-07-21 23:19:57 +00:00
Owen Anderson
b36d01c1b6
Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.
...
llvm-svn: 109058
2010-07-21 23:07:00 +00:00
Jim Grosbach
489d758ea8
For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
...
rdar://8202967
llvm-svn: 109057
2010-07-21 23:03:52 +00:00
Chris Lattner
418c190d93
add some rough support for making mcinst lowering work without an
...
asmprinter or mangler around. This is option #B for killing off
X86InstrInfo::GetInstSizeInBytes. Option #A (killing
"needsexactsize") was sent for consideration to llvmdev.
llvm-svn: 109056
2010-07-21 23:03:35 +00:00
Owen Anderson
e380b82a47
First stab at updating the documentation for INITIALIZE_PASS().
...
llvm-svn: 109055
2010-07-21 22:58:07 +00:00
Eric Christopher
3d118d5e8a
Baby steps towards ARM fast-isel.
...
llvm-svn: 109047
2010-07-21 22:26:11 +00:00
Owen Anderson
f8addbb0a1
Fix batch of converting RegisterPass<> to INTIALIZE_PASS().
...
llvm-svn: 109045
2010-07-21 22:09:45 +00:00
Eric Christopher
6cca3f8439
Hack around extracts that aren't easy to process.
...
llvm-svn: 109043
2010-07-21 22:07:19 +00:00
Jim Grosbach
2dc4ae051d
tidy up
...
llvm-svn: 109042
2010-07-21 22:04:53 +00:00
Bruno Cardoso Lopes
eea3b7ed83
Add missing AVX convert instructions. Those instructions are not described in their SSE forms (although they exist), but add the AVX forms anyway, so the assembler can benefit from it
...
llvm-svn: 109039
2010-07-21 21:37:59 +00:00
Jim Grosbach
4d3c808fd9
tidy up.
...
llvm-svn: 109038
2010-07-21 21:36:25 +00:00
Jim Grosbach
6b4f9f4c14
80 column and trailing whitespace cleanup
...
llvm-svn: 109037
2010-07-21 21:21:52 +00:00
Dan Gohman
bb800aa2f7
Add some debug output to help diagnose PR7689.
...
llvm-svn: 109036
2010-07-21 21:18:37 +00:00
Nate Begeman
e7ca21ab3b
Fix a couple issues with Win64 ABI
...
1) all registers were spilled as xmm, regardless of actual size
2) win64 abi doesn't do the varargs-size-in-%al thing
Still to look into:
xmm6-15 are marked as clobbered by call instructions on win64 even though they aren't.
llvm-svn: 109035
2010-07-21 20:49:52 +00:00
Owen Anderson
e8e8b5a744
Add the INITIALIZE_PASS macro.
...
llvm-svn: 109034
2010-07-21 20:46:41 +00:00
Bruno Cardoso Lopes
1284fdc932
Avoid AVX instructions to be selected instead of its SSE form
...
llvm-svn: 109032
2010-07-21 20:38:42 +00:00
Dan Gohman
f4c6f5cc46
NamedMDNode is never an operand.
...
llvm-svn: 109031
2010-07-21 20:25:43 +00:00
Dan Gohman
fc3ee085a0
Disallow null as a named metadata operand.
...
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.
One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).
llvm-svn: 109028
2010-07-21 18:54:18 +00:00
Daniel Dunbar
5b941007ca
Use System/DataTypes.h instead of stdint.h, which isn't portable.
...
llvm-svn: 109026
2010-07-21 18:48:59 +00:00
Dan Gohman
b0db34a612
Use TrackingVH instead of WeakVH for NamedMDNode's operands, since nodes
...
referenced by NamedMDNodes shouldn't be deleted.
llvm-svn: 109021
2010-07-21 18:01:42 +00:00
Dan Gohman
328a6ebeae
Tidy.
...
llvm-svn: 109020
2010-07-21 17:53:53 +00:00
Owen Anderson
f26c7a852f
Move the smarts of AnalysisGroup registration into PassRegistry.
...
llvm-svn: 109019
2010-07-21 17:52:45 +00:00
Dan Gohman
77fda3c4aa
Delete an obsolete comment.
...
llvm-svn: 109017
2010-07-21 17:21:27 +00:00
Chris Lattner
538de44e5c
strip out the 2.7 release notes, this really is the 2.8 release notes
...
now. Add a few items like the fpstackifier improvements.
llvm-svn: 109013
2010-07-21 15:57:40 +00:00
Rafael Espindola
9aab8413b8
Fix calling convention on ARM if vfp2+ is enabled.
...
llvm-svn: 109009
2010-07-21 11:38:30 +00:00
Gabor Greif
995ca8288c
appease Validator
...
llvm-svn: 109007
2010-07-21 10:22:41 +00:00
Gabor Greif
c1c01f33ec
add info on operand rotation
...
llvm-svn: 109006
2010-07-21 10:20:08 +00:00
Eric Christopher
959481ec87
Pulling out previous patch, must've run the tests in
...
the wrong directory.
llvm-svn: 109005
2010-07-21 09:23:56 +00:00