mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2025-11-08 20:11:01 +00:00
Squashed commit of the following:
commit b743e68144f4a59dac95dc80251fd794ba58e8d8
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Mon Feb 15 15:17:05 2010 +0000
CMake: Fixed syntax in conditional.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96221 91177308-0d34-0410-b5e6-96231b3b80d8
commit 011dfdfde2e50769b9f276ad614bd888b12fc7ae
Author: Andrew Lenharth <alenhar2@cs.uiuc.edu>
Date: Mon Feb 15 15:00:44 2010 +0000
Fix changes from r75027
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96220 91177308-0d34-0410-b5e6-96231b3b80d8
commit d31ee026569a5f24c445267e016cf9910583ecd1
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 15 10:28:37 2010 +0000
When testing whether a given SCEV depends on a temporary symbolic
name, test whether the SCEV itself is that temporary symbolic name,
in addition to checking whether the symbolic name appears as a
possibly-indirect operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96216 91177308-0d34-0410-b5e6-96231b3b80d8
commit 657373b3503c19e66e2dd7a396f14b8986883f81
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 08:04:42 2010 +0000
Check in the first big step of rewriting DAGISelEmitter to
produce a table based matcher instead of gobs of C++ Code.
Though it's not done yet, the shrinkage seems promising,
the table for the X86 ISel is 75K and still has a lot of
optimization to come (compare to the ~1.5M of .o generated
the old way, much of which will go away).
The code is currently disabled by default (the #if 0 in
DAGISelEmitter.cpp). When enabled it generates a dead
SelectCode2 function in the DAGISel Header which will
eventually replace SelectCode.
There is still a lot of stuff left to do, which are
documented with a trail of FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96215 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0dc91ca186b2e7dd7c308c4e6cf7d3e7969ca5e3
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 07:11:34 2010 +0000
give SDValue an operator->, allowing V->isTargetOpcode() and
many other natural things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96214 91177308-0d34-0410-b5e6-96231b3b80d8
commit f02f4757dc20afc15f8a81a882b4f1ecefd00077
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 06:39:31 2010 +0000
don't make insanely large node numbers for no reason,
packing somewhat densely is better than not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96213 91177308-0d34-0410-b5e6-96231b3b80d8
commit a4aac10ec660a06e22dce191128eb5024ab21518
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 06:38:41 2010 +0000
no need to add the instruction count anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96212 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1bba1bac8b95c78b92a4a72b5705e2a25713755f
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Feb 15 03:17:06 2010 +0000
Revert r96130 ("Forward parameter options as '-option=param'").
This behaviour must be configurable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96210 91177308-0d34-0410-b5e6-96231b3b80d8
commit bd9b922998ba89ea8f5d1189eace6e32789abaad
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 02:18:26 2010 +0000
enhance raw_svector_ostream::write_impl to work with unbuffered streams,
which may call write_impl on things that are not the usual buffer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96209 91177308-0d34-0410-b5e6-96231b3b80d8
commit 55386b01a4cecd00ced70506053c42a484377f97
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 02:17:50 2010 +0000
make PadToColumn return the stream so you can use:
OS.PadToColumn(42) << "foo";
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96208 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2fb413bb51d0dee81a73bd9172f9143a34131f00
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 15 01:45:47 2010 +0000
Ignore DBG_VALUE in a couple more places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96207 91177308-0d34-0410-b5e6-96231b3b80d8
commit f26cfe1cb289c64d1b4837ee27cf8a82c807c52b
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 15 00:21:43 2010 +0000
When restoring a saved insert location, check to see if the saved
insert location has become an "inserted" instruction since the time
it was saved. If so, advance to the first non-"inserted" instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96203 91177308-0d34-0410-b5e6-96231b3b80d8
commit ace26149d15397912b33d27b2581d5c8152ff748
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 22:33:49 2010 +0000
constize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96199 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8205a02f245f50066f35d18b185b10f6991437a
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 22:22:58 2010 +0000
clean up a bunch of code, move some random predicates
on TreePatternNode to be methods on TreePatternNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96197 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7345cb780331e29aaf65aac22dd0fa47cb2ab3a
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 21:53:19 2010 +0000
mark "addr" as having type "iPTR", eliminating some type comparisons
in hte generated dag isel fil.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96193 91177308-0d34-0410-b5e6-96231b3b80d8
commit d61d15ec8e1c357e5b95d2cb5165134f8a969d49
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 21:11:53 2010 +0000
remove the DisablePatternForFastISel predicate, which is a check
that predated -fast-isel which attempted to speed up the dag pattern
matchers at -O0. Since fast-isel is around, this is basically
obsolete and removing it shrinks the generated dag isels.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96188 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5e3d5991f3236a4d47a10fed9b3a49fdac06e873
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 21:10:33 2010 +0000
add an insertion operator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96187 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9579a01585fd387c4d3d4dcc422b6adcec0d91d4
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 21:10:15 2010 +0000
tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96186 91177308-0d34-0410-b5e6-96231b3b80d8
commit 99fca24dccf031de508b81747ae8370f86360845
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 18:51:39 2010 +0000
Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96179 91177308-0d34-0410-b5e6-96231b3b80d8
commit c406240f44cb131e976cb4d51b7ab83a7b0b0ed9
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 18:51:20 2010 +0000
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96178 91177308-0d34-0410-b5e6-96231b3b80d8
commit 82460b98c2e062fd5148427a9cb1cb78a4909769
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 18:50:49 2010 +0000
When complicated expressions are broken down into subexpressions
with multiplication by constants distributed through, occasionally
those subexpressions can include both x and -x. For now, if this
condition is discovered within LSR, just prune such cases away,
as they won't be profitable. This fixes a "zero allocated in a
base register" assertion failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96177 91177308-0d34-0410-b5e6-96231b3b80d8
commit 40742a3a3882348c797524c7c86a9ec5814725aa
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Sun Feb 14 18:27:42 2010 +0000
fixes to pagesel/banksel inserter.
1. restore these across direct/indirect calls.
2. restore pagesel for any macros with gotos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96175 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33e8473580e0fbf1f3a69fdc43933f5587017f55
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Feb 14 18:25:41 2010 +0000
Forgot to commit the header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96174 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc2ace8a01bf1365ef8ee7b51c5c11ae8948fa0d
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 18:20:09 2010 +0000
follow-on to PR6280
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96172 91177308-0d34-0410-b5e6-96231b3b80d8
commit 47600ebabd031883ce4391d8b6cb731be4fdb52a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Feb 14 15:19:54 2010 +0000
Drop winmcasminfo and use normal AT&T COFF for all windows targets.
Otherwise AT&T asm printer is used with non-compatible MCAsmInfo and
there is no way to override this behaviour.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96165 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3efdcb0c01aaf4f8ce026b8951a1355c07ea83ac
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sun Feb 14 06:32:20 2010 +0000
Try to factorize the specification of saturating add/subtract operations a bit,
as suggested by Bob Wilson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96153 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a3f2908bb5c8bb7a7a431b46da88c0312fbf07f
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 03:21:49 2010 +0000
Actually, this code doesn't have to be quite so conservative in
the no-TLI case. But it should still default to declining the
transformation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96152 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8bbd4650fd1deb087fc0d14ef7ddd75433a56f61
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 03:12:47 2010 +0000
In rememberInstruction, if the value being remembered is the
current insertion point, advance the current insertion point.
This avoids a use-before-def situation in a testcase extracted
from clang which is difficult to reduce to a reasonable-sized
regression test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96151 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0c74bfa2a1ddd7a2ef248b0230fedf9876b8f575
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 02:48:58 2010 +0000
Simplify this code; no need for a custom subclass if it doesn't need
to override anything from the parent class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96150 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74fca1b9ff661b978f7618e0728f73e0fdd54a6d
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 02:47:26 2010 +0000
Remove a 'protected' keyword, now that SCEVExpander is no longer
intended to be subclassed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96149 91177308-0d34-0410-b5e6-96231b3b80d8
commit f264808f2cb4a8b38128c3a7ae2b4f1d879d3a4e
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 02:45:21 2010 +0000
Don't attempt aggressive post-inc uses if TargetLowering is not available,
because profitability can't be sufficiently approximated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96148 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2aed470b47f8328773c0ddb95cf580fd3925d934
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sun Feb 14 01:47:19 2010 +0000
2.7: Note that DataTypes.h moved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96143 91177308-0d34-0410-b5e6-96231b3b80d8
commit eead7ba8da9d823e3bc0a65749598cab9884a89f
Author: John McCall <rjmccall@apple.com>
Date: Sat Feb 13 23:40:16 2010 +0000
Make LSR not crash if invoked without target lowering info, e.g. if invoked
from opt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96135 91177308-0d34-0410-b5e6-96231b3b80d8
commit 44f9090da450cf9dacfb75992fd9aeb26f68fc4d
Author: Eric Christopher <echristo@apple.com>
Date: Sat Feb 13 23:38:01 2010 +0000
Fix a problem where we had bitcasted operands that gave us
odd offsets since the bitcasted pointer size and the offset pointer
size are going to be different types for the GEP vs base object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96134 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8042b4e7edc9d542d2e58143943ffb3beaed9390
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sat Feb 13 22:37:28 2010 +0000
Forward parameter options as '-option=parameter'.
Some tools do not like the '-option parameter' form. Should this be
configurable?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96130 91177308-0d34-0410-b5e6-96231b3b80d8
commit 92cd5e38ac6edcef4b749c69b80746c4259989a2
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sat Feb 13 22:37:13 2010 +0000
Support some more Darwin-only options.
We really need a conditional compilation mechanism...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96129 91177308-0d34-0410-b5e6-96231b3b80d8
commit 49f2808120c4d0f15687725809b0e536474e791a
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sat Feb 13 22:37:00 2010 +0000
Support -mfix-and-continue properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96128 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50d6b85789129c236b23be735e1b32dd63abc8ca
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sat Feb 13 22:36:43 2010 +0000
Revert r94752, turns out we don't need to touch these options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96127 91177308-0d34-0410-b5e6-96231b3b80d8
commit f23debd520b74ad86a216ada0e01f7fd0ffc61e2
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 22:23:47 2010 +0000
Trim trailing spaces (aka, trigger rebuild).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96126 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b0a6878e6c460e05f4b03c46bac57a7fa59a59c
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 20:06:50 2010 +0000
pull a bunch of huge inline methods in the PatternCodeEmitter
class out of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96113 91177308-0d34-0410-b5e6-96231b3b80d8
commit 663660c70218e3a2d5278c28c9565a818151c332
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 19:16:53 2010 +0000
teach the encoder to handle pseudo instructions like FP_REG_KILL,
encoding them into nothing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96110 91177308-0d34-0410-b5e6-96231b3b80d8
commit 30b038f436af6b6fd4628abf88d49d40c23d0fc1
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 19:07:06 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96109 91177308-0d34-0410-b5e6-96231b3b80d8
commit e253572d2fad7b182b894cbc7289ffc3375560f6
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:45:59 2010 +0000
MCAssembler: Fix pcrel relocations. Oh and,
--
ddunbar@ozzy:tmp$ clang -m32 -integrated-as hello.c && ./a.out
hello world!
--
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96096 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf1ebe1dbfdd13d852f13bf8d6974f3f5d87a0d4
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:29:02 2010 +0000
MC/Mach-O: Start emitting fixups/relocations for instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96095 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc7fba3c3fed472e1ad8dc3e649dd60482500e98
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:54 2010 +0000
MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96094 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f39f69797b8f84d4a40ab7ba02a93f55996444c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:43 2010 +0000
MCAssembler: Sink fixup list into MCDataFragment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96093 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6e60008ce79947b3de0cfaf1db17750a162c93aa
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:32 2010 +0000
MCAssembler: Switch MCFillFragment to only taking constant values. Symbolic expressions can always be emitted as data + fixups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96092 91177308-0d34-0410-b5e6-96231b3b80d8
commit 09b30df90d48aca2e01f3f79e5067796f221f058
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:22 2010 +0000
MC/Mach-O: Implement EmitValue using data fragments + fixups instead of fill fragment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96091 91177308-0d34-0410-b5e6-96231b3b80d8
commit 290d22e0420d15aa4ea88760f8e3e4dacc97892f
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:15 2010 +0000
MCAssembler: Start applying fixups in the data section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96090 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb1e5f4b351ffa37946abf905337573a8dc0f70b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:03 2010 +0000
MCAssembler: Add assorted dump() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96089 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed2a7790092b11455a8595c78c875f5f975e4162
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:27:52 2010 +0000
X86: Move extended MCFixupKinds into X86FixupKinds.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96088 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca1cd7f210bbbb36d3124bf4acc3a04631042752
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 05:35:08 2010 +0000
Split some code out to a helper function (FindReusablePredBB)
and add a doxygen comment.
Cache the phi entry to avoid doing tons of
PHINode::getBasicBlockIndex calls in the common case.
On my insane testcase from re2c, this speeds up CGP from
617.4s to 7.9s (78x).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96083 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdfc77eb6fbafeed46c78bc811fcc2209946c066
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 05:01:14 2010 +0000
Speed up codegen prepare from 3.58s to 0.488s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96081 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74a9792208d00e0f761b05f81ffeafbace02c098
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 04:24:19 2010 +0000
PHINode::getBasicBlockIndex is O(n) in the number of inputs
to a PHI, avoid it in the common case where the BB occurs
in the same index for multiple phis. This speeds up CGP on
an insane testcase from 8.35 to 3.58s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96080 91177308-0d34-0410-b5e6-96231b3b80d8
commit b57f90e32d5fe848d9f74f11a28bc850bde69e87
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 04:15:26 2010 +0000
iterate over preds using PHI information when available instead of
using pred_begin/end. It is much faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96079 91177308-0d34-0410-b5e6-96231b3b80d8
commit ecdb218b1b4d1f8ab7bf8d17b0c9ec123e8cd566
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 04:04:42 2010 +0000
speed up CGP a bit by scanning predecessors through phi operands
instead of with pred_begin/end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96078 91177308-0d34-0410-b5e6-96231b3b80d8
commit a17ee30ede09175873860c5dead5c87c4f998729
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 03:42:24 2010 +0000
add encoder support and tests for rdtscp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96076 91177308-0d34-0410-b5e6-96231b3b80d8
commit d12893a3644282505cc9646c5b105377b431f48a
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sat Feb 13 02:51:09 2010 +0000
Add SETEND and BXJ instructions for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96075 91177308-0d34-0410-b5e6-96231b3b80d8
commit 16468d9e438555645102fbb2778432bd35abd4c3
Author: Sean Callanan <scallanan@apple.com>
Date: Sat Feb 13 02:06:11 2010 +0000
Added the rdtscp instruction to the x86 instruction
tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96073 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0cf36cd25850354adaf0f3edf3de938e0ec3bc80
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Sat Feb 13 02:06:10 2010 +0000
Fix PR6283.
When coalescing with a physreg, remember to add imp-def and imp-kill when
dealing with sub-registers.
Also fix a related bug in VirtRegRewriter where substitutePhysReg may
reallocate the operand list on an instruction and invalidate the reg_iterator.
This can happen when a register is mentioned twice on the same instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96072 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8f5f11fcbf30f78b7a5329a531e27f245db19c45
Author: Dan Gohman <gohman@apple.com>
Date: Sat Feb 13 02:06:02 2010 +0000
Fix a pruning heuristic which implicitly assumed that SmallPtrSet is
deterministically sorted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96071 91177308-0d34-0410-b5e6-96231b3b80d8
commit eff3bca8f97276e92e90f8d56c9e4291a66c4341
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 13 01:56:41 2010 +0000
Teach MachineFrameInfo to track maximum alignment while stack objects are being
created. This ensures it's updated at all time. It means targets which perform
dynamic stack alignment would know whether it is required and whether frame
pointer register cannot be made available register allocation.
This is a fix for rdar://7625239. Sorry, I can't create a reasonably sized test
case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96069 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e628ba996e2e2af6de56252cca6e53f426301b7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Sat Feb 13 01:51:53 2010 +0000
Enable the inlinehint attribute in the Inliner.
Functions explicitly marked inline will get an inlining threshold slightly
more aggressive than the default for -O3. This means than -O3 builds are
mostly unaffected while -Os builds will be a bit bigger and faster.
The difference depends entirely on how many 'inline's are sprinkled on the
source.
In the CINT2006 suite, only these tests are significantly affected under -Os:
Size Time
471.omnetpp +1.63% -1.85%
473.astar +4.01% -6.02%
483.xalancbmk +4.60% 0.00%
Note that 483.xalancbmk runs too quickly to give useful timing results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96066 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d3a51e5f880151165ac69bba2515f328ed66515
Author: Sean Callanan <scallanan@apple.com>
Date: Sat Feb 13 01:48:34 2010 +0000
Fixed encodings for invlpg, invept, and invvpid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96065 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58d70fd72375c42ccbb96705419ed1e13a44fdc7
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 01:28:07 2010 +0000
MC/AsmParser: Attempt to constant fold expressions up-front. This ensures we avoid fixups for obvious cases like '-(16)'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96064 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbc39e6574315ebfefa022c80b089212f9bb796e
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sat Feb 13 01:21:01 2010 +0000
Added a bunch of saturating add/subtract instructions for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96063 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3116cb4e9495b87fdab0c951cc7d155f6b33b6c3
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 00:49:29 2010 +0000
rip out the 'heinous' x86 MCCodeEmitter implementation.
We still have the templated X86 JIT emitter, *and* the
almost-copy in X86InstrInfo for getting instruction sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96059 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7045e8c400a5496101069eb11da81da4a40ccad0
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 00:41:14 2010 +0000
remove special cases for vmlaunch, vmresume, vmxoff, and swapgs
fix swapgs to be spelled right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96058 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62b451b2ee84750519f2508d2945ed576a1cd034
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Feb 13 00:31:44 2010 +0000
Besides removing phi cycles that reduce to a single value, also remove dead
phi cycles. Adjust a few tests to keep dead instructions from being optimized
away. This (together with my previous change for phi cycles) fixes Apple
radar 7627077.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96057 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7f18489ed04021e50814b8b8232e2c303f5bd89
Author: Dan Gohman <gohman@apple.com>
Date: Sat Feb 13 00:19:39 2010 +0000
Override dominates and properlyDominates for SCEVAddRecExpr, as a
SCEVAddRecExpr doesn't necessarily dominate blocks merely dominated
by all of its operands. This fixes an abort compiling 403.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96056 91177308-0d34-0410-b5e6-96231b3b80d8
commit 96b7ae4a9f1f68fd1cf9ec8c8bd828aa40fdf7c5
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 00:17:21 2010 +0000
MC/X86: Push immediate operands as immediates not expressions when possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96055 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8587b0bf8eb4a2d867b2a0243b4a115221df45dd
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Sat Feb 13 00:03:17 2010 +0000
Make PassRegistrar thread-safe since it can be modified by code running in
separate LLVMContexts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96051 91177308-0d34-0410-b5e6-96231b3b80d8
commit 11203379493732fa422589f5c9ff46e7ae4e17c3
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:54:57 2010 +0000
Remove special cases for [LM]FENCE, MONITOR and MWAIT from
encoder and decoder by using new MRM_ forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96048 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8002ba66e96485214e3c57b43b4d6eb7706522d1
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:46:48 2010 +0000
add some disassemble testcases for weird instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96045 91177308-0d34-0410-b5e6-96231b3b80d8
commit a37c9b5a95253eb24d2658d55adb1c73b605c915
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Feb 12 23:39:46 2010 +0000
Reworked the Intel disassembler to support instructions
whose opcodes extend into the ModR/M field using the
Form field of the instruction rather than by special
casing each instruction. Commented out the special
casing of VMCALL, which is the first instruction to use
this special form. While I was in the neighborhood,
added a few comments for people modifying the Intel
disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96043 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62574fd778f9c1cd9b8e1404d1ad92daa0e8110f
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:24:09 2010 +0000
implement the rest of correct x86-64 encoder support for
rip-relative addresses, and add a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96040 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3aaba2b64692bb1b59451546fba55b4d06fe5df0
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 12 23:16:24 2010 +0000
Add the problem I just hacked around in 96015/96020.
The solution there produces correct code, but is seriously
deficient in several ways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96039 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5978124b36300af6cb60dfd56c4200d4156eeb0f
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:12:47 2010 +0000
give MCCodeEmitters access to the current MCContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96038 91177308-0d34-0410-b5e6-96231b3b80d8
commit faa7feddabee6e3f294785114ef824326268edf4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 12 23:05:31 2010 +0000
Make JIT::runFunction clean up the generated stub function.
Patch by Shivram K!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96037 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0609b1e6d69aa82937e6f54af73c92c6596252da
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:00:36 2010 +0000
implement infrastructure to support fixups for rip-rel
addressing. This isn't complete because I need an MCContext
to generate new MCExprs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96036 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2ceb228ee2b5482144e935cbe17928f60648c601
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 22:53:19 2010 +0000
Add YIELD, WFE, WFI, and SEV instructions for disassembly only.
Plus add two formats: MiscFrm and ThumbMiscFrm. Some of the for disassembly
only instructions are changed from Pseudo Format to MiscFrm Format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96032 91177308-0d34-0410-b5e6-96231b3b80d8
commit 87ee5c9565c4362991e2fd99adf365f216574eff
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 22:47:55 2010 +0000
pull the rip-relative addressing mode case up early.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96031 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4410c7506473b5ff6c075356eed07fca9c87ec26
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 22:39:06 2010 +0000
fixme resolved!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96029 91177308-0d34-0410-b5e6-96231b3b80d8
commit da3abd11aead14b8b5812bb8a5dc7fff0687f399
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 22:36:47 2010 +0000
start producing reloc_pcrel_4byte/reloc_pcrel_1byte for calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96028 91177308-0d34-0410-b5e6-96231b3b80d8
commit c52c146a6c499821a37e4a260b17dcb65f46e2d1
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Feb 12 22:34:54 2010 +0000
Fix a comment typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96027 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f45b9dfd57cd29af5a286c95c67e7f8831e6599
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 22:27:07 2010 +0000
enhance the immediate field encoding to know whether the immediate
is pc relative or not, mark call and branches as pcrel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96026 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7312910f142ffc20c8ed466df2808be6e6ffbc65
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 22:17:21 2010 +0000
Load / store multiple instructions cannot load / store sp. Sorry, can't come up with a reasonable test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96023 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78597677837983b2bd54345792c5727e5cb7df0d
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 12 22:00:40 2010 +0000
This should have gone in with 26015, see comments there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96020 91177308-0d34-0410-b5e6-96231b3b80d8
commit 97637b840f772fd49bbb73c0ec32b578a30ddc59
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 21:59:23 2010 +0000
Add halfword multiply accumulate long SMLALBB/BT/TB/TT for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96019 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0bcde6783ba1ef149066bf5f226ea3b5bb204a62
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 21:54:28 2010 +0000
doxygenize some comments, patch by Peter Collingbourne!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96018 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9ccefd1972a73e609d2a4460ef24c4d1277332f
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 12 21:35:34 2010 +0000
When save/restoring CR at prolog/epilog, in a large
stack frame, the prolog/epilog code was using the same
register for the copy of CR and the address of the save slot. Oops.
This is fixed here for Darwin, sort of, by reserving R2 for this case.
A better way would be to do the store before the decrement of SP,
which is safe on Darwin due to the red zone.
SVR4 probably has the same problem, but I don't know how to fix it;
there is no red zone and R2 is already used for something else.
I'm going to leave it to someone interested in that target.
Better still would be to rewrite the CR-saving code completely;
spilling each CR subregister individually is horrible code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96015 91177308-0d34-0410-b5e6-96231b3b80d8
commit 964eda1b7e6d2c274537d6887598d94afc39cb86
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 20:49:41 2010 +0000
Add support for a union type in LLVM IR. Patch by Talin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96011 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d4b966df8f910f36c5d8e02befd5b8da5c39038
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 20:48:24 2010 +0000
Add SWP (Swap) and SWPB (Swap Byte) for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96010 91177308-0d34-0410-b5e6-96231b3b80d8
commit a477ca64a2ff06c295fc5d79a4ae847044964764
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 20:39:35 2010 +0000
Also recognize armv6t2-* and armv5te-* triplets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96008 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1abb17f23368025054fac2a266293c52308413c7
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 20:39:25 2010 +0000
Fix a case of mismatched types in an Add that turned up in 447.dealII.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96007 91177308-0d34-0410-b5e6-96231b3b80d8
commit db0084c8abbc02963d7087b1b89ed3ecb6bbc5d3
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 20:13:44 2010 +0000
Add ARM bitcode file magic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96006 91177308-0d34-0410-b5e6-96231b3b80d8
commit b20bd310eda5e159d28993229dabb4f6e481102c
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 19:35:25 2010 +0000
Reapply 95979, a compile-time speedup, now that the bug it exposed is fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96005 91177308-0d34-0410-b5e6-96231b3b80d8
commit 91e7b9265d247c5206860c9655fdee62d16a8512
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 19:20:37 2010 +0000
Fix this code to avoid dereferencing an end() iterator in
offset distributions it doesn't expect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96002 91177308-0d34-0410-b5e6-96231b3b80d8
commit f012c07c5e30ab36e1fc81c6e6a27f19dba4fd44
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 18:55:33 2010 +0000
Add CPS, MRS, MRSsys, MSR, MSRsys for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95999 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0abe9e7645ab2f98ceafea4644c210d270a3b5d2
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 12 18:40:17 2010 +0000
Rewrite handling of DBG_VALUE; previous algorithm
didn't handle
X =
Y<dead> = use X
DBG_VALUE(X)
I was hoping to avoid this approach as it's slower,
but I don't think it can be done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95996 91177308-0d34-0410-b5e6-96231b3b80d8
commit e92534406bed8cb0d869cf6f03bf0a0b5e8967e4
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 18:17:23 2010 +0000
1. modernize the constantmerge pass, using densemap/smallvector.
2. don't bother trying to merge globals in non-default sections,
doing so is quite dubious at best anyway.
3. fix a bug reported by Arnaud de Grandmaison where we'd try to
merge two globals in different address spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95995 91177308-0d34-0410-b5e6-96231b3b80d8
commit a996e79bdf9a1e3c94c87657c639ea3a4ff2a3cc
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 18:05:00 2010 +0000
rename test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95993 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0ac9e9e4b79e63595606f0c2a1f956b460c1529b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Feb 12 17:27:08 2010 +0000
Revert "Reverse the order for collecting the parts of an addrec. The order", it
is breaking llvm-gcc bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95988 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5d685a4fab6fd002bfd297096e3571df4deab415
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Feb 12 15:29:13 2010 +0000
Testcases for recent stdcall / fastcall mangling improvements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95982 91177308-0d34-0410-b5e6-96231b3b80d8
commit 412cd99612db589101a9a01cf76109f517045a77
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Feb 12 15:28:56 2010 +0000
Setup correct data layout to match gcc's expectations on mingw32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95981 91177308-0d34-0410-b5e6-96231b3b80d8
commit 24d33f599734b757d8574dbacbbfb7d09f43618d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Feb 12 15:28:40 2010 +0000
Cleanup stdcall / fastcall name mangling.
This should fix alot of problems we saw so far, e.g. PRs 5851 & 2936
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95980 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8ed2ebf5ac86bfd799d9bdc66f99abe73a96620
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 11:08:26 2010 +0000
Reverse the order for collecting the parts of an addrec. The order
doesn't matter, except that ScalarEvolution tends to need less time
to fold the results this way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95979 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5a607b8949e73a508c26771e26f7c30b7cd26c0c
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 10:34:29 2010 +0000
Reapply the new LoopStrengthReduction code, with compile time and
bug fixes, and with improved heuristics for analyzing foreign-loop
addrecs.
This change also flattens IVUsers, eliminating the stride-oriented
groupings, which makes it easier to work with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95975 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca41a7d6ca95108aa285a499434a85e65830b200
Author: Lang Hames <lhames@gmail.com>
Date: Fri Feb 12 09:43:37 2010 +0000
* Updated the cost matrix normalization proceedure to better handle infinite costs.
* Enabled R1/R2 application for nodes with infinite spill costs in the Briggs heuristic (made
safe by the changes to the normalization proceedure).
* Removed a redundant header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95973 91177308-0d34-0410-b5e6-96231b3b80d8
commit 864d3c380bfe2a46ca0bb1e45a77232723a040d0
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 07:48:46 2010 +0000
Update test to match 95961.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95971 91177308-0d34-0410-b5e6-96231b3b80d8
commit 253134e443bed0a1abbac39f1159b43103805680
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 02:35:03 2010 +0000
Test for 95961.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95962 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2563a3d8062d011dc92c68bfab12d8aadb96cb14
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 02:06:33 2010 +0000
add a bunch of mod/rm encoding types for fixed mod/rm bytes.
This will work better for the disassembler for modeling things
like lfence/monitor/vmcall etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95960 91177308-0d34-0410-b5e6-96231b3b80d8
commit a11f1f613938c87def9975d1d02d24ab8e031db2
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 02:02:23 2010 +0000
Test case for 95958.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95959 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea6d61133cdc7b23708456c2f39b58f2999e8eeb
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 01:55:31 2010 +0000
revert r95949, it turns out that adding new prefixes is not a
great solution for the disassembler, we'll go with "plan b".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95957 91177308-0d34-0410-b5e6-96231b3b80d8
commit a6e257ddfe666a2a5f2d3c785ca0db1bc464ce55
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Feb 12 01:46:54 2010 +0000
MC: Fix bug where trailing tied operands were forgotten; the X86 assembler
matcher is now free of implicit operands!
- Still need to clean up the code now that we don't to worry about implicit
operands, and to make it a hard error if an instruction fails to specify all
of its operands for some reason.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95956 91177308-0d34-0410-b5e6-96231b3b80d8
commit dc6dcfca28dededf4dacff3f810655dafe5f0fc1
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 01:44:23 2010 +0000
Added coprocessor Instructions CDP, CDP2, MCR, MCR2, MRC, MRC2, MCRR, MCRR2,
MRRC, MRRc2. For disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95955 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0267dc4352974ba2cc5d21eb434570c7e11b6cde
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Feb 12 01:30:21 2010 +0000
Add a new pass on machine instructions to optimize away PHI cycles that
reduce down to a single value. InstCombine already does this transformation
but DAG legalization may introduce new opportunities. This has turned out to
be important for ARM where 64-bit values are split up during type legalization:
InstCombine is not able to remove the PHI cycles on the 64-bit values but
the separate 32-bit values can be optimized. I measured the compile time
impact of this (running llc on 176.gcc) and it was not significant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95951 91177308-0d34-0410-b5e6-96231b3b80d8
commit dd9673a09a416b6f443c8191f7e4aa5272ab36c3
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Feb 12 01:22:03 2010 +0000
X86: Fix definition for RCL/RCR.*m? operations -- they were getting represented
with "tied memory operands", which is wrong.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95950 91177308-0d34-0410-b5e6-96231b3b80d8
commit c70ef3e2792a0a37e3517998f8aa6a7f3e9781df
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 01:15:16 2010 +0000
add another bit of space for new kinds of instruction prefixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95949 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3629bdb8b22324c2bfe33c036fa8cab10511548d
Author: Nate Begeman <natebegeman@mac.com>
Date: Fri Feb 12 01:10:45 2010 +0000
Add a missing pattern for movhps so that we get:
movq (%ecx,%edx,2), %xmm2
movhps (%ecx,%eax,2), %xmm2
rather than:
movq (%eax, %edx, 2), %xmm2
movq (%eax, %ebx, 2), %xmm3
movlhps %xmm3, %xmm2
Testcase forthcoming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95948 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76b82cb12274539b254a04a0423006b1a8584844
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 01:06:22 2010 +0000
fix the encodings of monitor and mwait, which were completely
busted in both encoders. I'm not bothering to fix it in the
old one at this point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95947 91177308-0d34-0410-b5e6-96231b3b80d8
commit 30d51dce30851e64cdeb1e6136d6f6d5d879a4db
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 00:37:46 2010 +0000
improve support for minix, PR6280, patch by
Kees van Reeuwijk!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95946 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7e5dc6e9bdeefbc238c336bfba82bc403b8b69ac
Author: Charles Davis <cdavis@mines.edu>
Date: Fri Feb 12 00:31:15 2010 +0000
Add a new function attribute, 'alignstack'. It will indicate (when the backends
implement support for it) that the stack should be forcibly realigned in the
prologue (and the process reversed in the epilogue).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95945 91177308-0d34-0410-b5e6-96231b3b80d8
commit c33bef344039f91e8bdc63766252b3c480b6a67a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 23:55:29 2010 +0000
Reapply coalescer fix for better cross-class coalescing.
This time with fixed test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95938 91177308-0d34-0410-b5e6-96231b3b80d8
commit af2b332ed86806c193669dcac77961b2d945b9a3
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 22:57:32 2010 +0000
enhance llvm-mc -show-inst to print the enum of an instruction, like so:
testb %al, %al ## <MCInst #2412 TEST8rr
## <MCOperand Reg:2>
## <MCOperand Reg:2>>
jne LBB1_7 ## <MCInst #938 JNE_1
## <MCOperand Expr:(LBB1_7)>>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95935 91177308-0d34-0410-b5e6-96231b3b80d8
commit 68316b7ed1283ed43ef1814d51a3666ae9c30ced
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 22:39:10 2010 +0000
add a new MCInstPrinter::getOpcodeName interface, when it is
implemented, llvm-mc --show-inst now uses it to print the
instruction opcode as well as the number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95929 91177308-0d34-0410-b5e6-96231b3b80d8
commit 13f9209eeea6b78a89e14da0a400c7281984cc1a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Thu Feb 11 21:51:51 2010 +0000
Document binutils requirements for coff targets (cygwin / mingw32).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95928 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef7bd26055041eee137b3b732377e8ec7843b8c8
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 21:45:31 2010 +0000
improve encoding information for branches. We now know they have
8 or 32-bit immediates, which allows the new encoder to handle
them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95927 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1d0ac4072239b9aea6e993b67470d675c94b497f
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Feb 11 21:29:46 2010 +0000
MC: Move assembler-backend's fixup list into the fragment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95926 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94ad6823bc3bb8e2ce5d285bb8258c6129df8e0c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Feb 11 21:29:29 2010 +0000
MC: Move MCSectionData::Fixup out to MCAsmFixup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95925 91177308-0d34-0410-b5e6-96231b3b80d8
commit 252990b75fb84cd3b8005a8cd2abcdd1e3a7ebcb
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 21:27:18 2010 +0000
make getFixupKindInfo return a const reference, allowing
the tables to be const. Teach MCCodeEmitter to handle
the target-indep kinds so that we don't crash on them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95924 91177308-0d34-0410-b5e6-96231b3b80d8
commit e84ffbd5af615af4b4326b4a5937d8e7725fa875
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 21:19:44 2010 +0000
Revert functional change. This broke a bunch of tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95921 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf922f08f3f3dba6d8f6204270cc9d4df30c3dc3
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 21:17:54 2010 +0000
switch to target-indep fixups for 1/2/4/8 byte data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95920 91177308-0d34-0410-b5e6-96231b3b80d8
commit a62b13e4334c3dd03f90db7e9212c5629455cc4a
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 11 20:58:56 2010 +0000
revert 95903.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95918 91177308-0d34-0410-b5e6-96231b3b80d8
commit bde99e7657bb11b7edf9fcf35467c9497abfd6f8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 20:58:45 2010 +0000
It is always good to do a cross-class join when the large register has a tiny interval.
Also avoid division by zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95917 91177308-0d34-0410-b5e6-96231b3b80d8
commit 892cf047c170383369f88f936e03607b87f2e4c3
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 20:31:08 2010 +0000
Added LDRT/LDRBT/STRT/STRBT for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95916 91177308-0d34-0410-b5e6-96231b3b80d8
commit 021109ade238fd0e25cf8c69f7c367a461ea03ae
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 19:52:11 2010 +0000
unbreak the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95915 91177308-0d34-0410-b5e6-96231b3b80d8
commit 34b92a3f30c7e01062f7d7eee5db972a1b1208c8
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 11 19:35:26 2010 +0000
llvm-db was removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95904 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee2e10cf787b7c935085d156343ee9b48033bc86
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 11 19:35:10 2010 +0000
Destroy MDNodes while destructing llvm context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95903 91177308-0d34-0410-b5e6-96231b3b80d8
commit a9f95edce8035bbea61d68c4fd373e46ae2cd493
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 19:31:22 2010 +0000
refactor x86 conditional branches to use a multipattern
that generates the 1-byte and 4-byte immediate versions
from one definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95902 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c9872327581faf7d85aad5e570973c6f359d77c
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 19:25:55 2010 +0000
refactor the conditional jump instructions in the .td file to
use a multipattern that generates both the 1-byte and 4-byte
versions from the same defm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95901 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1ef56bd34602273702b98cbb28c6a3c589ca70b
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 11 19:15:20 2010 +0000
Make Kaleidoscope not link against the interpreter, since that didn't
work anyway (Interpreter::getPointerToFunction doesn't return a
callable pointer), and improve the error message when an
ExecutionEngine can't be created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95896 91177308-0d34-0410-b5e6-96231b3b80d8
commit df0649adf48fa3343dc1ec95975259777b87b45f
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 11 19:07:04 2010 +0000
Add an svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95895 91177308-0d34-0410-b5e6-96231b3b80d8
commit 98c5eed093b2f21580925541ff971003be227939
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 18:47:03 2010 +0000
Forgot to also check in this file for vcvt (floating-point <-> fixed-point, VFP).
Sorry!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95892 91177308-0d34-0410-b5e6-96231b3b80d8
commit 75f18b48f297a4f31af3d70dcacb6601558d174e
Author: Dale Johannesen <dalej@apple.com>
Date: Thu Feb 11 18:23:23 2010 +0000
Allow for more than one DBG_VALUE targeting the
same dead instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95890 91177308-0d34-0410-b5e6-96231b3b80d8
commit 177849e66e24ccca09fbbd282eaa4f5ed0904de7
Author: Dale Johannesen <dalej@apple.com>
Date: Thu Feb 11 18:22:31 2010 +0000
Don't allow DBG_VALUE to affect codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95889 91177308-0d34-0410-b5e6-96231b3b80d8
commit 56c787f5c53084f7283a8fe47711db65d167c9a5
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 18:17:16 2010 +0000
Added VCVT (between floating-point and fixed-point, VFP) for disassembly.
A8.6.297
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95885 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31a24b15aa460aa543772be3b415f06432630506
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 18:12:29 2010 +0000
Added BKPT/tBKPT (breakpoint) to the instruction table for disassembly purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95884 91177308-0d34-0410-b5e6-96231b3b80d8
commit d7cf68f307458f6cc214734685f361f530893b4a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 18:06:56 2010 +0000
Use array_pod_sort instead of std::sort for improved code size.
Use SmallVector instead of std::vector for better speed when indirectbr has
few successors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95879 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a058c4604c121efbe8d8783c17d1b20605dc938
Author: Eric Christopher <echristo@apple.com>
Date: Thu Feb 11 17:44:04 2010 +0000
Make sure that ConstantExpr offsets also aren't off of extern
symbols.
Thanks to Duncan Sands for the testcase!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95877 91177308-0d34-0410-b5e6-96231b3b80d8
commit 310f24fcfcf54e6cf1e6ca350b7b431b1c474c51
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 17:14:31 2010 +0000
Add pseudo instruction TRAP for disassembly, which is encoded according to A5-21
as the "Permanently UNDEFINED" instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95873 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62b33dc015061dc780d345bf5c2e47c3b3c27051
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 11 10:37:57 2010 +0000
Use .empty() instead of .size().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95871 91177308-0d34-0410-b5e6-96231b3b80d8
commit d38bd5ececc6c84836b8ee52d809e2d6e450152a
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 08:45:56 2010 +0000
dont' call getX86RegNum on X86::RIP, it doesn't like that. This
fixes the remaining x86-64 jit failures afaik.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95867 91177308-0d34-0410-b5e6-96231b3b80d8
commit 46a26bbf505cc07b5e51d2d7aab9827181cbf9d3
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 08:41:21 2010 +0000
fix a really nasty bug I introduced in r95693: r12 (and r12d,
r12b, etc) also encodes to a R/M value of 4, which is just
as illegal as ESP/RSP for the non-sib version an address.
This fixes x86-64 jit miscompilations of a bunch of programs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95866 91177308-0d34-0410-b5e6-96231b3b80d8
commit 321617629bf8b7cec0b12c591acff40ccc278784
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 11 07:16:13 2010 +0000
Fix (harmless) memory leak found by memcheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95862 91177308-0d34-0410-b5e6-96231b3b80d8
commit ebce12bbcf2508514afc2fa55c7580d46e7e3afe
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 07:06:31 2010 +0000
Add and commonize encoder support for all immediates.
Stub out some dummy fixups to make things work.
We can now emit fixups like this:
subl $20, %esp ## encoding: [0x83,0xec,A]
## fixup A - offset: 2, value: 20, kind: fixup_1byte_imm
Emitting $20 as a single-byte fixup to be later resolved
by the assembler is ridiculous of course (vs just emitting
the byte) but this is a failure of the matcher, which
should be producing an imm of 20, not an MCExpr of 20.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95860 91177308-0d34-0410-b5e6-96231b3b80d8
commit f80c505d83787296cffb3e7495d3b8b7dfc35794
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:54:23 2010 +0000
generalize EmitDisplacementField to work with any size
and rename it to EmitImmediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95859 91177308-0d34-0410-b5e6-96231b3b80d8
commit 97374c6e6a29b7dff39632a1b8dc96ee86e44c1a
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:51:36 2010 +0000
eliminate the dead IsPCRel argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95858 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9e07afd152a07b1c6c1d144646f4869e9533dc33
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:49:52 2010 +0000
eliminate the dead "PCAdj" logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95857 91177308-0d34-0410-b5e6-96231b3b80d8
commit 77c7077e8f39f2efa8a74091743af08db20833f4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 11 06:41:30 2010 +0000
Fix some of the memcheck errors found in the JIT unittests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95856 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5f3e09483b108ba4fa6ee06a1ca9540267d7d21b
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:26:33 2010 +0000
Rename ValueRequiresCast to ShouldOptimizeCast, to better reflect
what it does. Enhance it to return false to optimizing vector
sign extensions from vector comparisions, which is the idiom used
to get a splatted vector for a vector comparison.
Doing this breaks vector-casts.ll, add some compensating
transformations to handle the important case they cover without
depending on this canonicalization.
This fixes rdar://7434900 a serious pessimization of vector compares.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95855 91177308-0d34-0410-b5e6-96231b3b80d8
commit 48df834a4a87a035ff4311057ad8fd2250415249
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:24:37 2010 +0000
convert to filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95854 91177308-0d34-0410-b5e6-96231b3b80d8
commit f05a4a82b719a1bd583cdd7739079504d9963422
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 05:11:54 2010 +0000
Make DSE only scan blocks that are reachable from the entry
block. Other blocks may have pointer cycles that will crash
basicaa and other alias analyses. In any case, there is no
point wasting cycles optimizing dead blocks. This fixes
rdar://7635088
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95852 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9211ea57815c52083d4bd54c2f40fe1cbee1744f
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 05:08:05 2010 +0000
a testcase that doesn't crash GVN but could someday.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95851 91177308-0d34-0410-b5e6-96231b3b80d8
commit 089ed82c48bd69fe4a98ab3ef8e37ae26eabd9a1
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 04:40:44 2010 +0000
Make jump threading honor x|undef -> true and x&undef -> false,
instead of considering x|undef -> x, which may not be true.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95850 91177308-0d34-0410-b5e6-96231b3b80d8
commit 042109e6237b5fc008570e8adbb6ba445fb6120e
Author: Eric Christopher <echristo@apple.com>
Date: Thu Feb 11 01:48:54 2010 +0000
Add ConstantExpr handling to Intrinsic::objectsize lowering.
Update testcase accordingly now that we can optimize another
section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95846 91177308-0d34-0410-b5e6-96231b3b80d8
commit 65944ae3e1b2fdd6b8966b5af084f9607b34999d
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 11 01:31:01 2010 +0000
test case for r95842.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95844 91177308-0d34-0410-b5e6-96231b3b80d8
commit 459468d4434427a26cbc0fe5f79e4c31fbaf2795
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 11 01:15:27 2010 +0000
Fix to get it to compile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95840 91177308-0d34-0410-b5e6-96231b3b80d8
commit d4880f4c56524735b593e4a852b584e101c80a54
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 11 01:13:02 2010 +0000
Don't print out a default newline when emitting the section offset. There are
almost always comments afterwards that need printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95839 91177308-0d34-0410-b5e6-96231b3b80d8
commit b3caf596efddb31aa4998bf8f9bbea09071198c2
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 11 01:07:39 2010 +0000
Make it possible to create multiple JIT instances at the same time, by removing
the global TheJIT and TheJITResolver variables. Lazy compilation is supported
by a global map from a stub address to the JITResolver that knows how to
compile it.
Patch by Olivier Meurant!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95837 91177308-0d34-0410-b5e6-96231b3b80d8
commit f5d1bc4945f66b39363f5adb70d652280d71f796
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 00:34:33 2010 +0000
Reuse operand location when updating PHI instructions.
Calling RemoveOperand is very expensive on huge PHI instructions. This makes
early tail duplication run twice as fast on the Firefox JavaScript
interpreter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95832 91177308-0d34-0410-b5e6-96231b3b80d8
commit 983620a4957887088e3a54edf80d4a52789d7de3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 00:34:18 2010 +0000
Remove duplicate successors from indirectbr instructions before building the machine CFG.
This makes early tail duplication run 60 times faster when compiling the Firefox
JavaScript interpreter, see PR6186.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95831 91177308-0d34-0410-b5e6-96231b3b80d8
commit 01dd2eed529c40aaee21eb3ce179e12cad1f36d9
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 11 00:20:49 2010 +0000
Ignore dbg info intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95828 91177308-0d34-0410-b5e6-96231b3b80d8
commit bddbb3549a3e706e1e48f4069b0820872b4bfe49
Author: Kevin Enderby <enderby@apple.com>
Date: Thu Feb 11 00:18:12 2010 +0000
Remove the few # TAILCALL comments that snuck in. As they may fail on linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95827 91177308-0d34-0410-b5e6-96231b3b80d8
commit f9d6893474485fb9d42fb67f566494bf8119184b
Author: Kevin Enderby <enderby@apple.com>
Date: Thu Feb 11 00:13:43 2010 +0000
Update the X86 assembler matcher test case now that a few more things match
with some of the recent changes that have gone into llvm-mc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95826 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3125ea6e98852dab38710e6c9f4eb1fe31fec216
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 23:58:53 2010 +0000
Add support to llvm-extract for extracting multiple functions and/or
multiple global variables at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95825 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4c0275b0f91c1ea26942e6178dd62b0247b4252d
Author: Mon P Wang <wangmp@apple.com>
Date: Wed Feb 10 23:37:45 2010 +0000
The previous fix of widening divides that trap was too fragile as it depends on custom
lowering and requires that certain types exist in ValueTypes.h. Modified widening to
check if an op can trap and if so, the widening algorithm will apply only the op on
the defined elements. It is safer to do this in widening because the optimizer can't
guarantee removing unused ops in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95823 91177308-0d34-0410-b5e6-96231b3b80d8
commit a4f4b1506d2a7bd676adcd886d98c12012bdd952
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 23:04:09 2010 +0000
Ignore debug info one more place during coalescing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95819 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0df83f4b11cb2e8b6f793a1425b77f9b6cd5e19b
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 23:03:20 2010 +0000
Allow isDebug inquiry on any MO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95818 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ca197830a1a1906a5657c9e9c52977510106e39
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 10 22:58:57 2010 +0000
Delete dead PHI machine instructions. These can be created due to type
legalization even when the IR-level optimizer has removed dead phis, such
as when the high half of an i64 value is unused on a 32-bit target.
I had to adjust a few test cases that had dead phis.
This is a partial fix for Radar 7627077.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95816 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b0ea846f73eb83706dd80d1fbde28fe3eeed217
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 21:47:48 2010 +0000
Skip debug info in a couple of places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95814 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3393b63d1a2483a7b7a2dd23e20cb16ea43c210
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Feb 10 21:41:57 2010 +0000
Use an index instead of pointers into the vector. If the vector resizes, then
the pointer values could be invalid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95813 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4dae4593c8310d09e587a928c15d3e7b32172037
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 21:41:41 2010 +0000
When I rewrote this loop per Chris' preference I
changed its behavior. Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95811 91177308-0d34-0410-b5e6-96231b3b80d8
commit e824fb17b264b0696b236304671ddb4ccb50c895
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 21:37:31 2010 +0000
add a virtual dtor to MCTargetExpr, hopefully silencing some warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95810 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b9161cf664d44a0c0789a2ea7e439b81f02d83f
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Wed Feb 10 21:26:04 2010 +0000
A few missed optimizations; the last one could have a significant impact on
code with lots of bitfields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95809 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1196f9ba64661542cc87fcd99b96655874c057d4
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 21:22:51 2010 +0000
work around a gcc bug with -Wuninitialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95808 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4343998c96075c771bc1b8c486cd4d141f4ddf9f
Author: Devang Patel <dpatel@apple.com>
Date: Wed Feb 10 21:19:56 2010 +0000
Strip new llvm.dbg.value intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95807 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9c7b65e886227bf3cbff010868d91c22daec111b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 21:19:28 2010 +0000
MC/X86 AsmMatcher: Fix a use after free spotted by d0k, and de-XFAIL
x86_32-encoding.s in on expectation of it passing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95806 91177308-0d34-0410-b5e6-96231b3b80d8
commit 06e24dc5f9ea9603d282f77e327fff27748c8e95
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 21:01:04 2010 +0000
XFAIL this on linux until I figure out what is happening.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95804 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63bb9e8ff151f1d947682100594e794b646a6646
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 21:00:55 2010 +0000
lit: Ignore dot files when scanning for tests (e.g., editor temprary files,
etc.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95803 91177308-0d34-0410-b5e6-96231b3b80d8
commit 20631dbca24c6895ac647923fa3742fe94e7b3a7
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 21:00:47 2010 +0000
MC/AsmMatcher: Tweak conversion function name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95802 91177308-0d34-0410-b5e6-96231b3b80d8
commit 013ca607f6404a26921689e0e2936f9eeff85891
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:42:57 2010 +0000
Minor whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95801 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3eeaacd71c0b4925eef44b315fa41d16588f2fad
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:42:37 2010 +0000
Use an AssemblyAnnotatorWriter to clean up IVUsers' debug output.
The "uses=" comments are just clutter in this context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95799 91177308-0d34-0410-b5e6-96231b3b80d8
commit d73878ab5df6dcade0aab73f789b9173e0a21a3e
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:41:46 2010 +0000
Add a hook to AssemblyAnnotationWriter to allow custom info comments
to be printed, in place of the familiar "uses=" comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95798 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50d20e115bc9907aa170fd14b720a17c002e3db6
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:23:33 2010 +0000
Use doxygen comment syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95797 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1cb9e26a4f8e5f3037fe24dff0780cfb0c8acae0
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:04:19 2010 +0000
Fix several comments which had previously been "the the" where a
different word was intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95795 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6cd9da8b837fbb130cfb68bdfaf307f069838a6a
Author: Kevin Enderby <enderby@apple.com>
Date: Wed Feb 10 19:13:56 2010 +0000
Replace this file containing 4 tests of x86 32-bit encodings with a file
containing the subset of the full auto generated test case that currently
encodes correctly. Again it is useful as we bring up the the new encoder
to make sure currently working stuff stays working.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95791 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3e91762c19cff323979775171efd78ce52cbd6f2
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Feb 10 18:02:25 2010 +0000
Added NOP, DBG, SVC to the instruction table for disassembly purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95784 91177308-0d34-0410-b5e6-96231b3b80d8
commit af23afb740065a6c0c12f1d2fbc88eb3f18036bd
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 16:03:48 2010 +0000
Fix "the the" and similar typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
commit 349b2a1b5c6c41646b8f04bf96ed0383b5607602
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 15:54:22 2010 +0000
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95780 91177308-0d34-0410-b5e6-96231b3b80d8
commit a960e5e14330ff0f2791bd69fb3576813a5cea7a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Wed Feb 10 13:34:02 2010 +0000
Silence GCC warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95779 91177308-0d34-0410-b5e6-96231b3b80d8
commit 67f1b0e981f324a66a7e6713a20cd6758ce57633
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 08:15:48 2010 +0000
MC/AsmMatcher: Add support for creating tied operands when constructing MCInsts.
- Pretty messy, but we need to rework how we handle tied operands in MCInst
anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95774 91177308-0d34-0410-b5e6-96231b3b80d8
commit f35eb9fa274c8e1ca4cd0c349cfb780aefda3758
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 06:52:12 2010 +0000
emit some simple (and probably incorrect) fixups for symbolic
displacement values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95773 91177308-0d34-0410-b5e6-96231b3b80d8
commit 64f2e32ed184eb327d7dca782a2f34e0e4ed6e0f
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 06:41:02 2010 +0000
keep track of what the current byte being emitted is
throughout the X86 encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95771 91177308-0d34-0410-b5e6-96231b3b80d8
commit 52a804e27005885de0e26cc29ecdbfda4389bc17
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 06:30:00 2010 +0000
simplify displacement handling, emit displacements by-operand
even for the immediate case. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95770 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb024ff9f39712daa425d097cd3d497e2973087f
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 06:13:07 2010 +0000
Canonicalize sizeof and alignof on pointer types to a canonical
pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95769 91177308-0d34-0410-b5e6-96231b3b80d8
commit d637aba529b5cc6a8dedbddfc187b3cd6ef4ccde
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 05:54:04 2010 +0000
Implement operators |=, &=, and ^= for SmallBitVector, and remove the
restriction in BitVector for |= and ^= that the operand must be the
same length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95768 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2c7ab5dec64227e63d7417a99abe57324ae84436
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 04:47:08 2010 +0000
MC: Switch MCFixup to just hold an MCExpr pointer instead of index into the
MCInst it came from.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95767 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5336c8961a2c3379da09d95ee4d7903fd04f7ad8
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 04:46:51 2010 +0000
Fix a signed comparison warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95766 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbeaaa6b9892186196acaa7576334eec63a738e5
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 04:10:10 2010 +0000
Remove stray DOS newline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95765 91177308-0d34-0410-b5e6-96231b3b80d8
commit 252efd4f274ba896f82b785774973941198a79c9
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 04:09:52 2010 +0000
Add a ReleaseNotes FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95764 91177308-0d34-0410-b5e6-96231b3b80d8
commit 99fff3e301012321a0a0a7db660bfc6ca6852a38
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Wed Feb 10 03:38:29 2010 +0000
Prevented build on WINDOWS using default make system. Stopped WINDOWS build
at eh llvm/examples level using if check on LLVM_ON_UNIX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95763 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07663f302606e6b2112b4fde8db8c1c76bb97c11
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 10 03:23:23 2010 +0000
Updated the enhanced disassembly library's TableGen
backend to not use exceptions at all except in cases
of actual error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95762 91177308-0d34-0410-b5e6-96231b3b80d8
commit f327869a5de5fb01a4c42cc789ab97663fc31762
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Wed Feb 10 02:50:08 2010 +0000
Prevented ExceptionDemo example being built on WINDOWS via if( NOT WIN32 )
check in examples cmake list file. This has NOT been tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95761 91177308-0d34-0410-b5e6-96231b3b80d8
commit 096b097f4a245dd6e043ffbff4d574800f4768c4
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 10 02:47:08 2010 +0000
Updated the TableGen emitter for the Enhanced
Disassembler to take advantage of the refactored
AsmWriterInst.h. Note removed parser code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95760 91177308-0d34-0410-b5e6-96231b3b80d8
commit 605a402cc2a7ef412ad4144a2de45d68f7b65dcb
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 10 02:27:43 2010 +0000
Changed AsmWriterOperand to also include the index of the
operand into the CodeGenInstruction's list of operands,
which is useful for EDEmitter. (Still working on PR6219)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95759 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8f028b8bce6e92e12809beac0e0379b601980a4
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 10 02:17:34 2010 +0000
Now that ShrinkDemandedOps() is separated out from DAG combine. It sometimes leave some obvious nops which dag combine used to clean up afterwards e.g. (trunk (ext n)) -> n. Look for them and squash them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95757 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7a939aeea7bbbadddde5c0491621dbe1059c00d
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:46:47 2010 +0000
"fixup" a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95754 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33fe554b0bb1dd7fc2ee9c9e5d7afae9233d652c
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:45:28 2010 +0000
Introduce a new CodeGenInstruction::ConstraintInfo class
for representing constraint info semantically instead of
as a c expression that will be blatted out to the .inc
file. Fix X86RecognizableInstr to use this instead of
parsing C code :).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95753 91177308-0d34-0410-b5e6-96231b3b80d8
commit b6129a289288b6bd0d237dece7ccc494a01bb59e
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 01:41:14 2010 +0000
llvm-mc: Remove --show-fixups and always show as part of --show-encoding.
Also, fix a silly memory leak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95752 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf8fe6a7fc7a6722143d6025007aaab01a3b1526
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 01:31:26 2010 +0000
Rewrite loop to suit Chris' preference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95749 91177308-0d34-0410-b5e6-96231b3b80d8
commit c3f58b6ce58d2287a291f0c82993b461c0cc5bc6
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:23:18 2010 +0000
fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95748 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8fc7b209da57482995dcb78a33449bcb3ceacbf
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 10 01:22:57 2010 +0000
Remove duplicated #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95747 91177308-0d34-0410-b5e6-96231b3b80d8
commit 93726d8a787a3b1e7d709ea6259eca7eb8bdd6c8
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 10 01:21:02 2010 +0000
Emit an error for illegal inline asm constraint (which uses illegal type) rather than asserting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95746 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b2322be1ee42dbf4dd1df42e3cb097b231f7603
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:17:36 2010 +0000
fix missing #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95745 91177308-0d34-0410-b5e6-96231b3b80d8
commit 28afd8223a04f38c87746e0fe8c7e1e251db0a97
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:05:28 2010 +0000
daniel *really* likes fixups!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95742 91177308-0d34-0410-b5e6-96231b3b80d8
commit e90535cbb30c071096987e9f5ae2114f3132ea96
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:04:16 2010 +0000
Stop MachineInstr.h from #including AsmPrinter.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95741 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce5a93e4cdc1ca70c5dc436453f227b3d0fcb715
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Feb 10 00:59:47 2010 +0000
Improve comments a even more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95740 91177308-0d34-0410-b5e6-96231b3b80d8
commit d832aa8fb8044b80a86273493c70770537bcce14
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 00:55:42 2010 +0000
Skip DBG_VALUE many places in live intervals and
register coalescing. This fixes many crashes and
places where debug info affects codegen (when
dbg.value is lowered to machine instructions, which
it isn't yet in TOT).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95739 91177308-0d34-0410-b5e6-96231b3b80d8
commit f87769d484291b79abcbce9c1d93e189a9429529
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 00:47:53 2010 +0000
Move verbose asm instruction comments to using MCStreamer.
The major win of this is that the code is simpler and they
print on the same line as the instruction again:
movl %eax, 96(%esp) ## 4-byte Spill
movl 96(%esp), %eax ## 4-byte Reload
cmpl 92(%esp), %eax ## 4-byte Folded Reload
jl LBB7_86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95738 91177308-0d34-0410-b5e6-96231b3b80d8
commit db7b35ff8026dfdbc0d33da63a3a7c19b6e656ea
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Feb 10 00:45:28 2010 +0000
Improve comments a bit more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95737 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9c711aa69b6220492b543f42e477dc1b92704450
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 00:44:23 2010 +0000
more comment updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95736 91177308-0d34-0410-b5e6-96231b3b80d8
commit de4b068361b29005fab942ac14ac8f12be1b743e
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 00:41:49 2010 +0000
Add isDebug argument to ChangeToRegister; this prevents
the field from being used uninitialized later in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95735 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8e397b58489fd96a45e69c7d7710eab6d5cab18
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 00:36:00 2010 +0000
print all the newlines at the end of instructions with
OutStreamer.AddBlankLine instead of textually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95734 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf50ddc93cf854eb803d580e07b4b2276a4e6430
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date: Wed Feb 10 00:14:03 2010 +0000
IntegerValType holds a uint32_t, so its constructor should take a uint32_t. This allows it to be properly initialized with bit widths > 65535
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95731 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94f6097942b3dd9b13c2c71a74b7f7c034cc70e0
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 00:11:11 2010 +0000
Fix comments to reflect renaming elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95730 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3d9d97cddb404caf738a7b494b931b17e8f585a8
Author: Kevin Enderby <enderby@apple.com>
Date: Wed Feb 10 00:10:31 2010 +0000
Fix the encoding of the movntdqa X86 instruction. It was missing the 0x66
prefix which is part of the opcode encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95729 91177308-0d34-0410-b5e6-96231b3b80d8
commit 59ee3d246bb7292180f55bdc97b9d0ace583f7db
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 00:10:18 2010 +0000
Add ability for MCInstPrinters to add comments for instructions.
Enhance the x86 backend to show the hex values of immediates in
comments when they are large. For example:
movl $1072693248, 4(%esp) ## imm = 0x3FF00000
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95728 91177308-0d34-0410-b5e6-96231b3b80d8
commit a0431e6c49421e302de8d311c1a5581549fc1f18
Author: David Greene <greened@obbligato.org>
Date: Tue Feb 9 23:52:19 2010 +0000
TableGen fragment refactoring.
Move some utility TableGen defs, classes, etc. into a common file so
they may be used my multiple pattern files. We will use this for
the AVX specification to help with the transition from the current
SSE specification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95727 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a6844b9567642a99a459eee65f8bce25dbe7449
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Tue Feb 9 23:22:43 2010 +0000
Adds a JIT based exception handling example to the examples directory.
Both zero cost example domain specific, and C++ foreign exception handling are
shown. The example's documentation fully explains how to run the example.
Notes:
1) The code uses an extremely simple type info model.
2) Only a single landing pad is used per unwind edge
(one call to llvm.eh.selector)
3) llvm.eh.selector support for filter arguments is not given.
4) llvm.eh.typeid.for is not used.
5) Forced unwind behavior is not supported.
6) Very little if any error handling is given.
7) __attribute__((__aligned__)) is used.
8) The code uses parts from the llvm compiler-rt project and
the llvm Kaleidoscope example.
9) The code has not been ported or tested on WINDOWS.
10) The code was not tested with a cmake build.
11) The code was tested for a debug build on 32bit X86 CentOS LINUX,
and both a debug and release build on OS X 10.6.2 (64bit).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95723 91177308-0d34-0410-b5e6-96231b3b80d8
commit 490852e92928683702e224b0a92a4d5a333c3bf7
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 23:06:35 2010 +0000
Fixed some indentation in the AsmWriterInst
implementation. Also changed the constructor
so that it does not require a Record, making it
usable by the EDEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95715 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23d193a06140d17e33ddb4428a71f67d8d3992a6
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 9 23:05:23 2010 +0000
Add VBIF/VBIT for disassembly only.
A8.6.279
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95713 91177308-0d34-0410-b5e6-96231b3b80d8
commit c321472b1f49b10f261f74508c40cb5ce72431da
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Feb 9 23:03:44 2010 +0000
Make --disable-libffi work on systems with libffi installed. Also
make no-ffi the default even on systems with libffi. This fixes
http://llvm.org/PR5018.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95712 91177308-0d34-0410-b5e6-96231b3b80d8
commit c1bdcf1fa7cdd98c7b4da719dd74ebfec1f4e027
Author: David Greene <greened@obbligato.org>
Date: Tue Feb 9 23:03:05 2010 +0000
Only dump output in debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95711 91177308-0d34-0410-b5e6-96231b3b80d8
commit ab57543e713bc754b2640e3747c2ff65457b63c2
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 9 23:00:14 2010 +0000
llvm-mc: Add --show-fixups option, for displaying the instruction fixup information in the asm comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95710 91177308-0d34-0410-b5e6-96231b3b80d8
commit e466b68c58bdc2ce05dbabdc02783c53b955500b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 9 23:00:03 2010 +0000
MC/X86: Add a dummy implementation of MCFixup generation for hacky X86 MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95709 91177308-0d34-0410-b5e6-96231b3b80d8
commit c5a052a84947f80567a72d99944f943b79d9f76b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 9 22:59:55 2010 +0000
MC: First cut at MCFixup, for getting fixup/relocation information out of an MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95708 91177308-0d34-0410-b5e6-96231b3b80d8
commit b8f02384dcbe2c57d4a0798687cdc06ebcdf0845
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Feb 9 22:49:16 2010 +0000
Improve comments in the LSDA somewhat. They can be improved much more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95707 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63ac41c0db09647d6469560b8803ee8d0a2d8903
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 9 22:35:38 2010 +0000
Added VMRS/VMSR for disassembly only.
A8.6.335 & A8.6.336
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95703 91177308-0d34-0410-b5e6-96231b3b80d8
commit ecadd7d8ef99681205ed4527530cda4773a5bbbb
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 22:29:16 2010 +0000
Added AsmWriterInst.cpp to the CMakeList so that
it builds OK on Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95702 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78db1ba08fe914adb89e6c66e7065a7c0eb202ea
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 9 22:15:27 2010 +0000
Disable unittests/ADT/BitVectorTest on PPC Darwin.
It fails with a release build only, for reasons
as yet unknown. (If there's a better way to Xfail
things here let me know, doesn't seem to be any
prior art in unittests.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95700 91177308-0d34-0410-b5e6-96231b3b80d8
commit f373fc3257d5b0aa0fcfc59298f8033d2643078b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 21:57:34 2010 +0000
port encoder enhancements over to the new encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95699 91177308-0d34-0410-b5e6-96231b3b80d8
commit b3b3acf9317ca5fac7207f3493583422f7a9400f
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 21:50:41 2010 +0000
Per PR 6219, factored AsmWriterInst and AsmWriterOperand
out of the AsmWriterEmitter. This patch does the physical
code movement, but leaves the implementation unchanged. I'll
make any changes necessary to generalize the code in a
separate patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95697 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8b1aac62bd8a74b004e4abed07d2f693a4cd365
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 21:47:19 2010 +0000
fix X86 encoder to output [disp] only addresses with no SIB byte
in X86-32 mode. This is still required in x86-64 mode to avoid
forming [disp+rip] encoding. Rewrite the SIB byte decision logic
to be actually understandable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95693 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d47ee14b397d7315c3fa1767cb01bd6823daa87
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 9 21:24:27 2010 +0000
Move Intrinsic::objectsize lowering back to InstCombineCalls and
enable constant 0 offset lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95691 91177308-0d34-0410-b5e6-96231b3b80d8
commit 616e35969b69d0fcb063634b465a41c1bf8a817a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 21:21:26 2010 +0000
revert r95689: getX86RegNum(BaseReg) != N86::ESP is
a confusing idiom to check for ESP or RSP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95690 91177308-0d34-0410-b5e6-96231b3b80d8
commit 20f133563c8c6dd09f4c754e6236bc79801e0adf
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 21:00:12 2010 +0000
simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95689 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a50aac9641027f9608ce3ab34664266bab982e7
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 9 19:54:29 2010 +0000
Re-disable for Darwin; I was mistaken to think this was fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95688 91177308-0d34-0410-b5e6-96231b3b80d8
commit 261a07e6802837ca121afbd35aa67d66b8cddf79
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 19:54:29 2010 +0000
move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
commit 10b4c2ecc28cb21e6038f53185a0409a12ba02fc
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 9 19:51:37 2010 +0000
Radar 7417921
tMOVCCi pattern only valid for low registers, as the Thumb1 mov immediate to
register instruction only works with low registers. Allowing high registers
for the instruction resulted in the assembler choosing the wide (32-bit)
encoding for the mov, but LLVM though the instruction was only 16 bits wide,
so offset calculations for constant pools became incorrect, leading to
out of range constant pool entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95686 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6ab0b29165870293ea8a9c896fcda6bb15f685ab
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Feb 9 19:07:19 2010 +0000
Add support for TypeBuilder<const/volatile void*, false>.
Thanks to Jochen Wilhelmy for the suggestion!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95677 91177308-0d34-0410-b5e6-96231b3b80d8
commit 01f65f0fa690ad8c066d2b79b9c0ffe51f7e300a
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 9 17:29:18 2010 +0000
Pull these back out, they're a little too aggressive and time
consuming for a simple optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95671 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3dd1b1df4e46cfa0453b91c17d5d5513b0573262
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 9 17:24:21 2010 +0000
Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95670 91177308-0d34-0410-b5e6-96231b3b80d8
commit 887f91b80eeb4259ebcf31ed1404fdc7eaec8d4c
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 9 17:21:56 2010 +0000
Added vcvtb/vcvtt (between half-precision and single-precision, VFP).
For disassembly only.
A8.6.300
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95669 91177308-0d34-0410-b5e6-96231b3b80d8
commit 541e03a3b0eee5b3d76cc1ae3cd8544e40476e7e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 9 17:20:11 2010 +0000
Remember to update live-in lists when coalescing physregs.
Patch by M Wahab!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95668 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa2cc940fb5cc78df37805e32e5f2c1650107b3a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 9 17:20:03 2010 +0000
clang test suite
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95667 91177308-0d34-0410-b5e6-96231b3b80d8
commit f5839e96c8d3207d3640a2c2dc07a2ab5ce18630
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 9 17:00:40 2010 +0000
Mention IndVarSimplify in the comment by getSmallConstantTripCount, as
is done for getTripCount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95666 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6fc8fab2a22b9ef1bc4a9d9c5dd8077a87a6554
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 9 16:59:14 2010 +0000
Mention vAny and iPTRAny in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95665 91177308-0d34-0410-b5e6-96231b3b80d8
commit d2609573cf0c9beb247b7f0e8c9d280bce8656ac
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:41:03 2010 +0000
move tests that depend on the x86 backend out of codegen/generic,
and remove a few old and unreduced ones. Fixes PR5624.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95656 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50c7723419a8a2e74c9f511917e120a8a9f4f45f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:36:30 2010 +0000
make target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95655 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0392fa4a69ca47c515211ce34325408b3dedb97e
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:35:50 2010 +0000
merge a target-specific add test into x86 directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95654 91177308-0d34-0410-b5e6-96231b3b80d8
commit 636fef000f14238f8efdf5308e0630a849f35a7f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:33:27 2010 +0000
merge another test in, drop the trivially constant folded cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95653 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3c0bc8b5d2cdd6217ee00202582d426996cd29e
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:24:00 2010 +0000
consolidate and filecheckize two tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95652 91177308-0d34-0410-b5e6-96231b3b80d8
commit db71d597a8f3632d5e8c7417fa5247dc589543cc
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:19:20 2010 +0000
merge two tests, make target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95651 91177308-0d34-0410-b5e6-96231b3b80d8
commit 46bf694a136bd056d2546abe8a1d6b74f0a56efa
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 05:55:14 2010 +0000
move PR3462 to here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95650 91177308-0d34-0410-b5e6-96231b3b80d8
commit a3f972db36312b043592d64b359686f77a2d1e0c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 05:45:29 2010 +0000
add a note from PR6194
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95649 91177308-0d34-0410-b5e6-96231b3b80d8
commit a70edceec20bee694492901eb019aa97b8f27e75
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 9 02:01:46 2010 +0000
Skip DEBUG_VALUE in some places where it was affecting codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95647 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad7410a2b169cd871652cbeeda802c3955960e69
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 9 01:58:33 2010 +0000
Add declaration attribute to a variable DIE, if there is a separate DIE for the definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95646 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2f916df02dd583e77cc2414ce0c5d6a26a42ecf6
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 01:50:54 2010 +0000
Updated the enhanced disassembly library to produce
whitespace tokens in the right places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95645 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8257d65e9602988beb2bc4f85a07ba4ef52722ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 01:39:46 2010 +0000
fix llvm_build_struct_gep for PR6167, patch by
Peter Hawkins!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95644 91177308-0d34-0410-b5e6-96231b3b80d8
commit 420101c495eff5b9473802dcac80ab787ca2fc9a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 01:14:06 2010 +0000
simplify this code, duh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95643 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23480f2817a488aad23eea3858b328fbccbc85b5
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 01:12:41 2010 +0000
fix PR6193, only considering sign extensions *from i1* for this
xform.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95642 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4f11751b8b463eed987b81ec2352fff4a2ba654e
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 9 01:11:03 2010 +0000
Add file in here too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95641 91177308-0d34-0410-b5e6-96231b3b80d8
commit 51cc5e94852ad9d40e2715b6e22f285b68b6b339
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 01:00:18 2010 +0000
Fixed a problem where the enhanced disassembly
library was reporting inaccurate token IDs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95639 91177308-0d34-0410-b5e6-96231b3b80d8
commit c092b994e77608bec7eae1478d7f39d0479dc107
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:54:51 2010 +0000
make -show-inst be formatted a bit nicer. Before:
movl $3735928559, a ## inst: <MCInst 1273 <MCOperand Reg:0> <MCOperand Imm:1> <MCOperand Reg:0> <MCOperand Expr:(a)> <MCOperand Reg:0> <MCOperand Expr:(3735928559)>>
after:
movl $3735928559, a ## <MCInst #1273
## <MCOperand Reg:0>
## <MCOperand Imm:1>
## <MCOperand Reg:0>
## <MCOperand Expr:(a)>
## <MCOperand Reg:0>
## <MCOperand Expr:(3735928559)>>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95637 91177308-0d34-0410-b5e6-96231b3b80d8
commit 73aae2a863dc7bdc27506b9d9f8c037cb35bc810
Author: Lang Hames <lhames@gmail.com>
Date: Tue Feb 9 00:50:27 2010 +0000
Fixed a bug in the PBQP allocator's findCoalesces method.
Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95636 91177308-0d34-0410-b5e6-96231b3b80d8
commit f8fdb73df3da757998d2e067b1f62a2b4df1f53d
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:49:22 2010 +0000
Implement x86 asm parsing support for %st and %st(4)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95634 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7b2795d4e1854a9d649280895bea2ead196e45c3
Author: Lang Hames <lhames@gmail.com>
Date: Tue Feb 9 00:45:48 2010 +0000
Added copy sensible construction & assignment to PBQP graphs and fixed a memory access bug in the heuristic solver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95633 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4895f0c2e0218dfb21c8e52849e1191b8db23734
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 9 00:42:08 2010 +0000
Debug operands should not be def or kill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95632 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2a60d78777508f981da8ba050a16009751e6bcf0
Author: Lang Hames <lhames@gmail.com>
Date: Tue Feb 9 00:41:23 2010 +0000
Changed the definition of an "invalid" slot to include the empty & tombstone values, but not zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95631 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4c9a75bd96cec540f28ec731274329dfcf2b2b7
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:40:07 2010 +0000
stop using reserved identifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95630 91177308-0d34-0410-b5e6-96231b3b80d8
commit e45e9747b90f8717f22e1c433e5208ad7aee3750
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 9 00:35:38 2010 +0000
Add a new pass to do llvm.objsize lowering using SCEV.
Initial skeleton and SCEVUnknown lowering implemented,
the rest should come relatively quickly. Move testcase
to new directory.
Move pass to right before SimplifyLibCalls - which is
moved down a bit so we can take advantage of a few opts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95628 91177308-0d34-0410-b5e6-96231b3b80d8
commit d332011a64483f20d6095defb03d03ce0dbd32f1
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:34:28 2010 +0000
pass stringref by value instead of by const&
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95627 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38600491dcf049ee6444b4c9b3a5e805b3ed89c9
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 9 00:29:29 2010 +0000
Add explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95626 91177308-0d34-0410-b5e6-96231b3b80d8
commit 945d6e6ef5500953740ddf25d349b7d8553b3539
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:11:10 2010 +0000
move PR6212 to this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95624 91177308-0d34-0410-b5e6-96231b3b80d8
commit 60992d698f56b41c8052610257dd0a84900e8b96
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:05:45 2010 +0000
enhance bits_storage to work with enums by using a c-style
cast instead of reinterpret_cast, fixing PR6243. Apparently
reinterpret_cast and I aren't getting along today.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95622 91177308-0d34-0410-b5e6-96231b3b80d8
commit 47a9f41cc78716c82d2bbe2ce4b0211d33a916cf
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 9 00:02:37 2010 +0000
Implement AsmPrinter support for several more operators which have
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95620 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2376dd8e47d549492464909444dff454c23a7b3d
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 23:58:47 2010 +0000
Document that MCExpr::Mod is actually remainder.
Document that MCExpr::Div, Mod, and the comparison operators are all
signed operators.
Document that the comparison operators' results are target-dependent.
Document that the behavior of shr is target-dependent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95619 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8479c1b655a03a1c166221803312525333cc2f46
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:56:03 2010 +0000
fix some problems handling large vectors reported in PR6230
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95616 91177308-0d34-0410-b5e6-96231b3b80d8
commit cba43384cca80445e3c3f75208aeba9cfc3c25e4
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:48:10 2010 +0000
this is done, tested by CodeGen/ARM/iabs.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95609 91177308-0d34-0410-b5e6-96231b3b80d8
commit 015b886f496c17e3283b12ee9898e3795fe17964
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:47:34 2010 +0000
convert to filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95608 91177308-0d34-0410-b5e6-96231b3b80d8
commit b31a0feb5bf1db49cb3a9be767650a7b6a4a5f74
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 8 23:34:25 2010 +0000
Added header file declarations and .exports entries
for the new APIs offered by the enhanced disassembler
for inspecting operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95606 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4e2d98e4e90b4cd1042261bf561b83cd3971d5a
Author: Devang Patel <dpatel@apple.com>
Date: Mon Feb 8 23:27:46 2010 +0000
test case for r95604.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95605 91177308-0d34-0410-b5e6-96231b3b80d8
commit 98b68dabfc5f27450a8827437dbc66ce9736f987
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Feb 8 23:22:00 2010 +0000
tighten up eh.setjmp sequence a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95603 91177308-0d34-0410-b5e6-96231b3b80d8
commit f444ae4711a92742b13d76d3174611058cfb2c40
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:10:08 2010 +0000
now that @GOTOFF is no longer represented as a suffix on a
MCSymbol, we can remove the 'suffix' argument of
GetBlockAddressSymbol. Do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95601 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7566f7ea341feb29e7d06d560ea0468f9da7e76
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:03:41 2010 +0000
unify the paths for external symbols and global variables:
2 files changed, 48 insertions(+), 83 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95599 91177308-0d34-0410-b5e6-96231b3b80d8
commit 878b5bee0314e26770cf4c4940c250c68707d1c5
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:52:47 2010 +0000
switch the rest of the "@ concatentation" logic in the X86
backend to use X86MCTargetExpr, simplifying a bunch of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95595 91177308-0d34-0410-b5e6-96231b3b80d8
commit d4b7310a90a8dc31334903ce141fb6728bef4a0d
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 8 22:50:23 2010 +0000
Fixed the AT&T AsmLexer to report the proper strings
for register tokens. Before, if it encountered
'%al,' it would report 'al,' as the token. Now it
correctly reports '%al'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95594 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3c9bf8bf6d2ac83f79f0e3d5f3f7de7ae1579ef9
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:33:55 2010 +0000
switch ELF @GOTOFF references to use X86MCTargetExpr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95593 91177308-0d34-0410-b5e6-96231b3b80d8
commit 36657aab3e97cf1ca68815bf7eba7b5b4e080b30
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 22:19:11 2010 +0000
ConstantFoldConstantExpression can theoretically return the original
expression; don't go into an infinite loop if it does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95591 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0fdcbcae5f72970bc4c9732ecd9c72d0e4bed5e1
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:09:08 2010 +0000
add an x86 implementation of MCTargetExpr for
representing @GOT and friends. Use it for
personality references as a first use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95588 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d2e850f5ff5a513c8ab0177b034361f2f489cba
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:07:36 2010 +0000
don't make hte dtor private or we can't construct the class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95587 91177308-0d34-0410-b5e6-96231b3b80d8
commit f0273f0d4692800e282fa4a1babcf3511a22fe8a
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:05:38 2010 +0000
use a c-style cast instead of reinterpret-cast, as sometimes the
cast needs to adjust for a vtable pointer when going from base to
derived type (when the base doesn't have a vtable but the
derived type does).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95585 91177308-0d34-0410-b5e6-96231b3b80d8
commit d1240766902e48f93afc1b46520bc146007bdb9f
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 8 22:02:41 2010 +0000
Add VCVTR (between floating-point and integer, VFP) for disassembly purpose.
The 'R' suffix means the to-integer operations use the rounding mode specified
by the FPSCR, encoded as Inst{7} = 0.
A8.6.295
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95584 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea0b08efa466c274c270305165ea473406353d7a
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 22:02:38 2010 +0000
When CodeGen'ing unoptimized code, there may be unfolded constant expressions
in global initializers. Instead of aborting, attempt to fold them on the
spot. If folding succeeds, emit the folded expression instead.
This fixes PR6255.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95583 91177308-0d34-0410-b5e6-96231b3b80d8
commit 642a130ec467059b96527271834db7ec40c5eb0c
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 22:00:06 2010 +0000
Add const qualifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95582 91177308-0d34-0410-b5e6-96231b3b80d8
commit 739b7feb51bda6378f4a403e248cdb36ac4d28e0
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 8 21:53:27 2010 +0000
Apply the 95471 fix to SelectionDAGBuilder as well;
we can get in here if FastISel gives up in a block.
(Actually the two copies of this need to be unified. Later.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95579 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95d7e60ad7d30e54f42e40ac6d6362e8ed079821
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 20:34:14 2010 +0000
In guaranteed tailcall mode, don't decline the tailcall optimization
for blocks ending in "unreachable".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95565 91177308-0d34-0410-b5e6-96231b3b80d8
commit a64ddd5cca43fd3abfaa3191f01ff1ecc762ada4
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 20:27:50 2010 +0000
Rename the PerformTailCallOpt variable to GuaranteedTailCallOpt to reflect
its current purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95564 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d81583775836536a9e7a7c2d0140ab236a67f98
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 8 19:41:48 2010 +0000
Add VCMP (VFP floating-point compare without 'E' bit set) for disassembly purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95560 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1020ff0702994f0ae376d644967f824716e11182
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 19:41:07 2010 +0000
add scaffolding for target-specific MCExprs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95559 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8f85fa82f062103cbbf764911e4c29720bbdee01
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 8 19:36:51 2010 +0000
Flesh out the list of predicates, for those who like this style. I was
looking for isPointer, and added the rest for uniformity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95557 91177308-0d34-0410-b5e6-96231b3b80d8
commit 683f4fdca2b99ea8313f4ec9e95d91f1ceadbe2b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Feb 8 18:08:46 2010 +0000
ImmutableIntervalMap: Fix for unqualified lookup into dependent base class, done
by clang's -fixit! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95551 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4bd310a7b73b1e80acb35c8c415db368ca854d0
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 8 17:26:09 2010 +0000
Added VMOVRRS/VMOVSRR to ARMInstrVFP.td for disassembly purpose.
A8.6.331 VMOV (between two ARM core registers and two single-precision registers)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95548 91177308-0d34-0410-b5e6-96231b3b80d8
commit 11449e728495f679b4c6b67dc3d656cd04796f9a
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 8 11:03:31 2010 +0000
Fix some typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95542 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e8ce476cbf724f9490deefccf6a170b7a1330a7
Author: Edwin Török <edwintorok@gmail.com>
Date: Mon Feb 8 08:37:27 2010 +0000
Fix x86 JIT stub on MSVC.
Thanks to Kristaps Straupe for noticing the bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95537 91177308-0d34-0410-b5e6-96231b3b80d8
commit abd3dd6ba14de9b44290bb2b4861406fdc076fa0
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Mon Feb 8 06:08:32 2010 +0000
Fixed build error for redefinition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95532 91177308-0d34-0410-b5e6-96231b3b80d8
commit 022752dff182da48cd5f6db70a90a331d7aaaa46
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Mon Feb 8 05:56:37 2010 +0000
Add uppercase and lowercase part defines in driver.
Use a temp dir with a unique name in the current dir itself.
Use forward_value instead of unpack_values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95530 91177308-0d34-0410-b5e6-96231b3b80d8
commit 640885d04fc3bdd4d001fea92ef486a325fb0d72
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Sun Feb 7 21:13:46 2010 +0000
Make the destructor for TypeMapBase protected. Spotted by Duncan Sands with
cppcheck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95527 91177308-0d34-0410-b5e6-96231b3b80d8
commit b29f6887c9b9ca1815e71885a14de6f4119a61ee
Author: Duncan Sands <baldrick@free.fr>
Date: Sun Feb 7 21:09:22 2010 +0000
Give DwarfPrinter a protected (but not virtual) destructor. Cppcheck
warns about this base class not having a virtual destructor, but since
this class has no virtual methods and neither it or the types derived
from it has a destructor, a protected trivial destructor will do (and
shuts cppcheck up) the trick without the cost of introducing a vtable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95526 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78506244d7ca04009b74cba63a767bfff889362b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Sat Feb 6 21:00:02 2010 +0000
Add suport for VASTART on Mips.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95506 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac629f51303d4578b4024ea9112bdea846b1fb6b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Sat Feb 6 19:20:49 2010 +0000
First step towards varargs support in Mips:
- o32 cc must pass all arguments in A0...A3 and stack regardless
if its type (but respect the alignment).
- Store all variable arguments back to the caller stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95500 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4377cdcc95e445d0cd120d7911bf73603ca1e1c1
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 6 09:07:11 2010 +0000
Run codegen dce pass for all targets at all optimization levels. Previously it's
only run for x86 with fastisel. I've found it being very effective in
eliminating some obvious dead code as result of formal parameter lowering
especially when tail call optimization eliminated the need for some of the loads
from fixed frame objects. It also shrinks a number of the tests. A couple of
tests no longer make sense and are now eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95493 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63d86fe59317d155058309d486d9b12c9749af7e
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 6 09:00:30 2010 +0000
Remove a large test case that (soon will) no longer make sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95492 91177308-0d34-0410-b5e6-96231b3b80d8
commit ebcb016721cf15218e983e00896d7d0fd9c69aee
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Feb 6 05:55:20 2010 +0000
Fix an uninitialized value. Radar 7609421.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95488 91177308-0d34-0410-b5e6-96231b3b80d8
commit ddc00c2e5437a927e17e5f9990e95c3adf202a01
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Sat Feb 6 03:32:21 2010 +0000
Fix alignment on ppc linux. This fixes the build of crtend.o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95477 91177308-0d34-0410-b5e6-96231b3b80d8
commit a338d790c56083d455bc753f473949f7c77ee3e9
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 6 03:28:46 2010 +0000
Do not emit callseq instructions around sibcalls. This eliminated some unnecessary stack adjustments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95475 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4fdd461c821799cfb547167b3f6dc339a0d4531c
Author: Dale Johannesen <dalej@apple.com>
Date: Sat Feb 6 02:28:32 2010 +0000
Add a Debug bit to MachineOperand, for uses that
are from debug info. Add an iterator to MachineRegisterInfo
to skip Debug operands when walking the use list. No
functional change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95473 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8ce1aefd18dd02f4a7a780423d83f0934f2ff883
Author: Dale Johannesen <dalej@apple.com>
Date: Sat Feb 6 02:26:02 2010 +0000
After Victor's latest commits I am seeing null
addresses in dbg.declare; ignore this for the
moment to prevent things from breaking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95471 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d5b21baf41576fa4016a3c6d838c1b77d8f000b
Author: Victor Hernandez <vhernandez@apple.com>
Date: Sat Feb 6 01:31:55 2010 +0000
Linker should not remap null operands of metadata
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95468 91177308-0d34-0410-b5e6-96231b3b80d8
commit a48cde4a81346c7b01a3359b48d0fdb1434b2ec2
Author: Victor Hernandez <vhernandez@apple.com>
Date: Sat Feb 6 01:21:09 2010 +0000
Function-local metadata whose operands had been optimized to no longer refer to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95467 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f30baafce7c09af90bb6e9e79c152f9eb4b7b0b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Sat Feb 6 01:16:28 2010 +0000
Reintroduce the InlineHint function attribute.
This time it's for real! I am going to hook this up in the frontends as well.
The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.
We need some experiments to determine if that is the right thing to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95466 91177308-0d34-0410-b5e6-96231b3b80d8
commit 268778b077fe46127e6a00235ce728bf64858387
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Feb 6 01:16:25 2010 +0000
Add a test for my change to disable reassociation for i1 types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95465 91177308-0d34-0410-b5e6-96231b3b80d8
commit 13ccbeb95d19fd81634289f1bb7ecdd1bebd056f
Author: Devang Patel <dpatel@apple.com>
Date: Sat Feb 6 01:02:37 2010 +0000
Set DW_AT_artificial only if argument is marked as artificial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95461 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac664e555198be231007a735bd10b376fbf08c59
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Feb 6 00:24:38 2010 +0000
Handle AddrMode6 (for NEON load/stores) in Thumb2's rewriteT2FrameIndex.
Radar 7614112.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95456 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9f5a066d16bee2846ae86747422154fae74382ce
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 5 23:21:31 2010 +0000
Don't unroll loops containing function calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95454 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed4441a21fde2e7c649dff89fbc78469111e2be9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 5 23:21:18 2010 +0000
Update CodeMetrics to count 'big' function calls explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95453 91177308-0d34-0410-b5e6-96231b3b80d8
commit a27bd000ed8d5a90462c151449de482167518d73
Author: Devang Patel <dpatel@apple.com>
Date: Fri Feb 5 23:09:20 2010 +0000
Do not generate specification DIE for nested functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95452 91177308-0d34-0410-b5e6-96231b3b80d8
commit f77c07ec9ec5fce04c1c12449d86e8aa76d89958
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:56:11 2010 +0000
fix incorrect encoding of SBB8mi that Kevin noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95448 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb382fa1126c564624a73f3f3c342e7257c65965
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:49:06 2010 +0000
fix a case where we'd mis-encode fisttp because of an incorrect (and
redundant with a correct one) pattern that was added for the disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95446 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58758822aa166beecd3633bb2dcc0d1cb40270f7
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:48:33 2010 +0000
add note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95445 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76c3b4645cfb88bed06ac303e3bd5eca7fbd76d3
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:46:46 2010 +0000
remove fixme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95444 91177308-0d34-0410-b5e6-96231b3b80d8
commit fede66007333c9d37b55becc6478c660ffbb2f97
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:20:08 2010 +0000
print encodings like this:
pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0x00,0x00,0x00]
instead of like this:
pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0000,0000,0000]
this only affects 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95441 91177308-0d34-0410-b5e6-96231b3b80d8
commit d29fd16ba6730e5d468b3c801036defc38d4fee8
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:10:22 2010 +0000
port X86InstrInfo::determineREX over to the new encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95440 91177308-0d34-0410-b5e6-96231b3b80d8
commit e263df713726cad8194b57e152b239fefe116328
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 5 22:03:18 2010 +0000
Teach SimplifyCFG about magic pointer constants.
Weird code sometimes uses pointer constants other than null. This patch
teaches SimplifyCFG to build switch instructions in those cases.
Code like this:
void f(const char *x) {
if (!x)
puts("null");
else if ((uintptr_t)x == 1)
puts("one");
else if (x == (char*)2 || x == (char*)3)
puts("two");
else if ((intptr_t)x == 4)
puts("four");
else
puts(x);
}
Now becomes a switch:
define void @f(i8* %x) nounwind ssp {
entry:
%magicptr23 = ptrtoint i8* %x to i64 ; <i64> [#uses=1]
switch i64 %magicptr23, label %if.else16 [
i64 0, label %if.then
i64 1, label %if.then2
i64 2, label %if.then9
i64 3, label %if.then9
i64 4, label %if.then14
]
Note that LLVM's own DenseMap uses magic pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95439 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea6cb061194032ea1cc02f3a0fa464862414c8c7
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:51:35 2010 +0000
wire up 64-bit MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95438 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca4ccadd5a260f18e4a0028eb8e98eb66aed0119
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:34:18 2010 +0000
really kill off the last MRMInitReg inst, remove logic from encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95437 91177308-0d34-0410-b5e6-96231b3b80d8
commit f2187ef165bbd8862570d9a442efa069a2f21c32
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:30:49 2010 +0000
lower the last of the MRMInitReg instructions in MCInstLower.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95435 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1d1881dc28eaf484040bae6693cd05a37268f3e6
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:21:06 2010 +0000
teach X86MCInstLower to lower the MOV32r0 and MOV8r0
pseudo instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95433 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a7f3c694c409396d5afc89a011156d4ba0cf540
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:15:57 2010 +0000
genericize helpers, use them for MOV16r0/MOV64r0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95432 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c9facc0f5829c9a757001a9be72fe525a7092c6
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:13:48 2010 +0000
factor code better in X86MCInstLower::Lower, teach it to
lower the SETB* instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95431 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e91ee7ed44cec2961c224a7658517bfdb571339
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:53:02 2010 +0000
fix logical-select to invoke filecheck right, and fix hte instcombine
xform it is checking to actually pass. There is no need to match
m_SelectCst<0, -1> since instcombine canonicalizes that into not(sext).
Add matches for sext(not(x)) in addition to not(sext(x)).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95420 91177308-0d34-0410-b5e6-96231b3b80d8
commit bef7eae141f95e6f9bac2d89e32821aac60be254
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:37:31 2010 +0000
implement the rest of the encoding types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95414 91177308-0d34-0410-b5e6-96231b3b80d8
commit e49d7f0238b69efa30030feaa7c0902de2d34372
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:24:13 2010 +0000
move functions for decoding X86II values into the X86II namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95410 91177308-0d34-0410-b5e6-96231b3b80d8
commit e124253d75ebdf633ea46bfc88249f0d8816da80
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 5 19:24:11 2010 +0000
Implement releaseMemory in CodeGenPrepare and free the BackEdges
container data. This prevents it from holding onto dangling
pointers and potentially behaving unpredictably.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95409 91177308-0d34-0410-b5e6-96231b3b80d8
commit 00da15e44575b6dd929c98ffcea255fd1e3c417f
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:20:30 2010 +0000
constant propagate a method away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95408 91177308-0d34-0410-b5e6-96231b3b80d8
commit d288fa5c437772beb0e8fd80321f3d30483bec69
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 5 19:20:15 2010 +0000
Use a SmallSetVector instead of a SetVector; this code showed up as a
malloc caller in a profile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95407 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4cb61fd7b7f6ab2a46be75570f738b78d4759c7b
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:16:26 2010 +0000
change getSizeOfImm and getBaseOpcodeFor to just take
TSFlags directly instead of a TargetInstrDesc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95405 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee40acfedd0178837836456fd0be4056a490c481
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:04:37 2010 +0000
add some more encodings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95403 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0444fea9072a78d761b68d00d7d65596a13a2439
Author: Eric Christopher <echristo@apple.com>
Date: Fri Feb 5 19:04:06 2010 +0000
Remove this code for now. I have a better idea and will rewrite with
that in mind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95402 91177308-0d34-0410-b5e6-96231b3b80d8
commit aed0106212e26a122c13834c5a99aebcd94e7caa
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 5 18:09:19 2010 +0000
Make lit's gtest support honor config.environment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95398 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4af5e911cadff4f2f5a01d8bace2adc5cadbaeb
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 5 18:04:58 2010 +0000
VMOVRRD and VMOVDRR both have Inst{7-6} = 0b00.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95397 91177308-0d34-0410-b5e6-96231b3b80d8
commit 56fbc4ede9610b426e5dbf62a5f7362082c2ce2e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 5 16:19:36 2010 +0000
Move --march, --mcpu, and --mattr from JIT/TargetSelect.cpp to lli.cpp.
llc.cpp also defined these flags, meaning that when I linked all of LLVM's
libraries into a single shared library, llc crashed on startup with duplicate
flag definitions. This patch passes them through the EngineBuilder into
JIT::selectTarget().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95390 91177308-0d34-0410-b5e6-96231b3b80d8
commit 739d920a390fa32de22d3559c7f330e664b8cbed
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 5 11:21:05 2010 +0000
Make test more fucused eliminating extraneous bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95384 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3e9ffb3d5bf4f0694d95396cf9be6236eb7b7705
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Feb 5 07:32:18 2010 +0000
MC: Change default comment column to 40 characters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95378 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1253ac260d7878f554e92d5faca350e05e3da1c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 5 06:37:00 2010 +0000
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95373 91177308-0d34-0410-b5e6-96231b3b80d8
commit f0216b2e36ecb4f9495a76c6742b5130fc28f554
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 06:16:07 2010 +0000
implement the non-relocation forms of memory operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95368 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1af931d655ccd22047e6f10b4bc87275099048d3
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 5 02:21:12 2010 +0000
Handle tail call with byval arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95351 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9f1617ad56becb49ba3acd0f0277a852e747c7d4
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 02:18:40 2010 +0000
start adding MRMDestMem, which requires memory form mod/rm encoding
to start limping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95350 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb61e493e8166c3c5fa2e9be00cf7c2258a0454c
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 01:53:19 2010 +0000
Add a few more encodings, we can now encode all of:
pushl %ebp
movl %esp, %ebp
movl $42, %eax
popl %ebp
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95344 91177308-0d34-0410-b5e6-96231b3b80d8
commit 14eaa6d49a9c27f5ca3568336f423dbd3a9a362b
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 5 01:27:11 2010 +0000
When the scheduler unfold a load folding instruction it move some of the predecessors to the unfolded load. It decides what gets moved to the load by checking whether the new load is using the predecessor as an operand. The check neglects the cases whether the predecessor is a flagged scheduling unit.
rdar://7604000
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95339 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7b8b3190e0b394f680aec4a3a2bbeb8d9683f8c6
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 5 00:17:02 2010 +0000
An empty global constant (one of size 0) may have a section immediately
following it. However, the EmitGlobalConstant method wasn't emitting a body for
the constant. The assembler doesn't like that. Before, we were generating this:
.zerofill __DATA, __common, __cmd, 1, 3
This fix puts us back to that semantic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95336 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4754ce2bbdbc22901c895e808f6d3b59fd0e6ca5
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Feb 4 23:32:37 2010 +0000
Do not reassociate expressions with i1 type. SimplifyCFG converts some
short-circuited conditions to AND/OR expressions, and those expressions
are often converted back to a short-circuited form in code gen. The
original source order may have been optimized to take advantage of the
expected values, and if we reassociate them, we change the order and
subvert that optimization. Radar 7497329.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95333 91177308-0d34-0410-b5e6-96231b3b80d8
commit d0ee4d055a7df10fd00e7e2c79f49150794dc84b
Author: Evan Phoenix <evan@fallingsnow.net>
Date: Thu Feb 4 19:56:59 2010 +0000
Disable external stubs for X86-32 and X86-64
Instruction selection for X86 now can choose an instruction
sequence that will fit any address of any symbol, no matter
the pointer width. X86-64 uses a mov+call-via-reg sequence
for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95323 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d58f1c83e473d7ef4bbe5eca61b44caf2ee9217
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 4 19:07:06 2010 +0000
Fix typo Duncan noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95322 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a89cf2a84a9742cb18541da4cf7c9256ae4f72c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 4 18:48:20 2010 +0000
Increase inliner thresholds by 25.
This makes the inliner about as agressive as it was before my changes to the
inliner cost calculations. These levels give the same performance and slightly
smaller code than before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95320 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6858dd68e42d90b458b0b447612323bcaab6028c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 4 18:46:28 2010 +0000
Fix small bug in handling instructions with more than one implicitly defined operand.
ProcessImplicitDefs would only mark one operand per instruction with <undef>.
This fixed PR6086.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95319 91177308-0d34-0410-b5e6-96231b3b80d8
commit 224fafa77876e93609df4cbd2f1fc8189353f520
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Thu Feb 4 18:40:11 2010 +0000
Get the LLVMC tests working with clang++ by removing the problematic CXXFLAG in lit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95318 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08c61aa2f10ad1819dcb72b9cf97e63e9ae1aad0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Thu Feb 4 11:57:54 2010 +0000
Apply property changes from PR6228.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95303 91177308-0d34-0410-b5e6-96231b3b80d8
commit 361dab7c6f2a1549ad87ace3fbfd8cb6845f7a4f
Author: Edwin Török <edwintorok@gmail.com>
Date: Thu Feb 4 09:31:35 2010 +0000
New flag for GenLibDeps, and llvm-config-perobjincl.
This allows to show the explicit files that need to be built/linked to get an
LLVM component.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95300 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5856a4fae7c87dc2938c1442f4ce73e9117ed52e
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 4 07:32:01 2010 +0000
move the PR6214 microoptzn to this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95299 91177308-0d34-0410-b5e6-96231b3b80d8
commit ec8ea91a09cc6dfaadb5c1c867467f1e4185e236
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 4 07:11:08 2010 +0000
fix a broken archive that was breaking dejagnu only (not lit)
after r95292
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95296 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8b36ef7f8be0244c1f43d84eed43178991668089
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 4 06:47:24 2010 +0000
Re-enable x86 tail call optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95295 91177308-0d34-0410-b5e6-96231b3b80d8
commit bd2bd23ea5f37c9bf362137e0fcab6ce798b9d37
Author: Eric Christopher <echristo@apple.com>
Date: Thu Feb 4 06:41:27 2010 +0000
Temporarily revert this since it appears to have caused a build
failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95294 91177308-0d34-0410-b5e6-96231b3b80d8
commit c102e823b361cdf9c0f7e0d95b3668e13617d7da
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 4 06:34:01 2010 +0000
add support for the sparcv9-*-* target triple to turn on
64-bit sparc codegen. Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95293 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d60cc5451bbcc875d8d0d4c42a3dc970a7469e8
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 4 06:19:43 2010 +0000
From PR6228:
"Attached patch removes the extra NUL bytes from the output and changes
test/Archive/MacOSX.toc from a binary to a text file (removes
svn:mime-type=application/octet-stream and adds svn:eol-style=native). I can't
figure out how to get SVN to include the new contents of the file in the patch
so I'm attaching it separately."
Patch by James Abbatiello!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95292 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb6f779a5ff24d22b74bb396232ac84b9386d682
Author: Eric Christopher <echristo@apple.com>
Date: Thu Feb 4 02:55:34 2010 +0000
Rework constant expr and array handling for objectsize instcombining.
Fix bugs where we would compute out of bounds as in bounds, and where
we couldn't know that the linker could override the size of an array.
Add a few new testcases, change existing testcase to use a private
global array instead of extern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95283 91177308-0d34-0410-b5e6-96231b3b80d8
commit fa66ea30c2cf83a19157ec92b4e520f5cf4bd299
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 4 02:45:02 2010 +0000
It's too risky to eliminate sext / zext of call results for tail call optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied about what it's doing).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95282 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9462c3a8c6cabfac5824aaf1274a210edaca3993
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 4 02:43:51 2010 +0000
Change the argument to getIntegerSCEV to be an int64_t, rather
than int. This will make it more convenient for LSR, which does
a lot of things with int64_t offsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95281 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c9b1478e9781dfd689a7297d401f259f67c3d68
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 4 02:40:39 2010 +0000
Indirect tail call has to go through a call preserved register since it's after callee register pops. X86 isel lowering is using EAX / R11 and it was somehow adding that to function live out. That prevented the real function return register from being added to the function live out list and bad things happen.
This fixes 483.xalancbmk (with tail call opt).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95280 91177308-0d34-0410-b5e6-96231b3b80d8
commit d77df71803f0e9d49c876caa31f4ace2c4b4cd98
Author: Sean Callanan <scallanan@apple.com>
Date: Thu Feb 4 01:43:08 2010 +0000
Filled in a few new APIs for the enhanced
disassembly library that provide access to
instruction information, and fixed ambiguous
wording in the comments for the header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95274 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0926ed7137ab99acade66f1c9bf746d040a2db27
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 4 01:42:13 2010 +0000
Use a tab instead of space after .type, for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95272 91177308-0d34-0410-b5e6-96231b3b80d8
commit 40787dcb640de2fc69c0291e1a788c46d0ed3d78
Author: Dale Johannesen <dalej@apple.com>
Date: Thu Feb 4 01:33:43 2010 +0000
Rewrite FP constant handling in DEBUG_VALUE yet
again, so it more or less handles long double.
Restore \n removed in latest MC frenzy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95271 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5aa5f8dbf6127b2c4afe4f1bb15396e82fdca049
Author: Victor Hernandez <vhernandez@apple.com>
Date: Thu Feb 4 01:13:08 2010 +0000
Fix (and test) function-local metadata that occurs before the instruction that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95269 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4fefacb214916e74d81d132fcb76a089e020499c
Author: Eric Christopher <echristo@apple.com>
Date: Wed Feb 3 23:56:07 2010 +0000
If we're dealing with a zero-length array, don't lower to any
particular size, we just don't know what the length is yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95266 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1bce8ccee05dd5340560bc330068e5d6e3602f99
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 22:33:17 2010 +0000
This test passes now on ppc darwin; if it doesn't pass
on some other ppc say something on the list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95265 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07c1cb52549b6c95ce42c23893bff6764b6e7042
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 22:29:02 2010 +0000
This test passes now on ppc darwin, so reenable it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95264 91177308-0d34-0410-b5e6-96231b3b80d8
commit c09099dadac902f3e672e26c0831d6b2151d779f
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 22:24:49 2010 +0000
Debugging is now reenabled on PPC darwin, so reenable
these tests (they pass).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95263 91177308-0d34-0410-b5e6-96231b3b80d8
commit 777872cc6a319b8695bd62962aaeb9ebbf3d969e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 21:57:59 2010 +0000
enhance new encoder to support prefixes + RawFrm
instructions with no operands. It can now handle
define void @test2() nounwind { ret void }
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95261 91177308-0d34-0410-b5e6-96231b3b80d8
commit 364fb537e4e3f3c4bb46d15a086b682a36bb3065
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 21:43:43 2010 +0000
set up some infrastructure, some minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95260 91177308-0d34-0410-b5e6-96231b3b80d8
commit a825a3149e613e5e42730fa790f9e39e5a9f635c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 3 21:40:40 2010 +0000
Speculatively disable x86 automatic tail call optimization while we track down a self-hosting issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95259 91177308-0d34-0410-b5e6-96231b3b80d8
commit 41aed3c15b65cdec29da235390b3e3cd7b11ad7a
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 3 21:39:04 2010 +0000
Make test less fragile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95258 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd2d81f36803ff0e9f0efdaea13b0276b49d7843
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 21:24:49 2010 +0000
stub out a new X86 encoder, which can be tried with
-enable-new-x86-encoder until its stable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95256 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1bb768cf0398615a2a6cbc4e98af77eefe960764
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 21:14:33 2010 +0000
rename createX86MCCodeEmitter to more accurately reflect what it creates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95254 91177308-0d34-0410-b5e6-96231b3b80d8
commit ae5bc0f4122457a67bbfcfddd89b063803e34e3d
Author: Kevin Enderby <enderby@apple.com>
Date: Wed Feb 3 21:04:42 2010 +0000
Added support for X86 instruction prefixes so llvm-mc can assemble them. The
Lock prefix, Repeat string operation prefixes and the Segment override prefixes.
Also added versions of the move string and store string instructions without the
repeat prefixes to X86InstrInfo.td. And finally marked the rep versions of
move/store string records in X86InstrInfo.td as isCodeGenOnly = 1 so tblgen is
happy building the disassembler files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95252 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2831d5d4aff7323c6526bfa99857dac2bf94295e
Author: Devang Patel <dpatel@apple.com>
Date: Wed Feb 3 20:08:48 2010 +0000
Emit appropriate expression to find virtual base offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95242 91177308-0d34-0410-b5e6-96231b3b80d8
commit 51ea0cc2933924feb130d52d071e5bdee8ed694b
Author: Devang Patel <dpatel@apple.com>
Date: Wed Feb 3 19:57:19 2010 +0000
Provide interface to identifiy artificial methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95240 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1af53a796f93066a34cdf4cf7b9371aa173c1c3
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Feb 3 19:18:04 2010 +0000
r94686 changed all ModuleProvider parameters to Modules, which made the
1-argument ExecutionEngine::create(Module*) ambiguous with the signature that
used to be ExecutionEngine::create(ModuleProvider*, defaulted_params). Fixed
by removing the 1-argument create(). Fixes PR6221.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95236 91177308-0d34-0410-b5e6-96231b3b80d8
commit 819e4ea9858786a3a202642b179f4dffc0cde9c2
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Feb 3 18:49:55 2010 +0000
Make docs less specific about their versions, at Chris's suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95231 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2402ff84538dadd53e6f13f5ad9dd7c6bdfe0ef0
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 3 18:43:46 2010 +0000
Add llvm_supports_darwin_and_target to DejaGNU as well, I'd almost forgotten it
ever existed. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95230 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38bec178a30bdb19ad3197fcc0abd6b61fe72ee1
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Feb 3 18:23:23 2010 +0000
Mention the version in the documentation index and link to the 2.6 docs, which
is what most readers will actually be aiming for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95229 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0889414038faa0c5c8f1fd28db4391c7a1dfabad
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 3 18:18:30 2010 +0000
llvm-mc: Add --show-inst option, for showing the MCInst inline with the assembly
output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95227 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76fd987a802f86d0ca298812b63552a15b7f174d
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 3 17:27:31 2010 +0000
Add "Author Date Id Revision" svn:keyword properties to these files, as
is done with the other html files in doc, to hopefully keep strings like
"Last modified" current.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95225 91177308-0d34-0410-b5e6-96231b3b80d8
commit 66b7149074808f51fd6365b509028ff862a05108
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 3 17:23:56 2010 +0000
Adjust the heuristics used to decide when SROA is likely to be profitable.
The SRThreshold value makes perfect sense for checking if an entire aggregate
should be promoted to a scalar integer, but it is not so good for splitting
an aggregate into its separate elements. A struct may contain a large embedded
array along with some scalar fields that would benefit from being split apart
by SROA. Even if the total aggregate size is large, it may still be good to
perform SROA. Thus, the most important piece of this patch is simply moving
the aggregate size comparison vs. SRThreshold so that it guards only the
aggregate promotion.
We have also been checking the number of elements to decide if an aggregate
should be split up. The limit of "SRThreshold/4" seemed rather arbitrary,
and I don't think it's very useful to derive this limit from SRThreshold
anyway. I've collected some data showing that the current default limit of
32 (since SRThreshold defaults to 128) is a reasonable cutoff for struct
types. One thing suggested by the data is that distinguishing between structs
and arrays might be useful. There are (obviously) a lot more large arrays
than large structs (as measured by the number of elements and not the total
size -- a large array inside a struct still counts as a single element given
the way we do SROA right now). Out of 8377 arrays where we successfully
performed SROA while compiling a large set of benchmarks, only 16 of them had
more than 8 elements. And, for those 16 arrays, it's not at all clear that
SROA was actually beneficial. So, to offset the compile time cost of
investigating more large structs for SROA, the patch lowers the limit on array
elements to 8.
This fixes Apple Radar 7563690.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95224 91177308-0d34-0410-b5e6-96231b3b80d8
commit b692ce605e860ee4d6928eab7586d3cfc2302407
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Wed Feb 3 12:00:02 2010 +0000
Repository access test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95221 91177308-0d34-0410-b5e6-96231b3b80d8
commit b49b883b85ef0c4d56c3343a46bcbea6e4d09a3e
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Wed Feb 3 09:05:21 2010 +0000
Remove redundant declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95213 91177308-0d34-0410-b5e6-96231b3b80d8
commit b68773962f3210db4e2a3837197737c8eaa6e0ad
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Wed Feb 3 09:04:11 2010 +0000
Add constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95212 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1f506f73258301e6cfb4128a3cce5bf93380460a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:42:38 2010 +0000
reapply r95206, this time actually delete the code I'm replacing in the third stub case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95209 91177308-0d34-0410-b5e6-96231b3b80d8
commit cd96d73fe03dff21c9fe0bf9787fc34e37411e34
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:41:18 2010 +0000
revert r95206, it is apparently causing bootstrap failure on i386-darwin9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95208 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a1f1f72708b2ff83d4f5ea1df34e652a73e1ba0
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:28:13 2010 +0000
print instruction encodings with the existing comment facilities,
so that llvm-mc -show-encoding prints like this:
hlt ## encoding: [0xf4]
instead of like this:
hlt
# encoding: [0xf4]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95207 91177308-0d34-0410-b5e6-96231b3b80d8
commit b8efb41ad3922cdd022a2eedc8bb5ee098e68b91
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:21:16 2010 +0000
make the x86 backend emit darwin stubs through mcstreamer
instead of textually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95206 91177308-0d34-0410-b5e6-96231b3b80d8
commit e550c4e717d5135efe0df7e679ec1e83b7ecc0f9
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:18:30 2010 +0000
make MachineModuleInfoMachO hold non-const MCSymbol*'s instead
of const ones. non-const ones aren't very useful, because you can't
even, say, emit them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95205 91177308-0d34-0410-b5e6-96231b3b80d8
commit 73cdb9fff3e6e69e6429be28339d10ae0ba78d1a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 05:55:08 2010 +0000
change addPassesToEmitFile to return true on failure instead of its input,
add -filetype=null for performance testing and remove -filetype=dynlib,
which isn't planned to be implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95202 91177308-0d34-0410-b5e6-96231b3b80d8
commit 73b9dcac300a4b4f5814fd628a774ecd2693b639
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 3 03:55:59 2010 +0000
Revert 94937 and move the noreturn check to codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95198 91177308-0d34-0410-b5e6-96231b3b80d8
commit acfc18fbad20b8f2e402408648537a463f3cbb57
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 3 03:46:41 2010 +0000
Fixed the disassembler so it accepts multiple
instructions on a single line. Also made it a
bit more forgiving when it reports errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95197 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7550a4139b55d976e60bf2025e41e9a76d9bc6df
Author: John McCall <rjmccall@apple.com>
Date: Wed Feb 3 03:42:44 2010 +0000
Make APInt::countLeadingZerosSlowCase() treat the contents of padding bits
as undefined. Fixes an assertion in APFloat::toString noticed by Dale.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95196 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4c2d02dcf909a29ad5776b8e320a3e896ec81d91
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 3 03:28:02 2010 +0000
Allow all types of callee's to be tail called. But avoid automatic tailcall if the callee is a result of bitcast to avoid losing necessary zext / sext etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95195 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7aec47e78037512575e13a5b31b059bb2ea02cf6
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Feb 3 02:11:49 2010 +0000
Reconfigure with autoconf-2.60, and fix autoconf.ac to work with that version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95191 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5da1e50388dd0ba4a949dd5c559ffb6c9433abc1
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:49:49 2010 +0000
don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,
.o files don't like that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95187 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25137eb1159bc82bdf8a9b6c56a3bc1d05febd8a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:46:05 2010 +0000
privatize a bunch of methods and move \n printing into them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95186 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed2c379e4c3bf39afbdfe08b573f965a62063b45
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:41:03 2010 +0000
rename printMachineInstruction -> EmitInstruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95184 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0ee7ca20cd5c9b157c4a1ab9825d6c2f0ba99e96
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 01:40:33 2010 +0000
Reapply 95050 with a tweak to check the register class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95183 91177308-0d34-0410-b5e6-96231b3b80d8
commit dab48b4dbe274d58ffe036848efe3f3de25596eb
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:16:28 2010 +0000
print instructions through the mcstreamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95181 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74887bc2f8910a00660b4dfe55cbd2a3f5639681
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:15:03 2010 +0000
emit instructions through the streamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95180 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5099786d0b6e63912227de6fe21f1921bb8ca311
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:13:25 2010 +0000
Finally eliminate printMCInst and send instructions through
the streamer. Demo:
$ cat t.ll
define i32 @test() nounwind {
ret i32 42
}
$ llc t.ll -o -
...
_test:
movl $42, %eax
ret
$ llc t.ll -o t.o -filetype=obj
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_test:
00000000 movl $0x0000002a,%eax
00000005 ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95179 91177308-0d34-0410-b5e6-96231b3b80d8
commit f49ae3f1c237f37309d8b8d3c096c902e64156a7
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:09:55 2010 +0000
rejigger the world so that EmitInstruction prints the \n at
the end of the instruction instead of expecting the caller to
do it. This currently causes the asm-verbose instruction
comments to be on the next line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95178 91177308-0d34-0410-b5e6-96231b3b80d8
commit 89ef2563079e2c3e90116949105928b57eca6c97
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:00:52 2010 +0000
sink handling of target-independent machine instrs (other
than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp
file. This allows elimination of the
NO_ASM_WRITER_BOILERPLATE hack among other things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95177 91177308-0d34-0410-b5e6-96231b3b80d8
commit c38f1118b1fe7c43c8b4fe67dd920d50a574874e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 00:48:53 2010 +0000
make these less sensitive to asm verbose changes by disabling it for them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95175 91177308-0d34-0410-b5e6-96231b3b80d8
commit a43ec0f4625cfbff87cf1cad3e233d564fb5b79f
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 00:36:40 2010 +0000
Print FPImm a less kludgy way; APFloat.toString seems
to have some problems anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95171 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a7420b3f92907948e325b870253bb2215ee871b
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 3 00:33:21 2010 +0000
Fix some comment typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95170 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07a7fb4dfc55877789e4ac89e8e15f7eb193a1c0
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 00:29:55 2010 +0000
pass an instprinter into the AsmPrinter if it is available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95168 91177308-0d34-0410-b5e6-96231b3b80d8
commit b881efd98a3db73235b51fef4a67c8a27ab6c86d
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 00:22:02 2010 +0000
make any use of the "O" stream in asmprinter print to
stderr if in filetype=obj mode. This is a hack, and will
live until dwarf emission and other random stuff that is
not yet going through MCStreamer is upgraded. It only
impacts filetype=obj mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95166 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23ce2ffb517fec9f017309966c12c1f79a92593e
Author: Eric Christopher <echristo@apple.com>
Date: Wed Feb 3 00:21:58 2010 +0000
Recommit this, looks like it wasn't the cause.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95165 91177308-0d34-0410-b5e6-96231b3b80d8
commit 455d28b90ab94ef472ed76178182626c18f36424
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 2 23:58:13 2010 +0000
ByVal frame object size should be that of the byval argument, not the size of the type which is just a pointer. This is not known to break stuff but is wrong nevertheless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95163 91177308-0d34-0410-b5e6-96231b3b80d8
commit 756d064ed2ce9da3f9ce4667a9bd3dd132312808
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 23:57:42 2010 +0000
Hook up -filetype=obj through the MachO streamer. Here's a demo:
$ cat t.ll
@g = global i32 42
$ llc t.ll -o t.o -filetype=obj
$ nm t.o
00000000 D _g
There is still a ton of work left. Instructions are not being encoded
yet apparently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95162 91177308-0d34-0410-b5e6-96231b3b80d8
commit 21e1c2718234fa1657c0aeeea86b5dece6ce1d74
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 2 23:56:14 2010 +0000
As of r79039, we still try to eliminate the frame pointer on leaf functions,
even when -disable-fp-elim is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95161 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5f7db78a1e125e52592115b0c97029143fae537a
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 2 23:55:14 2010 +0000
Revert 95130.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95160 91177308-0d34-0410-b5e6-96231b3b80d8
commit dcbc37a6c5942a820f36cf6b66bdc041df414ce7
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 2 23:54:23 2010 +0000
Accept floating point immediates in DEBUG_VALUE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95159 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc21f9123f818edf24d5b40c526dc02a6a2151a4
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 23:46:47 2010 +0000
AsmParser/X86: Add temporary hack to allow parsing "sal". Eventually we need
some mechanism for specifying alternative syntaxes, but I'm not sure what form
that should take yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95158 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5f6ea763bf9b8e0dd4f2d3698a5e29e8d2a5017a
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 23:46:36 2010 +0000
AsmMatcherEmitter: Use stable_sort when reordering instructions, so that order
is still deterministic even amongst ambiguous instructions (eventually ambiguous
match orders will be a hard error, but we aren't there yet).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95157 91177308-0d34-0410-b5e6-96231b3b80d8
commit 397cebe4eb9631eb73da640399ac802d76a412fb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 23:45:17 2010 +0000
use OwningPtr and factor code better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95156 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc40c64e5548d1a6b93613dc50b487820d8e7d91
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 23:37:42 2010 +0000
refactor code so that LLVMTargetMachine creates the asmstreamer and
mccontext instead of having AsmPrinter do it. This allows other
types of MCStreamer's to be passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95155 91177308-0d34-0410-b5e6-96231b3b80d8
commit d334d70d6b78b9533b875b329aac174ffa922747
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 23:01:31 2010 +0000
Hopefully temporarily revert this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95154 91177308-0d34-0410-b5e6-96231b3b80d8
commit b5696b523dbc5c8586a5222d5519fe820ee9424b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:58:13 2010 +0000
simplify getVerboseAsm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95153 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6b284d094e3805cf4d3dca8fbb91acbad84cf546
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:54:51 2010 +0000
move handling of asm-verbose out of AsmPrinter.cpp into LLVMTargetMachine.cpp with the rest of the command line options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95152 91177308-0d34-0410-b5e6-96231b3b80d8
commit e80dc6079eaeaf314617975b9518414674af2cbd
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:37:42 2010 +0000
remove dead #include, stupid symlinks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95150 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8982c7f29ed5ead56d2b93cfaa728a50a3ed12c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:36:29 2010 +0000
remove the # TAILCALL markers, which was causing the to fail.
It's unclear if the matcher is nondeterminstic of what here,
but I'm getting matches without TAILCALL and some other hosts
are getting matches with it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95149 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8622da039332c3928eb306e8317c8cd1a18d4809
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:31:11 2010 +0000
Remove a bunch of stuff around the edges of the ELF writer.
Now the only use of the ELF writer is the JIT, which won't be
easy to fix in the short term. :( :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95148 91177308-0d34-0410-b5e6-96231b3b80d8
commit c66b12bfe23a9469cfe8316dd99204cc94b4b5cf
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 22:29:26 2010 +0000
Reformat my last patch slightly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95147 91177308-0d34-0410-b5e6-96231b3b80d8
commit 049f71265b0a9dc1bf938c87b9d3c3b076e47835
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:13:21 2010 +0000
tidy some targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95146 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3b4b0ba19b5001a565087800fd343cef5be9e39
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 22:10:43 2010 +0000
Re-add strcmp and known size object size checking optimization.
Passed bootstrap and nightly test run here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95145 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed3cf2287918962e1d0c7a4daf3817fef8700fb0
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:03:00 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95144 91177308-0d34-0410-b5e6-96231b3b80d8
commit b84851fd840d1bc4d79d696b6e8679d3acbafcda
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 22:00:15 2010 +0000
MCAssembler/Darwin: Add a test (on Darwin) that we assemble a bunch of
instructions exactly like 'as', and produce equivalent .o files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95143 91177308-0d34-0410-b5e6-96231b3b80d8
commit 062ed9b30fff92c004912477bb9255722f8835ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:55:58 2010 +0000
detemplatize the ppc code emitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95142 91177308-0d34-0410-b5e6-96231b3b80d8
commit 669180b467a7ec704fd95d8d26251fbaffe3e1fd
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:52:03 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95141 91177308-0d34-0410-b5e6-96231b3b80d8
commit 050e1f2800742f0fe7dbc4cf416a49bb1f6ac773
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:49:29 2010 +0000
add a definition for ID.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95140 91177308-0d34-0410-b5e6-96231b3b80d8
commit d19fc96465d615f29b254a2a5bdb5a9a431b6dab
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:48:51 2010 +0000
detemplatize ARM code emitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95138 91177308-0d34-0410-b5e6-96231b3b80d8
commit 85186c4e27f082dce8568ce347983481bce4607e
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 21:44:16 2010 +0000
MCAsmParser/X86: Represent absolute memory operands as CodeGen does, with scale
== 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95137 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6776221b04b736cec359aace62501c512d2dc7a1
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 21:44:10 2010 +0000
MCCodeEmitter/X86: Handle tied registers better when converting MCInst ->
MCMachineInstr. This also fixes handling of tied registers for MRMSrcMem
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95136 91177308-0d34-0410-b5e6-96231b3b80d8
commit df557c865aaa18a337964f7cccf7973b12d9735a
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 21:44:01 2010 +0000
MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95135 91177308-0d34-0410-b5e6-96231b3b80d8
commit f9365bf724b4308e2bac368a2f29a02fe949ff0f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:38:59 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95134 91177308-0d34-0410-b5e6-96231b3b80d8
commit f393cd4958708c36c353f9179ee4f3324edc801c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:35:47 2010 +0000
detemplatize alpha code emission, it is now JIT specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95133 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb4e4e82f29f101e47c0d3fc42be85a82e993cad
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:31:47 2010 +0000
eliminate all the dead addSimpleCodeEmitter implementations.
eliminate random "code emitter" stuff in Alpha, except for
the JIT path. Next up, remove the template cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95131 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32abfae758e1d86d915f1f0e5aec20bea802d4fa
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 2 21:29:10 2010 +0000
Pass callsite return type to TargetLowering::LowerCall and use that to check sibcall eligibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95130 91177308-0d34-0410-b5e6-96231b3b80d8
commit 818ad00b8aa8a10052e77c92c67f69f32b2356ba
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 21:11:22 2010 +0000
Make DenseSet's erase pass on the return value rather than swallowing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95127 91177308-0d34-0410-b5e6-96231b3b80d8
commit f3adb09481fcde8dd865a5a2fcb8201e3dac7b97
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 21:10:27 2010 +0000
Fix function names in comments. Thanks Duncan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95126 91177308-0d34-0410-b5e6-96231b3b80d8
commit 138c76eb26da9c0d40033566d2a57f2d5510f1ba
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:06:45 2010 +0000
eliminate FileModel::Model, just use CodeGenFileType. The client
of the code generator shouldn't care what object format a target
uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95124 91177308-0d34-0410-b5e6-96231b3b80d8
commit 71f26cdad52675b2b0ef19c349d0f59cd27323ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 20:57:28 2010 +0000
this apparently depends on the host somehow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95122 91177308-0d34-0410-b5e6-96231b3b80d8
commit f792e0305f7a44f12e12b65a89c101a43aeb687b
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Feb 2 20:56:02 2010 +0000
XFAIL for PPC Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95121 91177308-0d34-0410-b5e6-96231b3b80d8
commit 742d333e513f892dfe2e5d31d3e53008bf3176f7
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 20:41:39 2010 +0000
disable this test for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95120 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfe96230d1779423b5f75664be0053fece155600
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 2 20:20:30 2010 +0000
...and fixed the Makefile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95119 91177308-0d34-0410-b5e6-96231b3b80d8
commit 29afd237bdf1618d1f9e82919bb9346b8e8f3833
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 2 20:11:23 2010 +0000
Renamed the ed directory to edis, as suggested
yesterday. This eliminates possible confusion
about what exactly in this directory; the name
is still short, though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95118 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63cb9e7fa1ca3ddf761bf5d1ea3a35711ca16689
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:41:23 2010 +0000
remove the remnants of TargetMachOWriterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95114 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f6ee467bd3d1dd02b2dd8d95e90d1aad451fafb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:38:14 2010 +0000
Add a new top-level MachO.h file for manifest constants, fixing
a layering violation from MC -> Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95113 91177308-0d34-0410-b5e6-96231b3b80d8
commit 982557e7ea0bb8dda5799323072c0e2ce7c5099d
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 2 19:31:58 2010 +0000
Added t2BFI (Bitfield Insert) entry for disassembler, with blank pattern field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95112 91177308-0d34-0410-b5e6-96231b3b80d8
commit 368dfe8381c0b8bf62cd2f7c279af5917ceb24eb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:23:55 2010 +0000
remove PPCMachOWriterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95111 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0b860df49af8a5ce36983931fe3c3473e318d037
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:14:27 2010 +0000
eliminate all forms of addPassesToEmitMachineCode except
the one used by the JIT. Remove all forms of
addPassesToEmitFileFinish except the one used by the static
code generator. Inline the remaining version of
addPassesToEmitFileFinish into its only caller.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95109 91177308-0d34-0410-b5e6-96231b3b80d8
commit c74cb6dfb1a37f36bf306ce88282c8478c40f062
Author: Kevin Enderby <enderby@apple.com>
Date: Tue Feb 2 19:05:57 2010 +0000
Added another version of the X86 assembler matcher test case.
This test case is different subset of the full auto generated test case, and a
larger subset that is in x86_32-bit.s (that set will encode correctly). These
instructions can pass though llvm-mc as it were a logical cat(1) and then
reassemble to the same instruction. It is useful as we bring up the parser and
matcher so we don't break things that currently work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95107 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf50076b6922bd5761ce8f827c44fd5395329dc7
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:03:39 2010 +0000
remove dead code, we're requesting TargetMachine::AssemblyFile here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95105 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8184d24c93887f1d3eb9cbda7d7e8fa19e8c6344
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 2 18:52:56 2010 +0000
Test revert 95050; there's a good chance it's causing
buildbot failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95103 91177308-0d34-0410-b5e6-96231b3b80d8
commit 545b1b1a9d368259e05f745840ebf091d0cad704
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 18:44:12 2010 +0000
Inline addAssemblyEmitter into its one real caller and delete
the -print-emitted-asm option. The JIT shouldn't have to pull
in the asmprinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95100 91177308-0d34-0410-b5e6-96231b3b80d8
commit abebd2f6102df6dbf12b44e147132ca029a36018
Author: Duncan Sands <baldrick@free.fr>
Date: Tue Feb 2 12:53:04 2010 +0000
Adding missing methods for creating Add, Mul, Neg and Sub with NUW.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95086 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8142256571dbba74bf0d1dc5dc3c696096dd185c
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 07:05:31 2010 +0000
Return value on every path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95075 91177308-0d34-0410-b5e6-96231b3b80d8
commit d4c74a63f9c6569b68b0c4dd086f3fbf2c8c5add
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 06:33:32 2010 +0000
simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95074 91177308-0d34-0410-b5e6-96231b3b80d8
commit 84aa735e88bb3f357f00f9a83f9e4d7bfb1440d2
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 06:22:08 2010 +0000
More logic correction: RemoveOverlap should always create new tree. Add a
parameter to record whether changes actually happened.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95073 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9eeca10a528f87882fcc1bdeeb267a008b97296c
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 05:23:23 2010 +0000
Add a lookup method to the IntervalMap. The difference from the original
lookup is that if the lookup key is contained in the key, we return the data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95070 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32b86302fc0e3568bfdd453919443e7b3589d9d0
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 2 03:47:27 2010 +0000
Apparently gdb is not amused by empty lines in pubtypes section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95064 91177308-0d34-0410-b5e6-96231b3b80d8
commit b36a8b11f1b7e8b451c805c554b357f9924d98d2
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 2 03:37:03 2010 +0000
NULL terminate name in pubtypes sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95062 91177308-0d34-0410-b5e6-96231b3b80d8
commit 44e7bce35179730d599b3ae35096df04b0e79553
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 02:43:51 2010 +0000
don't turn (A & (C0?-1:0)) | (B & ~(C0?-1:0)) -> C0 ? A : B
for vectors. Codegen is generating awful code or segfaulting
in various cases (e.g. PR6204).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95058 91177308-0d34-0410-b5e6-96231b3b80d8
commit 06e4b56331b271118d56da0e64ea49ec9a3ecab2
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 02:40:56 2010 +0000
Fix a bunch of errors in the old logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95056 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9ba1ba9fcd7fcb040dcb3d216183d07dce285d9
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 02:26:54 2010 +0000
fix a crash in loop unswitch on a loop invariant vector condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95055 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a64e3edd146c918912c07ea7cf95f1e103dcc88
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 02:23:37 2010 +0000
remove an unreduced testcase, rename another.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95054 91177308-0d34-0410-b5e6-96231b3b80d8
commit f03020966b3492b238fe1262c062e7a7d9fc58b4
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 2 02:22:50 2010 +0000
Perform sibcall in some cases when arguments are passes memory. Look for cases
where callee's arguments are already in the caller's own caller's stack and
they line up perfectly. e.g.
extern int foo(int a, int b, int c);
int bar(int a, int b, int c) {
return foo(a, b, c);
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95053 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8e0bbfc241381fdc3c8bdfa0c9e93b8b49d8f2e
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 2 02:18:20 2010 +0000
Removed an unnecessary class from the EDDisassembler
implementation. Also made sure that the register maps
were created during disassembler initialization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95051 91177308-0d34-0410-b5e6-96231b3b80d8
commit c0d238a0dbb716040b1058342db54fe4eb7e652e
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 2 02:08:02 2010 +0000
Make local RA smarter about reusing input register of a copy
as output. Needed for (functional) correctness in inline asm,
and should be generally beneficial. 7361612.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95050 91177308-0d34-0410-b5e6-96231b3b80d8
commit e078aea60472fd4dcb96170350fe942c01f830af
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 01:57:01 2010 +0000
11.8p1: A nested class is a member and as such has the same access rights as
any other member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95047 91177308-0d34-0410-b5e6-96231b3b80d8
commit 03cd7a89d7f9c3e7114d25a513da4f15ba4e2dbf
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 01:44:02 2010 +0000
LangRef.html says that inttoptr and ptrtoint always use zero-extension
when the cast is extending.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95046 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94974afa225f916cc1fc5d9aa7aa6b373cb235d9
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 01:41:39 2010 +0000
Factor out alignof expression folding into a separate function and
generalize it to handle more cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95045 91177308-0d34-0410-b5e6-96231b3b80d8
commit c45b3aa1897a99f74fbb73038c8fd2995eb250bc
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 01:38:49 2010 +0000
Various code simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95044 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6eb9d10f94d819a320f61f8c961643758515dd50
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 01:12:20 2010 +0000
Update CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95041 91177308-0d34-0410-b5e6-96231b3b80d8
commit d7e49f3f6b670e14a3ee8c4c6e5c72474e323d6a
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 00:51:45 2010 +0000
Don't need to check the last argument since it'll always be bool. We also
don't use TargetData here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95040 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3b60eab75e05595d7ec77de8b4f9bfaee8f3249d
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 00:13:06 2010 +0000
More indentation/tabification fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95036 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4b27f221be15788393f00a22a602ebf169801bf1
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 00:06:55 2010 +0000
Untabify previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95035 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac567ab867a93e8ce46f5b56228314bedfcceba5
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 2 00:04:46 2010 +0000
Changed to Chris Lattner's suggested approach, which
merely stubs out the blocks-based disassembly functions
if the library wasn't built with blocks, which allows a
constant .exports file and also properly deals with
situations in which the compiler used to build a client
is different from the compiler used to build the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95034 91177308-0d34-0410-b5e6-96231b3b80d8
commit 61aac7ef2bc97f1c04f0d7e826df89ffe4bb2559
Author: Nate Begeman <natebegeman@mac.com>
Date: Mon Feb 1 23:56:58 2010 +0000
Kill the Mach-O writer, and temporarily make filetype=obj an error.
The MCStreamer based assemblers will take over for this functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95033 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3617f6aebcdb06b1465ba0165f9bc35d7207bbf7
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 23:27:57 2010 +0000
Fix for builds with separate source and build
directories (like, oh, say, any multistage build)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95028 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9e99517c5996acc9ca1b774275515fea7fcf1525
Author: Eric Christopher <echristo@apple.com>
Date: Mon Feb 1 23:25:03 2010 +0000
Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95027 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a5f31df635d0c8d65f19d0cc32f6c3476836cc5
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 1 23:06:04 2010 +0000
MOVi16 should also be marked as a UnaryDP instruction, i.e., it doesn't have a
Rn operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95025 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a9df81d4d00aea149cb8de9195b7322e3361200
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 23:01:38 2010 +0000
Updated to use the proper .exports file for the
target platform, depending on whether the target
supports the blocks API or not
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95024 91177308-0d34-0410-b5e6-96231b3b80d8
commit d89e3fb6c3baedce21438f3cc3032aacb49a9088
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Feb 1 22:51:23 2010 +0000
Add "dump" method to IVUsersOneStride.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95022 91177308-0d34-0410-b5e6-96231b3b80d8
commit aaaed409c8cfd5e9dbaa694a30d2b0a7500c595c
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 1 22:46:05 2010 +0000
Testcase for 94996 (PR 6157)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95021 91177308-0d34-0410-b5e6-96231b3b80d8
commit 17e9fca94d44eb1bec5b7a39be5f2e1e63655773
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 1 22:40:09 2010 +0000
Fix PR6196. GV callee may not be a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95017 91177308-0d34-0410-b5e6-96231b3b80d8
commit ba34ec2cabc28cde10a7ada59c5b52de0b4fe27c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 1 22:32:42 2010 +0000
Add test case for 95013.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95014 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50a68ccb7108932f75967a0036a15638cbec3cd1
Author: Mon P Wang <wangmp@apple.com>
Date: Mon Feb 1 22:15:09 2010 +0000
Improve EXTRACT_VECTOR_ELT patch based on comments from Duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95012 91177308-0d34-0410-b5e6-96231b3b80d8
commit 61e230d031189201840a17be52d44fa73e66067e
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 21:57:50 2010 +0000
Rollback on including blocks functionality in .exports
because some platforms don't support blocks and then
break because the symbols aren't present
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95011 91177308-0d34-0410-b5e6-96231b3b80d8
commit a493aa499b18bb534004ab850caba29042d44cd0
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Feb 1 21:17:14 2010 +0000
Add an option to GVN to remove all partially redundant loads. This is currently
disabled by default. This divides the existing load PRE code into 2 phases:
first it checks that it is safe to move the load to each of the predecessors
where it is unavailable, and then if it is safe, the code is changed to move
the load. Radar 7571861.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95007 91177308-0d34-0410-b5e6-96231b3b80d8
commit c4350840a22dd22fcae29ed124309d46ca107a3e
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 1 20:57:35 2010 +0000
Do an early exit when the result is known cheaply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95002 91177308-0d34-0410-b5e6-96231b3b80d8
commit e985e1fe58b689501fcd07947a0b9e288c275951
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 20:48:08 2010 +0000
eliminate a bunch of pointless LLVMContext arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95001 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8abd8f0541a289c17536761bd5e236cf1fa280f8
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 1 20:42:02 2010 +0000
Fix typo "of" -> "or" and change the way a line was formatted to fit
into 80 columns to match my artistic preferences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95000 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4f9385fc14a2cc39dc912c1f425a73f27d78f2a9
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 20:04:40 2010 +0000
fix PR6195, a bug constant folding scalar -> vector compares.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94997 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1c3887e98f2b62b9a25b308619217fe19c41459
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 1 19:54:53 2010 +0000
fix PR 6157. Testcase pending.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94996 91177308-0d34-0410-b5e6-96231b3b80d8
commit 356faaae39ef1499382bf50573537fa2bc463237
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 19:54:45 2010 +0000
cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94995 91177308-0d34-0410-b5e6-96231b3b80d8
commit 03ad0a8bb6f3be3a2185ee63b83cbae9bf18f2b2
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 19:35:08 2010 +0000
fix PR6197 - infinite recursion in ipsccp due to block addresses
evaluateICmpRelation wasn't handling blockaddress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94993 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4762dd39a17dc7e9700bd0308ae4125be085a2c3
Author: Mon P Wang <wangmp@apple.com>
Date: Mon Feb 1 19:03:18 2010 +0000
Fixed a couple of optimization with EXTRACT_VECTOR_ELT that assumes the result
type is the same as the element type of the vector. EXTRACT_VECTOR_ELT can
be used to extended the width of an integer type. This fixes a bug for
Generic/vector-casts.ll on a ppc750.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94990 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32ec1a5d49759636247ef24827f42e9c66c026f3
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 1 19:00:32 2010 +0000
Update this test for a trivial register allocation difference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94989 91177308-0d34-0410-b5e6-96231b3b80d8
commit 45f1643e0c6fe92ec35ed81d12386372f14be6e3
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 1 18:27:38 2010 +0000
Generalize target-independent folding rules for sizeof to handle more
cases, and implement target-independent folding rules for alignof and
offsetof. Also, reassociate reassociative operators when it leads to
more folding.
Generalize ScalarEvolution's isOffsetOf to recognize offsetof on
arrays. Rename getAllocSizeExpr to getSizeOfExpr, and getFieldOffsetExpr
to getOffsetOfExpr, for consistency with analagous ConstantExpr routines.
Make the target-dependent folder promote GEP array indices to
pointer-sized integers, to make implicit casting explicit and exposed
to subsequent folding.
And add a bunch of testcases for this new functionality, and a bunch
of related existing functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94987 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2091359832897a7ba7769eeebf6e0ebc67c83867
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 18:11:34 2010 +0000
fix rdar://7590304, a miscompilation of objc apps on arm. The caller
of objc message send was getting marked arm_apcscc, but the prototype
isn't. This is fine at runtime because objcmsgsend is implemented in
assembly. Only turn a mismatched caller and callee into 'unreachable'
if the callee is a definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94986 91177308-0d34-0410-b5e6-96231b3b80d8
commit e82dad6d1c3606ee017379967e31c385b4eb5750
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 18:04:58 2010 +0000
fix rdar://7590304, an infinite loop in instcombine. In the invoke
case, instcombine can't zap the invoke for fear of changing the CFG.
However, we have to do something to prevent the next iteration of
instcombine from inserting another store -> undef before the invoke
thereby getting into infinite iteration between dead store elim and
store insertion.
Just zap the callee to null, which will prevent the next iteration
from doing anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94985 91177308-0d34-0410-b5e6-96231b3b80d8
commit 14cf1435c8c2e5f774127a1234c7f76079435e26
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Feb 1 17:41:44 2010 +0000
Fix pr6198 by moving the isSized() check to an outer conditional.
The testcase from pr6198 does not crash for me -- I don't know what's up with
that -- so I'm not adding it to the tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94984 91177308-0d34-0410-b5e6-96231b3b80d8
commit 48f174e79a252d99bdc8aee2c821f6871dbbe0bc
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 1 16:38:14 2010 +0000
Add a getNUWMul function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94982 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57c194af6e3725787f73ae1ffeb752906914ca5d
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 1 16:37:38 2010 +0000
Add a generalized form of ConstantExpr::getOffsetOf which works for
array types as well as struct types, and which accepts arbitrary
Constant indicies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94981 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7269641c424bd8d0e0f6c22f6402521bd8dfad2a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Mon Feb 1 12:16:39 2010 +0000
MulOp is actually a Mips specific node, so do the match using Opcode. This fixes PR6192
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94977 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9b5cef72a83cda3fc651e07c92fab7e83153333c
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Mon Feb 1 10:43:31 2010 +0000
Add an immutable interval map, prepared to be used by flat memory model
in the analyzer. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94976 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c30767bed5a692acf43f4bb07f82e12e593a933
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 09:02:24 2010 +0000
Whoops, left some debugging code in that broke
a buildbot. Removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94975 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95ba688843344ba4f811127dd4f7904f3c6cbcb0
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 08:49:35 2010 +0000
Added the enhanced disassembly library's implementation and
fleshed out the .exports file. I still have to fix several
details of operand parsing, but the basic functionality is
there and usable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94974 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0790256d8b2b86223eae754e8659630ec606ac88
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Mon Feb 1 07:32:52 2010 +0000
Simplify code. We can compare TNew with T in one batch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94973 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee5eee2923fa2b9b8c8b68559bce92b2838c74c1
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 1 02:13:39 2010 +0000
Undo r94946 now all the tests are passing again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94970 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4cd00632df8334a9fcbce4f01160030cdb6e7ba4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Mon Feb 1 02:03:24 2010 +0000
Fix stack size bug while using o32 abi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94969 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb62f2f3ab0bfdbf5598e586964736db2ad55da4
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sun Jan 31 11:22:28 2010 +0000
For MVNr and MVNs, we need to set Inst{25} = 0 so as not to confuse the decoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94955 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4489953fa201178eac3af8e19f04f58bdb3e2b28
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sun Jan 31 07:28:44 2010 +0000
Change TAILJMP's to be varargs and transfer implicit uses over from TCRETURN's. Otherwise the missing uses can make post-regalloc scheduling do bad things. This fixes 403.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94950 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf3892e990dfce6790ff57e7dccc9e5fb829b258
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sun Jan 31 07:27:31 2010 +0000
Fix a missing check from my last commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94949 91177308-0d34-0410-b5e6-96231b3b80d8
commit a04696cdaaaebb88550de183439178e812c85e7f
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sun Jan 31 06:44:49 2010 +0000
Avoid recursive sibcall's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94946 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf83c91bbd530f19054c51da0758e41a189a0251
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sun Jan 31 04:55:32 2010 +0000
Remove a completed item, add a couple new ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94945 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8867dbd7ba85a07d11267561f58db7675c2af561
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sun Jan 31 04:40:45 2010 +0000
Remove test which is no longer relevant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94944 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5714a01e760ee1591da125c9fb4dfdd2df4a051d
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sun Jan 31 04:29:12 2010 +0000
Simplify/generalize the xor+add->sign-extend instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94943 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7fa5774587e56d1071348acdadd7569a4fa9092
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sun Jan 31 02:30:23 2010 +0000
Add a small transform: transform -(X<<Y) to (-X<<Y) when the shift has a single
use and X is free to negate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94941 91177308-0d34-0410-b5e6-96231b3b80d8
commit c91dadab87396596808a85161727d7d966162c93
Author: Sean Callanan <scallanan@apple.com>
Date: Sun Jan 31 02:28:18 2010 +0000
Moved InstallLexer() from the X86-specific AsmLexer
to the TargetAsmLexer class so that clients can
actually use the TargetAsmLexer they get from a
Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94940 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5d40692b1b30ecd409a6bdc3d7bf4c433bf634ae
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sun Jan 31 00:59:31 2010 +0000
Do not mark no-return calls tail calls. It'll screw up special calls like longjmp and it doesn't make much sense for performance reason. If my logic is faulty, please let me know.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94937 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc3179860ceed01b85071c63c3686ad7dbbb3ec9
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Sat Jan 30 18:32:07 2010 +0000
Fix PR6144. Reload GP before the emission of CALLSEQ_END to guarantee the right reload order
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94915 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c4cf9d40bb5d64470e410317fbad462a318a0a0
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Sat Jan 30 18:29:19 2010 +0000
Fix mov.d out register by using the FFR register class directly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94914 91177308-0d34-0410-b5e6-96231b3b80d8
commit 592196d5d01f44ad2929c06e0d2cda9b57d09168
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sat Jan 30 14:08:12 2010 +0000
Fix a gross typo: ARMv6+ may or may not support unaligned memory operations.
Even if they are suported by the core, they can be disabled
(this is just a configuration bit inside some register).
Allow unaligned memops on darwin and conservatively disallow them otherwise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94889 91177308-0d34-0410-b5e6-96231b3b80d8
commit b79f9b62f198d1ae452da23bf7d5a9aea486c0c9
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Jan 30 04:42:39 2010 +0000
Check alignment of loads when deciding whether it is safe to execute them
unconditionally. Besides checking the offset, also check that the underlying
object is aligned as much as the load itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94875 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0108c91d2ac699a4437e0ab1b1e1c5d15bc4f603
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Jan 30 01:22:00 2010 +0000
Allow more tailcall optimization: calls with inputs that are all passed in registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94873 91177308-0d34-0410-b5e6-96231b3b80d8
commit bbbdf911a8e061b5bb0da8236af38ff309c3fdd8
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Jan 30 01:16:15 2010 +0000
Don't forget to transfer target flag when inserting a tailcall instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94872 91177308-0d34-0410-b5e6-96231b3b80d8
commit a24e103806f5cc8150d95a3d17c34f7b15a2ac54
Author: Devang Patel <dpatel@apple.com>
Date: Sat Jan 30 01:08:30 2010 +0000
Emit declaration DIE for the class static variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94870 91177308-0d34-0410-b5e6-96231b3b80d8
commit 827c600e36786c4cb41fae2e9b41a829c1a52c75
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 01:02:48 2010 +0000
MC/X86 AsmParser: Handle absolute memory operands correctly. We were doing
something totally broken and parsing them as immediates, but the .td file also
had the wrong match class so things sortof worked. Except, that is, that we
would parse
movl $0, %eax
as
movl 0, %eax
Feel free to guess how well that worked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94869 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23b9b1e20e2939687c01c26435ae27f9af28a201
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 01:02:37 2010 +0000
AsmMatcher: Create operand classes before use, apparently records aren't visited
in the order they were declared.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94868 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b5007f7ee0140eebeb7a41adcc32fead57e4569
Author: Dale Johannesen <dalej@apple.com>
Date: Sat Jan 30 00:57:47 2010 +0000
Fix a case where debug_value could affect codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94866 91177308-0d34-0410-b5e6-96231b3b80d8
commit da88458ae2e4520e5a57b8e4a1e478c25a2d231f
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Jan 30 00:41:10 2010 +0000
Use more specific types to avoid casts. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94863 91177308-0d34-0410-b5e6-96231b3b80d8
commit df2bdbad3c28a03d5ac73599f1bf101fb2a3f71c
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Jan 30 00:40:23 2010 +0000
Remove ARM-specific calling convention from this test. Target data is
needed for this test, but otherwise, there's nothing ARM-specific about
it and no need to specify the calling convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94862 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a758cd460d0f29f9a7dfe3a0c15492f40c7b86b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 00:24:12 2010 +0000
X86.td: Refactor to bring operands that use print_pcrel_imm together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94861 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23f4491b48f762af658aa54cd0a1edaee9339ea9
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 00:24:06 2010 +0000
FileCheck: When looking for "possible matches", only compare against the prefix
line. Turns out edit_distance can be slow if the string we are scanning for
happens to be quite large.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94860 91177308-0d34-0410-b5e6-96231b3b80d8
commit f70705634a6eb03429eddab5e4cb6e43dfaa3fde
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 00:24:00 2010 +0000
AsmMatcher/X86: Separate out sublass for memory operands that have no segment
register, and use to cleanup a FIXME in X86AsmParser.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94859 91177308-0d34-0410-b5e6-96231b3b80d8
commit 943e7d9fa17371889cab42815cd698d942d81b73
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Jan 29 23:54:14 2010 +0000
Keep iterating over all uses when meeting a phi node in AllUsesOfValueWillTrapIfNull().
This bug was exposed by my inliner cost changes in r94615, and caused failures
of lencod on most architectures when building with LTO.
This patch fixes lencod and 464.h264ref on x86-64 (and likely others).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94858 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b50cf92f36da35ca33074783b5ecc1a556657c0
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Jan 29 23:32:40 2010 +0000
MC/X86: Add a nice X86 assembler matcher test case from Kevin Enderby.
- This test case is auto generated, and has been verified to round-trip
correctly through llvm-mc by checking the assembled .o file before and after
piping through llvm-mc. It will be extended over time as the matcher grows
support for more instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94857 91177308-0d34-0410-b5e6-96231b3b80d8
commit 92411a8e37a8f1d29aec9d0531ff4ec2895f875f
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Jan 29 23:21:10 2010 +0000
Modified encoding bits specification for VFP instructions. In particular, the D
bit (Inst{22}) and the M bit (Inst{5}) should be left unspecified. For binary
format instructions, Inst{6} and Inst{4} need to specified for proper decodings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94855 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6069dd121294d238437705678bfef24e7cfd012
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 23:12:36 2010 +0000
Print a comment next to "materializable" global values, to distinguish
them from values that are not actually defined in the module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94854 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7b6d2c6a6443d73a3f3f6d31faf4d57ec10655b
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Jan 29 23:05:56 2010 +0000
PPC is not ready for sibcall optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94853 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9aa401e14dca8c65d2fb4c82c43b1d9cbe8f1fbd
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Jan 29 22:39:21 2010 +0000
Preserve load alignment in instcombine transformations. I've been unable to
create a testcase where this matters. The select+load transformation only
occurs when isSafeToLoadUnconditionally is true, and in those situations,
instcombine also changes the underlying objects to be aligned. This seems
like a good idea regardless, and I've verified that it doesn't pessimize
the subsequent realignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94850 91177308-0d34-0410-b5e6-96231b3b80d8
commit ccfec8175249ecc3b926755db90e916cfd806583
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 21:57:46 2010 +0000
Minor code cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94848 91177308-0d34-0410-b5e6-96231b3b80d8
commit 833de98561fcf7f668d1a176eeee80f0c871b358
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 21:55:16 2010 +0000
Skip whitespace when looking for a potential intended match.
Before:
<stdin>:94:1: note: possible intended match here
movsd 4096(%rsi), %xmm0
^
After:
<stdin>:94:2: note: possible intended match here
movsd 4096(%rsi), %xmm0
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94847 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7786f1bdb609cac7e31b20efbcd2050674f0eee6
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 21:53:18 2010 +0000
Fix the position of the caret in the FileCheck error message.
Before:
test/CodeGen/X86/lsr-reuse.ll:52:34: error: expected string not found in input
; CHECK: movsd -2048(%rsi), %xmm0
^
After:
test/CodeGen/X86/lsr-reuse.ll:52:10: error: expected string not found in input
; CHECK: movsd -2048(%rsi), %xmm0
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94846 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2e27257da571ae4897b9367dedb358da00d6c9b9
Author: Junjie Gu <jgu222@gmail.com>
Date: Fri Jan 29 21:34:26 2010 +0000
Make sure the size is doubled (not 4x).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94845 91177308-0d34-0410-b5e6-96231b3b80d8
commit 385d68b0ed46d8896662325493a245d1ec8c0dce
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Jan 29 21:21:44 2010 +0000
Removed symbols from .exports that are not yet in
the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94844 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08ad58149cf43b916c44c4710c7fa27154285cca
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Jan 29 21:21:28 2010 +0000
Add assertion to humor the paranoid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94843 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb265567b7b4d8db906ca74b73235a4f5bdec1c6
Author: Victor Hernandez <vhernandez@apple.com>
Date: Fri Jan 29 21:19:19 2010 +0000
We were not writing bitcode for function-local metadata whose operands have been erased (making it not have any more function-local operands)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94842 91177308-0d34-0410-b5e6-96231b3b80d8
commit e0521734588adfaec93ccf7dffba127b014c3658
Author: Eric Christopher <echristo@apple.com>
Date: Fri Jan 29 21:16:24 2010 +0000
Revert my last couple of patches. They appear to have broken bison.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94841 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2e0df3849e3ab8909485c1a17fa9c5cdea6269da
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Jan 29 21:11:04 2010 +0000
Rename two IRReader.h functions to indicate that they return a Module
that loads its contents lazily from bitcode. I think these are the
only remaining mis-named functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94840 91177308-0d34-0410-b5e6-96231b3b80d8
commit 30f1709250c8f855ac512cac5f0d806097957d60
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Jan 29 20:34:28 2010 +0000
Use uint64_t instead of unsigned for offsets and sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94835 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2fea743797a4779b62b14d78a6537d59247e1e38
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 19:43:48 2010 +0000
Add svn:ignore properties.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94833 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5575c54de367c1991dde5e53127c3adf0fb75def
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Jan 29 19:19:08 2010 +0000
Improve isSafeToLoadUnconditionally to recognize that GEPs with constant
indices are safe if the result is known to be within the bounds of the
underlying object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94829 91177308-0d34-0410-b5e6-96231b3b80d8
commit e472109fe15b02c2f6b264df4546367e9320f10f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Jan 29 19:10:38 2010 +0000
Belatedly document r85295 and r85330.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94825 91177308-0d34-0410-b5e6-96231b3b80d8
commit d839e1a9792eff26a79c8baef8e1b34ab61b24bb
Author: Devang Patel <dpatel@apple.com>
Date: Fri Jan 29 18:34:58 2010 +0000
Add size and location info in DW_TAG_class_type descriptor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94822 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1126e04037ca1207fa56151f6c9c06fda8cfe1cc
Author: Devang Patel <dpatel@apple.com>
Date: Fri Jan 29 18:30:57 2010 +0000
Before inserting llvm.dbg.declare intrinsic at the end of a basic block, check whether the basic block has a terminator or not.
This API is used by clang and the test case is test/CodeGen/debug-info-crash.c in clang module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94820 91177308-0d34-0410-b5e6-96231b3b80d8
commit 289c0564c911670f5c4e1826420e3fd820f582c0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Fri Jan 29 15:19:06 2010 +0000
Fix MSVC build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94809 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b58d509ef83ef2d0c14f0d206fd39354a2ddc62
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Fri Jan 29 14:42:22 2010 +0000
Convert some users of ftostr to raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94808 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b3c938a44e57ec75cbea9c4cf003a0016cfbd56
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Fri Jan 29 14:40:33 2010 +0000
Use llvm::format instead of ftostr (which just calls sprintf).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94807 91177308-0d34-0410-b5e6-96231b3b80d8
commit 273c038fca6dd89a242c42978f922d69770bd407
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Jan 29 09:45:26 2010 +0000
Change the SREM case to match the logic in the IR version ComputeMaskedBits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94805 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4aa47bd2b13b887593399ebb4a8c18555e08ca13
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Jan 29 06:45:59 2010 +0000
Catch more trivial tail call opportunities: no inputs and output types match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94804 91177308-0d34-0410-b5e6-96231b3b80d8
commit a1deef01c49f252e0a4145459ec10c535637130e
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Jan 29 06:18:46 2010 +0000
Having RHSKnownZero and RHSKnownOne be alternative names for KnownZero and KnownOne
(via APInt &RHSKnownZero = KnownZero, etc) seems dangerous and confusing to me: it
is easy not to notice this, and then wonder why KnownZero/RHSKnownZero changed
underneath you when you modified RHSKnownZero/KnownZero etc. So get rid of this.
No intended functionality change (tested with "make check" + llvm-gcc bootstrap).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94802 91177308-0d34-0410-b5e6-96231b3b80d8
commit c852af1cafe657e4897e153d3a2bc10505b990ef
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Jan 29 06:18:37 2010 +0000
It looks like the changes to the SRem logic of SimplifyDemandedUseBits
(fix for PR6165) are needed here too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94801 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8c57220a2ef346d8d4cbc40d5533d3c9f094424c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Jan 29 03:22:19 2010 +0000
FileCheck: Switch "possible match" calculation to use StringRef::edit_distance.
- Thanks Doug, who is obviously less lazy than me!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94795 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8413ab7835e70bbd458a93be8239f1011e073031
Author: Eric Christopher <echristo@apple.com>
Date: Fri Jan 29 01:37:11 2010 +0000
Make strcpy_chk lower to strcpy if we have a safe size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94783 91177308-0d34-0410-b5e6-96231b3b80d8
commit c94c6dfca03fbe5ba2173cd79fb4e7d902d7ba90
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Jan 29 01:34:29 2010 +0000
Quick fix to make the header file for the enhanced
disassembly information have a better comment (and
better guard macros).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94781 91177308-0d34-0410-b5e6-96231b3b80d8
commit 442bd4e292c9bbfe2f34b0fc53f9e34d7fde07be
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Jan 29 01:30:01 2010 +0000
Added a bare-bones Makefile to build the enhanced disassembly
library as a static and a shared library. Added dependencies
so the target-specific enhanced disassembly info tables are
built before the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94780 91177308-0d34-0410-b5e6-96231b3b80d8
commit 133eb9c346127f28c89966a9671de0ca96f629fe
Author: Ted Kremenek <kremenek@apple.com>
Date: Fri Jan 29 01:10:55 2010 +0000
Recognize 'add_executable' when analyzing CMake files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94777 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1aa2f8adbb477ffa51fb521676a2fd1293ba8143
Author: Ted Kremenek <kremenek@apple.com>
Date: Fri Jan 29 01:10:25 2010 +0000
Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94776 91177308-0d34-0410-b5e6-96231b3b80d8
commit 77fe12bf626a284d889283033322e1d1d3877454
Author: Eric Christopher <echristo@apple.com>
Date: Fri Jan 29 01:09:57 2010 +0000
Add constant support to object size handling and remove default
lowering. We'll either figure it out, or not and be lowered by
SelectionDAGBuild.
Add test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94775 91177308-0d34-0410-b5e6-96231b3b80d8
commit f495802f3e81462b29e23c5e83902d3dca5f0fea
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Jan 29 00:52:43 2010 +0000
Generic reformatting and comment fixing. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94771 91177308-0d34-0410-b5e6-96231b3b80d8
commit 93bff173ea147f2b516677828f1f79edb171c29e
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Jan 29 00:27:39 2010 +0000
Add newline to debugging output, and fix some grammar-os in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94765 91177308-0d34-0410-b5e6-96231b3b80d8
commit 323f7068c889952ac6a2700ef08c1af6ba3f9bc3
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Jan 29 00:21:04 2010 +0000
Added a custom TableGen backend to support the
enhanced disassembler, and the necessary makefile
rules to build the table for X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94764 91177308-0d34-0410-b5e6-96231b3b80d8
commit 48539b5d4d4e6e17cf58179b2d2d6fc6e1f7c1d9
Author: Victor Hernandez <vhernandez@apple.com>
Date: Fri Jan 29 00:01:35 2010 +0000
mem2reg erases the dbg.declare intrinsics that it converts to dbg.val intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94763 91177308-0d34-0410-b5e6-96231b3b80d8
commit 68d271623713a16ffe62a60edf32d7e3b6c2f275
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Jan 28 21:51:40 2010 +0000
Assign the ordering of SDNodes in a much less intrusive fashion. After the
"visit*" method is called, take the newly created nodes, walk them in a DFS
fashion, and if they don't have an ordering set, then give it one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94757 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1a12c56badd0733754baee7f7921b495509f9e53
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Thu Jan 28 18:19:36 2010 +0000
Support some more options...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94752 91177308-0d34-0410-b5e6-96231b3b80d8
commit a64c74890ef37c607b3f1742abb5b1af65342afa
Author: Dan Gohman <gohman@apple.com>
Date: Thu Jan 28 18:08:26 2010 +0000
Remove the folding rule
getelementptr (i8* inttoptr (i64 1 to i8*), i32 -1)
to
inttoptr (i64 0 to i8*)
from the VMCore constant folder. It didn't handle sign-extension properly
in the case where the source integer is smaller than a pointer size. And,
it relied on an assumption about sizeof(i8).
The Analysis constant folder still folds these kinds of things; it has
access to TargetData, so it can do them right.
Add a testcase which tests that the VMCore constant folder doesn't
miscompile this, and that the Analysis folder does fold it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94750 91177308-0d34-0410-b5e6-96231b3b80d8
commit 078a4063e384d3a21a14bc1af4c88aeacd4a1f72
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Thu Jan 28 18:04:38 2010 +0000
Replace strcpy with memcpy when we have the length around anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94746 91177308-0d34-0410-b5e6-96231b3b80d8
commit 41d0a0c1b36033c45a5fa74ec353842b2244b22a
Author: Duncan Sands <baldrick@free.fr>
Date: Thu Jan 28 17:22:42 2010 +0000
Fix PR6165. The bug was that LHSKnownZero was being and'd with DemandedMask
when it should have been and'd with LowBits. Fix that and while there beef
up the logic in the case of a negative LHS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94745 91177308-0d34-0410-b5e6-96231b3b80d8
commit fe53061bea27c4b222c548cf2b0e4428134e8bf0
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Thu Jan 28 06:42:08 2010 +0000
Add llvm::Program::ChangeStderrToBinary().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94743 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08b017ea9bd8cc8471b6dbd151402b73606f9057
Author: Dan Gohman <gohman@apple.com>
Date: Thu Jan 28 06:32:46 2010 +0000
Check Type::isSized before calling ScalarEvolution::getAllocSizeExpr,
rather than after.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94742 91177308-0d34-0410-b5e6-96231b3b80d8
commit 89c402f35edafd7c2178d4ee99644669abd476a8
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 06:22:43 2010 +0000
convert the last 3 targets to use EmitFunctionBody() now that
it has before/end body hooks.
lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp | 49 ++-----------
lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp | 87 ++++++------------------
lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp | 56 +++------------
test/CodeGen/XCore/ashr.ll | 2
4 files changed, 48 insertions(+), 146 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94741 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca73d86620334381948d7d3d713e1b31701dec86
Author: Dan Gohman <gohman@apple.com>
Date: Thu Jan 28 02:43:22 2010 +0000
Make getAlignOf return an i64, for consistency with getSizeOf and
getOffsetOf, and remove the comment about assuming i8 is byte-aligned,
which is no longer applicable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94738 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9ebe37839d32ce786dd7140bd559df444ac772d
Author: Dan Gohman <gohman@apple.com>
Date: Thu Jan 28 02:15:55 2010 +0000
Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their place
use plain SCEVUnknowns with ConstantExpr::getSizeOf and
ConstantExpr::getOffsetOf constants. This eliminates a bunch of
special-case code.
Also add code for pattern-matching these expressions, for clients that
want to recognize them.
Move ScalarEvolution's logic for expanding array and vector sizeof
expressions into an element count times the element size, to expose
the multiplication to subsequent folding, into the regular constant
folder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94737 91177308-0d34-0410-b5e6-96231b3b80d8
commit 117728fed8d10c94cf56f9cb5aa2d6e93f5143d1
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:58:58 2010 +0000
add target hooks for emitting random gunk before and after the function body.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94732 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e64765c09c0f900518c9db8d1d116a1a7180e9d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Jan 28 01:57:22 2010 +0000
Fix a bug introduced by r94490 where it created a X86ISD::CMP whose output type is different from its inputs.
This fixes PR6146.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94731 91177308-0d34-0410-b5e6-96231b3b80d8
commit bdbb81d0628e15b5a7ea2ae1c466bb283ab740ef
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:54:33 2010 +0000
switch blackfin to the default runOnMachineFunction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94729 91177308-0d34-0410-b5e6-96231b3b80d8
commit b825faaddebc861ee06af5a50cef78e645275673
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:50:22 2010 +0000
eliminate a now-useless class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94728 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9df5d79183e13a0ce6915c184f47d7c01e72dc9
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:48:52 2010 +0000
Switch MSP430, SPU, Sparc, and SystemZ to use EmitFunctionBody().
Diffstat:
6 files changed, 30 insertions(+), 284 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94727 91177308-0d34-0410-b5e6-96231b3b80d8
commit f59d57d36935e921c12785690477d3bfdba9d69d
Author: Jim Grosbach <grosbach@apple.com>
Date: Thu Jan 28 01:45:32 2010 +0000
Update of 94055 to track the IR level call site information via an intrinsic.
This allows code gen and the exception table writer to cooperate to make sure
landing pads are associated with the correct invoke locations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94726 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf7dadf717673b9d494f9930f6618236feb2ce7f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Jan 28 01:41:20 2010 +0000
Record the death of ModuleProvier and GhostLinkage in the release notes and
give upgrade instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94723 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57d849fe78589bb84ec82db82cdbcb6dc88207b4
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:28:58 2010 +0000
Give AsmPrinter the most common expected implementation of
runOnMachineFunction, and switch PPC to use EmitFunctionBody.
The two ppc asmprinters now don't heave to define
runOnMachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94722 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e47dee4ccf9640938dd81cb93a9fd1ab26f5874
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Jan 28 01:14:43 2010 +0000
Truncate the release notes so they're ready to accumulate notes for the 2.7 release.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94720 91177308-0d34-0410-b5e6-96231b3b80d8
commit eb0602789a69e4764c70321424eb552a5d33d9cc
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:10:34 2010 +0000
switch ARM to EmitFunctionBody().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94719 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07a24263e9daeb0d702fb8890e17347733327732
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:06:32 2010 +0000
emit a 0 byte instead of a noop if a function is empty on darwin.
"0" is nice and target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94718 91177308-0d34-0410-b5e6-96231b3b80d8
commit bea3e68096198f2d2b453b7e2f94303f61f587b0
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:02:27 2010 +0000
Remove the argument from EmitJumpTableInfo, because it doesn't need it.
Move the X86 implementation of function body emission up to
AsmPrinter::EmitFunctionBody, which works by calling the virtual
EmitInstruction method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94716 91177308-0d34-0410-b5e6-96231b3b80d8
commit 692276d99e08f224f58ed5207ce4e8310137f72e
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 00:19:24 2010 +0000
Drop the argument to AsmPrinter::EmitConstantPool and make it virtual.
Overload it in the ARM backend to do nothing, since is does insane
constant pool emission.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94708 91177308-0d34-0410-b5e6-96231b3b80d8
commit c1b68d104bed6ca4fb4040a29b1cda52c2343e85
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 00:15:18 2010 +0000
don't emit constant pools twice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94706 91177308-0d34-0410-b5e6-96231b3b80d8
commit b3c5f49d35d0468f92e6c02242cf6ef9dccbdb84
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 00:05:10 2010 +0000
rename printVisibility to EmitVisibility and make it private,
constify EmitLinkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94705 91177308-0d34-0410-b5e6-96231b3b80d8
commit e12efcf52becf0152d0f58877fb0b6207b81d6ef
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:58:11 2010 +0000
switch ARM to use EmitFunctionHeader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94703 91177308-0d34-0410-b5e6-96231b3b80d8
commit df6c7e6ba3e6068ffd02540034da342e87a44e6d
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:37:36 2010 +0000
eliminate the ARMFunctionInfo::Align member, using
MachineFunction::Alignment instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94701 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0f0b5d27b3d7da40809549ea3163cad91b54ad34
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:35:43 2010 +0000
add a helper function for bumping up the alignment of a machine function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94700 91177308-0d34-0410-b5e6-96231b3b80d8
commit a9ae1a57883cc746c8ed9eedef5e8b5bb33a5c30
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:26:37 2010 +0000
switch blackfin to use EmitFunctionHeader. BlackfinAsmPrinter.cpp
is now less than 200 LOC!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94699 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d5f9ea90027b7f170feda84b1d475ba9b861a15
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:23:58 2010 +0000
switch mips to use the shared EmitFunctionHeader() function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94698 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9926d38af912f56ed3d6e24d76ed9f73a0887395
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Jan 27 23:20:51 2010 +0000
Changed constants to an enum so as not to pollute the
global namespace needlessly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94697 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6060faac72ff45287e952a53f7a58a4ac36cf9d
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Jan 27 23:03:46 2010 +0000
Added a header file defining the externally-visible C API
for the LLVM disassemblers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94696 91177308-0d34-0410-b5e6-96231b3b80d8
commit dfa3d94ab52cb5e551f740deaaaa1e5d2a7f8ad4
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Jan 27 22:12:36 2010 +0000
If the only use of something is a DEBUG_VALUE, don't
let that stop it from being deleted, and change the
DEBUG_VALUE value to undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94694 91177308-0d34-0410-b5e6-96231b3b80d8
commit 02e6dd46f178a58440557dbfa41df4cc8ed88203
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Jan 27 22:11:16 2010 +0000
Treat MO_REG 0 location as undefined in DEBUG_VALUE,
per document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94693 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9dbdbe8bee1358d3435be1898374c48263fb00e5
Author: Dan Gohman <gohman@apple.com>
Date: Wed Jan 27 22:06:46 2010 +0000
Add an svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94692 91177308-0d34-0410-b5e6-96231b3b80d8
commit f0c5a8634d4dade44fec9a1abc76b20c5f1a8fca
Author: Victor Hernandez <vhernandez@apple.com>
Date: Wed Jan 27 22:03:03 2010 +0000
Need to recurse for all operands of function-local metadata; and handle Instructions (which map to themselves)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94691 91177308-0d34-0410-b5e6-96231b3b80d8
commit 662a0c306457aed9147f582e64ed3642d4aa7a8b
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Jan 27 22:01:02 2010 +0000
Avoid creating redundant PHIs in SSAUpdater::GetValueInMiddleOfBlock.
This was already being done in SSAUpdater::GetValueAtEndOfBlock so I've
just changed SSAUpdater to check for existing PHIs in both places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94690 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbf472700fa3dbfb9568126b52d28ada35b13ece
Author: Ted Kremenek <kremenek@apple.com>
Date: Wed Jan 27 20:44:12 2010 +0000
Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94687 91177308-0d34-0410-b5e6-96231b3b80d8
commit 752ff1fb26fc819498de04d342d496f146100f2a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Jan 27 20:34:15 2010 +0000
Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.
Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.
Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
commit 844446082c4a29f4c23e18ff5225890a3606a4c6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Wed Jan 27 19:58:47 2010 +0000
Don't bother with sprintf, just pass the Twine through.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94684 91177308-0d34-0410-b5e6-96231b3b80d8
commit d238cc10f8fe9b9e568c76ed3943a48a0b2985a0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Wed Jan 27 19:46:52 2010 +0000
Use the less expensive getName function instead of getNameStr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94683 91177308-0d34-0410-b5e6-96231b3b80d8
commit bed204de2b223a441b1c4582ff813e5b664052c6
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Wed Jan 27 10:36:15 2010 +0000
Quick fix to a test that is currently failing on every Linux build bot. No idea
if this is the "correct" fix, but it seems a strict improvement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94675 91177308-0d34-0410-b5e6-96231b3b80d8
commit c93a316297a3545cbd6a8924a34e4370fe6d1905
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Wed Jan 27 10:27:10 2010 +0000
Silence GCC warnings with asserts turned off. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94673 91177308-0d34-0410-b5e6-96231b3b80d8
commit fbbb0b1faaf20465d85b540684eb90a7fe1d0178
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Wed Jan 27 10:13:28 2010 +0000
Make SMDiagnostic::Print a const method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94672 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0b79bae89b28eb9a4ab4dc4ec6c62985e69a10d4
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Wed Jan 27 10:13:11 2010 +0000
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94671 91177308-0d34-0410-b5e6-96231b3b80d8
commit 47bc2f65663192c4d8ac781b685d94d7144f5cea
Author: Duncan Sands <baldrick@free.fr>
Date: Wed Jan 27 10:08:08 2010 +0000
Revert commit 94666 (ddunbar) [Suppress clang warning about unused arguments].
It causes g++ to complain: unrecognized option '-Qunused-arguments'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94670 91177308-0d34-0410-b5e6-96231b3b80d8
commit 118ed0eb33493ab604b6b24ad89e6348fd68195e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 07:21:55 2010 +0000
add a new AsmPrinter::EmitFunctionEntryLabel virtual function,
which allows targets to override function entry label emission.
Use it to convert linux/ppc to use EmitFunctionHeader().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94667 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdd25445c0cdfe9def326ff61b6dbe6ddac69b48
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Jan 27 07:10:10 2010 +0000
Suppress clang warning about unused arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94666 91177308-0d34-0410-b5e6-96231b3b80d8
commit aac8d95fefc1f8efef19e0ca1e1d7f6f2575d6b8
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 06:25:16 2010 +0000
Perform trivial tail call optimization for callees with "C" ABI. These are done
even when -tailcallopt is not specified and it does not require changing ABI.
First case is the most trivial one. Perform tail call optimization when both
the caller and callee do not return values and when the callee does not take
any input arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94664 91177308-0d34-0410-b5e6-96231b3b80d8
commit e453d94b9cedea849c6aec9fbfcbe395cadbde8f
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 02:18:21 2010 +0000
merge two ifs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94650 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78b48b61971bdb388971e9dd7473cc4661052159
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 02:12:20 2010 +0000
some cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94649 91177308-0d34-0410-b5e6-96231b3b80d8
commit e347d24803b32d9b25ad30b1f604b63cc7606eb5
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 02:04:20 2010 +0000
no need to check for null
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94648 91177308-0d34-0410-b5e6-96231b3b80d8
commit fe398973c7ced1a4af9a925bfeecbb6527a096d5
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 01:44:40 2010 +0000
Remove a dead target hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94646 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7bf770db031ef3e9348cc5db7d836d545ac0b1b7
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 01:02:43 2010 +0000
ppc/linux isn't ready for this and it was an accident that it was included.
This should fix a bunch of linux buildbot failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94643 91177308-0d34-0410-b5e6-96231b3b80d8
commit 12dbb7096ea5f08cdce6099a28539ae9f217870b
Author: Victor Hernandez <vhernandez@apple.com>
Date: Wed Jan 27 00:44:36 2010 +0000
When converting dbg.declare to dbg.value, attach promoted store's debug metadata to dbg.value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94634 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25a2a85e32636a3c09169c9c25de7509404dac4c
Author: Victor Hernandez <vhernandez@apple.com>
Date: Wed Jan 27 00:30:42 2010 +0000
Linker needs to do deep-copy of function-local metadata to update references to function arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94632 91177308-0d34-0410-b5e6-96231b3b80d8
commit 89cff97315984f1b30b2d2ca1470d684410d878f
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 00:20:02 2010 +0000
use existing basic block numbers instead of recomputing
a new set of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94631 91177308-0d34-0410-b5e6-96231b3b80d8
commit e0e44f66356645c49f1a3e9a6807f6828e9de5e7
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 00:17:20 2010 +0000
Switch MSP430, CellSPU, SystemZ, Darwin/PPC, Alpha, and Sparc to
EmitFunctionHeader:
7 files changed, 16 insertions(+), 210 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94630 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c55bfe437197d0d34edb6887da2a2dd29eb6abe
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 00:10:09 2010 +0000
Clarify what -tailcallopt option actually do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94628 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8f240d49cb730fa95b7752aec624f14e26977443
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Jan 27 00:07:20 2010 +0000
Adjust setjmp instruction sequence to not need 32-bit alignment padding
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94627 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8904bc5f834bde215cbaba8a898f739db1dfc673
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 00:07:07 2010 +0000
Eliminate target hook IsEligibleForTailCallOptimization.
Target independent isel should always pass along the "tail call" property. Change
target hook LowerCall's parameter "isTailCall" into a refernce. If the target
decides it's impossible to honor the tail call request, it should set isTailCall
to false to make target independent isel happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94626 91177308-0d34-0410-b5e6-96231b3b80d8
commit a0045f69c5b838f81cc0bf3a1c5512fe6b204988
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 00:00:57 2010 +0000
Restore to pre-94570 state.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94625 91177308-0d34-0410-b5e6-96231b3b80d8
commit b799bdfb839df00dd357b0f63ddce9086e2183ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:53:39 2010 +0000
mcize label emission for functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94624 91177308-0d34-0410-b5e6-96231b3b80d8
commit a8174307f67b59afd8ba5355d05f0c8262554b31
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:51:52 2010 +0000
use EmitLinkage for functions as well as globals. One output
change is that we now use ".linkonce discard" for global variables
instead of ".linkonce samesize". These should be the same, just less
strict. If anyone is interested in mcizing MCSection for COFF targets,
this should be easy to fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94623 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31ffe0af9fac830a223c3a577ecac5bbaaecceae
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:47:12 2010 +0000
pull linkage emission code out to a new EmitLinkage function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94621 91177308-0d34-0410-b5e6-96231b3b80d8
commit d1e30988695b7a16e8e116395c951068a8ddbe0f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:41:48 2010 +0000
rearrange some directives, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94620 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7bca23ef9d02ce81b17c2964dd4411f71bb66481
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Jan 26 23:30:46 2010 +0000
Roll r94484 (avoiding RTTI problems in tests) forward again in a way that isn't
broken by setting CXXFLAGS on the command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94619 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2548e91a283df66d482004ed3e973d2c381c5af7
Author: Victor Hernandez <vhernandez@apple.com>
Date: Tue Jan 26 23:29:09 2010 +0000
Avoid extra calls to MD->getNumOperands()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94618 91177308-0d34-0410-b5e6-96231b3b80d8
commit 045d60450f7220d2f1446057058bd72bd6ed323d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 23:28:40 2010 +0000
Ignore 'forced' tailcall opt in fastisel mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94617 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c329dc12d3a5172ce163bf6e4cc84969f9c2e58
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:26:29 2010 +0000
remove a noop function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94616 91177308-0d34-0410-b5e6-96231b3b80d8
commit fcd69992ced3281fc9d0630806d30be2feaab5a2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Jan 26 23:21:56 2010 +0000
Fix inline cost predictions with SCIENCE.
After running a batch of measurements, it is clear that the inliner metrics
need some adjustments:
Own argument bonus: 20 -> 5
Outgoing argument penalty: 0 -> 5
Alloca bonus: 10 -> 5
Constant instr bonus: 7 -> 5
Dead successor bonus: 40 -> 5*(avg instrs/block)
The new cost metrics are generaly 25 points higher than before, so we may need
to move thresholds.
With this change, InlineConstants::CallPenalty becomes a political correction:
if (!isa<IntrinsicInst>(II) && !callIsSmall(CS.getCalledFunction()))
NumInsts += InlineConstants::CallPenalty + CS.arg_size();
The code size is accurately modelled by CS.arg_size(). CallPenalty is added
because calls tend to take a long time, so it may not be worth it to inline a
function with lots of calls.
All of the political corrections are in the InlineConstants namespace:
IndirectCallBonus, CallPenalty, LastCallToStaticBonus, ColdccPenalty,
NoreturnPenalty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94615 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6af8d0c03c0957ea52590ac15a7deb2dbb5b3bab
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:18:44 2010 +0000
now that enough stuff is constified, move function header printing
logic up from X86 into the common code. The other targets will
hopefully start using this soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94614 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6139e33352f91d8deceac847e532bd56d69ee8d3
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:18:02 2010 +0000
constify a bunch of dwarf stuff now that the registerinfo method
is constified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94613 91177308-0d34-0410-b5e6-96231b3b80d8
commit 305c54bb02ce0ce0360b20d8562e299bc69dbd60
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:15:09 2010 +0000
constify a method argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94612 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1082b75a14004f924335a44a7e6aae4d8d5957f7
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 23:13:04 2010 +0000
Allow some automatic tailcall optimization without changing ABI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94611 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd80f9ce1de542f63d4676bea34825b55da1ce64
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 23:07:57 2010 +0000
Delete blank lines that bug me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94610 91177308-0d34-0410-b5e6-96231b3b80d8
commit 36f987f0a6c1b88f47baec98947da0fa28c0fe34
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 22:06:58 2010 +0000
call emitconstantpool and emitjumptable like other targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94601 91177308-0d34-0410-b5e6-96231b3b80d8
commit 514f9f89c41d672737168b62f36f5835dc656161
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 22:03:41 2010 +0000
Before existing NamedMDNode entry in the symbol table, remove any existing entry with the same name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94600 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce1f25476c67b572f4d82899a9ed693cf1115f9b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 21:53:08 2010 +0000
emit jump table an alias ".set" directives through MCStreamer as
assignments.
.set x, a-b
is the same as:
x = a-b
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94596 91177308-0d34-0410-b5e6-96231b3b80d8
commit 268ec7835e66eda747bbda73b54366b3dde2665c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 21:51:43 2010 +0000
fix CastInst::castIsValid to reject aggregate types, fixing PR6153:
llvm-as: t.ll:1:25: error: invalid cast opcode for cast from '[4 x i8]' to '[1 x i32]'
@x = constant [1 x i32] bitcast ([4 x i8] c"abcd" to [1 x i32])
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94595 91177308-0d34-0410-b5e6-96231b3b80d8
commit eec5843c809c182a12560f67c0d54aa86ef9e97b
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 21:42:58 2010 +0000
Remve unnecessary include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94594 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc04b87311d24f0b8b2d12a75fe442c06302aeb1
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 21:39:14 2010 +0000
Use AssertingVH, just to be paranoid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94593 91177308-0d34-0410-b5e6-96231b3b80d8
commit 68c3e203d9af2c4e1694235b02dd61fc2b5eb6cc
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Jan 26 21:31:35 2010 +0000
Revert test polarity to match comment and desired outcome. Remove undeserved bonus.
A GEP with all constant indices is already considered free by
analyzeBasicBlock(), so don't give it an extra bonus in
CountCodeReductionForAlloca().
This patch should remove a small positive bias toward inlining functions with
variable-index GEPs, and remove a smaller negative bias from functions with
all-constant index GEPs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94591 91177308-0d34-0410-b5e6-96231b3b80d8
commit 822b6122a5b7a6fdf120ac8304381b601cb1f0ee
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Jan 26 21:31:30 2010 +0000
Remove dead code.
Functions containing indirectbr are marked NeverInline by analyzeBasicBlock(),
so there is no point in giving indirectbr special treatment in
CountCodeReductionForConstant. It is never called.
No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94590 91177308-0d34-0410-b5e6-96231b3b80d8
commit b66489dcbe91da300bea69d18f8a086d7d503f5e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Jan 26 21:31:24 2010 +0000
Skip calculation of ArgumentWeights if it will never be used.
Save a few bytes by allocating the correct size vector.
No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94589 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6e109bd42e8b8fd138f4daf95c30c5b48e6eafa
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 21:16:06 2010 +0000
Emit DW_AT_containing_type attribute for a class if containing type is known.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94587 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8898d2736985e2a14e9cda816d7e640397cfeb1
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 21:14:59 2010 +0000
Add extra element to composite type. This new element will be used to record c++ class that holds current class's vtable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94586 91177308-0d34-0410-b5e6-96231b3b80d8
commit c317dc5547141e68c337cfe885ee69b44fcb9a6b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 20:40:54 2010 +0000
Eliminate SetDirective, and replace it with HasSetDirective.
Default HasSetDirective to true, since most targets have it.
The targets that claim to not have it probably do, or it is
spelled differently. These include Blackfin, Mips, Alpha, and
PIC16. All of these except pic16 are normal ELF targets, so
they almost certainly have it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94585 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca334f0696d794f91a2499b3c32843a2dab2a842
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 20:36:21 2010 +0000
Delete dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94583 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7d5ae0ed3cb6222e90157ef381678efc6397134c
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Tue Jan 26 20:21:43 2010 +0000
Emit .comm alignment in bytes but .align in powers of 2 for ARM ELF.
Original patch by Sandeep Patel and updated by me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94582 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b6a1a0319984ad0b8aa7a53c329e25258725e20
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 20:20:43 2010 +0000
eliminate MCAsmInfo::NeedsSet: we now just use .set on any platform
that has it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94581 91177308-0d34-0410-b5e6-96231b3b80d8
commit e9644e95834edf5b112906b858222eca75621946
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 20:17:34 2010 +0000
don't set to the default value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94580 91177308-0d34-0410-b5e6-96231b3b80d8
commit ab3cf043ce28d0236360938d71ada4f499d749c5
Author: Junjie Gu <jgu222@gmail.com>
Date: Tue Jan 26 19:45:17 2010 +0000
test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94578 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3bbeaad4db989fd4f2a2fbaff3861a369b8e25de
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 19:25:59 2010 +0000
-disable-output is no longer needed with -analyze.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94574 91177308-0d34-0410-b5e6-96231b3b80d8
commit 35640b2bfaf054ec644de402407dda59a2638d92
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 19:19:05 2010 +0000
Make the unsigned-range code more consistent with the signed-range code,
and clean up some loose ends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94572 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3cd6cea76a29447f5057207d07b486af197ae024
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 19:04:47 2010 +0000
Code refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94570 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7590bb0e7d4de62df0993a8c7573b73d6509808f
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Jan 26 19:04:37 2010 +0000
Revert 94484. Re-disable unittests that need RTTI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94569 91177308-0d34-0410-b5e6-96231b3b80d8
commit 897516339c2c8ed92066b170200b6a19a045f81f
Author: Victor Hernandez <vhernandez@apple.com>
Date: Tue Jan 26 18:57:53 2010 +0000
Switch AllocaDbgDeclares to SmallVector and don't leak DIFactory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94567 91177308-0d34-0410-b5e6-96231b3b80d8
commit ba05500da36091ffa0c867831d779ca45a868685
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 18:32:54 2010 +0000
Fix a typo in a comment that Duncan noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94562 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a24bfd614af412601a08f9644de5f9e72eb827b
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 18:30:24 2010 +0000
Remove SIL, DIL, and BPL from the GR8_NOREX allocation order also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94560 91177308-0d34-0410-b5e6-96231b3b80d8
commit dfb17221accd7197bc194888ae093f90a9636705
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 18:14:22 2010 +0000
SIL, DIL, BPL, and SPL require a REX prefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94558 91177308-0d34-0410-b5e6-96231b3b80d8
commit a2a8efbb47714fca780e31b4e3634bef578668b6
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 16:46:18 2010 +0000
Rename ItCount to BECount, since it holds a backedge-taken count rather
than an iteration count.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94549 91177308-0d34-0410-b5e6-96231b3b80d8
commit 135a294519f851b3b701846581e0cd586e036b55
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 16:04:20 2010 +0000
Fix ICmpInst::makeConstantRange to use ConstantRange's API properly
in the case of empty and full ranges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94548 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9c32772f586f832b770de187e6822091ee38bc63
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 15:56:18 2010 +0000
Fix a typo that several people pointed out. Also, address the case of
wrapping that Duncan pointed out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94547 91177308-0d34-0410-b5e6-96231b3b80d8
commit b690d9e8e1653bdf7a13e082918652f9448a01f1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Jan 26 14:55:44 2010 +0000
Support -arch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94546 91177308-0d34-0410-b5e6-96231b3b80d8
commit ead5e4cce0b949bfecb15cd2bd3ae56ca195888a
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Jan 26 14:55:30 2010 +0000
Support for -iquote.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94545 91177308-0d34-0410-b5e6-96231b3b80d8
commit b746f712542767bc7e4c3444793212ac0e3110f5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Jan 26 14:55:16 2010 +0000
Better error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94544 91177308-0d34-0410-b5e6-96231b3b80d8
commit 276fe43e5323899b7c9eadcc80477af0e2d75d32
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Jan 26 14:55:04 2010 +0000
Escape double quotes in 'help'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94543 91177308-0d34-0410-b5e6-96231b3b80d8
119 lines
2.2 KiB
Perl
Executable file
119 lines
2.2 KiB
Perl
Executable file
#!/usr/bin/env perl
|
|
use strict;
|
|
use File::Find;
|
|
use File::Copy;
|
|
use Digest::MD5;
|
|
|
|
my @fileTypes = ("cpp", "c");
|
|
my %dirFiles;
|
|
my %dirCMake;
|
|
|
|
sub GetFiles {
|
|
my $dir = shift;
|
|
my $x = $dirFiles{$dir};
|
|
if (!defined $x) {
|
|
$x = [];
|
|
$dirFiles{$dir} = $x;
|
|
}
|
|
return $x;
|
|
}
|
|
|
|
sub ProcessFile {
|
|
my $file = $_;
|
|
my $dir = $File::Find::dir;
|
|
# Record if a CMake file was found.
|
|
if ($file eq "CMakeLists.txt") {
|
|
$dirCMake{$dir} = $File::Find::name;
|
|
return 0;
|
|
}
|
|
# Grab the extension of the file.
|
|
$file =~ /\.([^.]+)$/;
|
|
my $ext = $1;
|
|
my $files;
|
|
foreach my $x (@fileTypes) {
|
|
if ($ext eq $x) {
|
|
if (!defined $files) {
|
|
$files = GetFiles($dir);
|
|
}
|
|
push @$files, $file;
|
|
return 0;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
sub EmitCMakeList {
|
|
my $dir = shift;
|
|
my $files = $dirFiles{$dir};
|
|
|
|
if (!defined $files) {
|
|
return;
|
|
}
|
|
|
|
foreach my $file (sort @$files) {
|
|
print OUT " ";
|
|
print OUT $file;
|
|
print OUT "\n";
|
|
}
|
|
}
|
|
|
|
sub UpdateCMake {
|
|
my $cmakeList = shift;
|
|
my $dir = shift;
|
|
my $cmakeListNew = $cmakeList . ".new";
|
|
open(IN, $cmakeList);
|
|
open(OUT, ">", $cmakeListNew);
|
|
my $foundLibrary = 0;
|
|
|
|
while(<IN>) {
|
|
if (!$foundLibrary) {
|
|
print OUT $_;
|
|
if (/^add_clang_library\(/ || /^add_llvm_library\(/ || /^add_llvm_target\(/
|
|
|| /^add_executable\(/) {
|
|
$foundLibrary = 1;
|
|
EmitCMakeList($dir);
|
|
}
|
|
}
|
|
else {
|
|
if (/\)/) {
|
|
print OUT $_;
|
|
$foundLibrary = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
close(IN);
|
|
close(OUT);
|
|
|
|
open(FILE, $cmakeList) or
|
|
die("Cannot open $cmakeList when computing digest\n");
|
|
binmode FILE;
|
|
my $digestA = Digest::MD5->new->addfile(*FILE)->hexdigest;
|
|
close(FILE);
|
|
|
|
open(FILE, $cmakeListNew) or
|
|
die("Cannot open $cmakeListNew when computing digest\n");
|
|
binmode FILE;
|
|
my $digestB = Digest::MD5->new->addfile(*FILE)->hexdigest;
|
|
close(FILE);
|
|
|
|
if ($digestA ne $digestB) {
|
|
move($cmakeListNew, $cmakeList);
|
|
return 1;
|
|
}
|
|
|
|
unlink($cmakeListNew);
|
|
return 0;
|
|
}
|
|
|
|
sub UpdateCMakeFiles {
|
|
foreach my $dir (sort keys %dirCMake) {
|
|
if (UpdateCMake($dirCMake{$dir}, $dir)) {
|
|
print "Updated: $dir\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
find({ wanted => \&ProcessFile, follow => 1 }, '.');
|
|
UpdateCMakeFiles();
|
|
|