Owen Anderson
bdd57371bc
Add the INITIALIZE_PASS macro.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109034 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 20:46:41 +00:00
Bruno Cardoso Lopes
928fc3b4a0
Avoid AVX instructions to be selected instead of its SSE form
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 20:38:42 +00:00
Dan Gohman
557c83c99e
NamedMDNode is never an operand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109031 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 20:25:43 +00:00
Dan Gohman
872814ae04
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 18:54:18 +00:00
Daniel Dunbar
ec237ffd28
Use System/DataTypes.h instead of stdint.h, which isn't portable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109026 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 18:48:59 +00:00
Dan Gohman
d9c86dc6d9
Use TrackingVH instead of WeakVH for NamedMDNode's operands, since nodes
...
referenced by NamedMDNodes shouldn't be deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109021 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 18:01:42 +00:00
Dan Gohman
1ec7f5feb3
Tidy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109020 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 17:53:53 +00:00
Owen Anderson
9650983b9a
Move the smarts of AnalysisGroup registration into PassRegistry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109019 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 17:52:45 +00:00
Dan Gohman
4595321521
Delete an obsolete comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109017 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 17:21:27 +00:00
Chris Lattner
922d00f5f5
strip out the 2.7 release notes, this really is the 2.8 release notes
...
now. Add a few items like the fpstackifier improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109013 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 15:57:40 +00:00
Rafael Espindola
bc56501435
Fix calling convention on ARM if vfp2+ is enabled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109009 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 11:38:30 +00:00
Gabor Greif
50fb330b8d
appease Validator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109007 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 10:22:41 +00:00
Gabor Greif
17b59fe2d3
add info on operand rotation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109006 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 10:20:08 +00:00
Eric Christopher
dab4dac2a0
Pulling out previous patch, must've run the tests in
...
the wrong directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109005 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 09:23:56 +00:00
Eric Christopher
87f41370a8
Lower MEMBARRIER on x86 and support processors without SSE2.
...
Fixes a pile of libgomp failures in the llvm-gcc testsuite due
to the libcall not existing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109004 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 09:05:23 +00:00
Lang Hames
5a8ea65c5c
Changed OStream templates to functions on raw_ostream, removed the unused "renderWarnings" function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109003 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 09:02:06 +00:00
Bruno Cardoso Lopes
cf6ca03128
Add AVX only vzeroall and vzeroupper instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109002 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 08:56:24 +00:00
Gabor Greif
c61f6b424b
restore aesthetics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109001 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 08:25:55 +00:00
Evan Cheng
4f6b4674be
Teach bottom up pre-ra scheduler to track register pressure. Work in progress.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108991 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 06:09:07 +00:00
Eric Christopher
80a16b0569
Turn this test on again after the llvm-gcc change in r108986.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108987 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 04:54:06 +00:00
Eric Christopher
302313fc09
Update this to use a "valid" alignment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108985 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 04:51:24 +00:00
Bruno Cardoso Lopes
7d7d15a159
Add new AVX vpermilps, vpermilpd and vperm2f128 instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108984 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 03:07:42 +00:00
Bruno Cardoso Lopes
4b13f3cf3d
Add new AVX vmaskmov instructions, and also fix the VEX encoding bits to support it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108983 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 02:46:58 +00:00
Dan Gohman
3bdfbf5d56
Give MDNode printing has access to the current Module in more
...
cases. This will be needed when function-local metadata can
appear in places that aren't intrinsic function arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108971 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 23:55:01 +00:00
Jakob Stoklund Olesen
f2c6e367c1
Change the createSpiller interface to take a MachineFunctionPass argument.
...
The spillers can pluck the analyses they need from the pass reference.
Switch some never-null pointers to references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108969 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 23:50:15 +00:00
Dan Gohman
549979f550
Make this code a little more readable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108968 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 23:49:44 +00:00
Dan Gohman
333a94765a
Use DebugLocs instead of MDNodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108967 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 23:49:05 +00:00
Owen Anderson
539673579e
Move the handling of PassRegistrationListener's to PassRegistry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108966 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 23:41:56 +00:00
Bruno Cardoso Lopes
1154f426d7
Add new AVX vextractf128 instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108964 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 23:19:02 +00:00
Dan Gohman
e336cbc450
Fix a typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108962 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 23:10:36 +00:00
Dan Gohman
7bc230ec6a
Don't look up the "dbg" metadata kind by name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108961 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 23:09:34 +00:00
Chris Lattner
6e8154354f
make asmprinter optional, even though passing in null will cause things to explode right now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108955 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 22:45:33 +00:00
Greg Clayton
98cfb53af4
Added support to MachO.h for many defines and structures that are needed
...
to Parse mach-o files. All defines have been renamed to not conflict with
#defines in mach header files, all structures were left named the same but
are in the llvm::MachO namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108953 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 22:36:00 +00:00
Chris Lattner
cb63ecba31
continue pushing dependencies around.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108952 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 22:35:40 +00:00
Chris Lattner
c0115b5ca1
reduce X86MCInstLower dependencies on asmprinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108950 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 22:30:53 +00:00
Chris Lattner
0c13cf36ad
pass around MF, not MMI.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108949 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 22:26:07 +00:00
Dan Gohman
4f1be4abba
Rename removeAllMetadata to clearMetadataHashEntries and simplify
...
it to just do the things that need to be done when an instruction
is deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108948 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 22:25:04 +00:00
Chris Lattner
7648bd428b
cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108947 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 22:23:57 +00:00
Chris Lattner
1a34c83caf
move two asmprinter methods into the asmprinter .cpp file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108945 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 22:18:19 +00:00
Jakob Stoklund Olesen
6a0dc079ef
Implement loop splitting analysis.
...
Determine which loop exit blocks need a 'pre-exit' block inserted.
Recognize when this would be impossible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108941 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:46:58 +00:00
Dan Gohman
5d80911983
Remove an obsolete comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108940 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:45:17 +00:00
Dan Gohman
19538d1e9f
Add support for remapping metadata kind IDs when reading in a
...
bitcode file, so that two bitcode files where the same metadata kind
name happens to have been assigned a different ID can still be
linked together.
Eliminate the restriction that metadata kind IDs can't be 0.
Change MD_dbg from 1 to 0, because we can now, and because it's
less mysterious that way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108939 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:42:28 +00:00
Matt Fleming
a7f9563c01
Include some tests for the recently committed ELF section directive
...
handlers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108938 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:37:30 +00:00
Dale Johannesen
21d35c1399
Fix test for switch statements and increase
...
threshold a bit per experimentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108935 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:29:12 +00:00
Chris Lattner
c510a7097b
there is now no reason to link in TARGETS_TO_BUILD since we list
...
arm explicitly. X86 and ARM are the only two targets that support
disassembly, so our explicit list is enough. These other targets
weren't getting pulled in anyway though, since there were no
references to their symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108934 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:26:27 +00:00
Chris Lattner
6f2cea0186
fix edis to only try to link in the x86 parts if the x86 backend is
...
enabled. Add direct ARM support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108933 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:23:57 +00:00
Owen Anderson
aac07eaeef
Move more functionality from Pass.cpp to PassRegistry.cpp. This global will go away eventually, but for now we still need it around.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108932 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:22:24 +00:00
Douglas Gregor
aad9c4cf67
Fix edis makefile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108931 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:21:27 +00:00
Chris Lattner
4dbbe3433f
prune #includes a little.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108929 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:17:29 +00:00
Matt Fleming
f525c2a8af
Add some more handlers for ELF section directives.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108928 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 21:12:46 +00:00