Dan Gohman
29d2716766
Add some debug output to help diagnose PR7689.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109036 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 21:18:37 +00:00
Nate Begeman
c8ea673bc0
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109035 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 20:49:52 +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
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
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
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
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
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
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
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
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
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
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
Dan Gohman
a09e67af33
Remove setDbgMetadata and getDbgMetadata; their users have been
...
replaced with setDebugLoc and getDebugLoc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108914 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 20:18:21 +00:00
Owen Anderson
8238f02650
Let's get those buildbots green: #include is needed in the header, not just the implementation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108912 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 20:16:11 +00:00
Dan Gohman
bda0252639
Use getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata,
...
avoiding MDNode overhead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108909 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 20:09:07 +00:00
Chris Lattner
e5b2b88381
apparently also missing an include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108908 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 20:06:19 +00:00
Chris Lattner
8f5880c093
this is in System
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108895 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 19:54:01 +00:00
Bruno Cardoso Lopes
e1c29be6f0
Add new AVX instruction vinsertf128
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108892 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 19:44:51 +00:00
Chris Lattner
6f0414a407
turn this into a normal header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108891 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 19:43:19 +00:00
Chris Lattner
1c861a0253
hopefully heal the linux builders
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108890 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 19:40:51 +00:00
Owen Anderson
ee9886ed3d
I just fail with SVN today.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108888 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 19:23:55 +00:00
Chris Lattner
a4f15d66ab
there is no reason to dynamically generate a static header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108887 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 18:59:58 +00:00
Chris Lattner
234db004f9
drop edinfo.inc into the objdir for src!=objdir builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108886 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 18:53:27 +00:00
Eric Christopher
aab5b3259f
Update header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108883 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 18:46:43 +00:00
Owen Anderson
39b890dfa2
Convert the internal PassRegistrar class into a new, external PassRegistry class. No intended functionality change at this point.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108877 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 18:39:06 +00:00