mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2026-02-08 05:51:33 -05:00
91a09b94367a0699a247d0460583eda8af47dbd3
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
91a09b9436 |
Update to LLVM upstream SVN r96221.
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 |
||
|
|
6c5344d3ea |
Merge LLVM upstream r83242.
Squashed commit of the following: commit 6f2bf0bd6f1ff49887d30f3433d05bd906e6b3d3 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 2 06:57:25 2009 +0000 getFunctionAlignment should return log2 alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83242 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69e343b1b893bf2b11cc0320973d329eb9102e79 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 2 06:53:57 2009 +0000 Fix tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83241 91177308-0d34-0410-b5e6-96231b3b80d8 commit 42b0e2ad0096357ac3f62e5e7066703bdb93ba75 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 2 06:50:50 2009 +0000 Fix test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83240 91177308-0d34-0410-b5e6-96231b3b80d8 commit 62213e4da7f2ac9b615a3bd53baad974c1c36bdd Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 2 06:07:47 2009 +0000 C++ member functions must be 2 byte aligned per ABI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83239 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a6e6dd500a86c44803aa7b1414c8603d9e5c753 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 2 05:03:07 2009 +0000 Forgot about ARM::tPUSH. It also has a new writeback operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83237 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2e9ca91163c46e55d5ee9e16efb3a1ab6a01467 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 2 04:57:15 2009 +0000 Move load / store multiple before post-alloc scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83236 91177308-0d34-0410-b5e6-96231b3b80d8 commit 926c44a79e4e6eb86e44028d9f313640c6238ddf Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 2 04:45:37 2009 +0000 Test case for aligned attribute on function declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83234 91177308-0d34-0410-b5e6-96231b3b80d8 commit db397e1ea09a961e2b3f16d7ee85eae5f19f8771 Author: David Goodwin <david_goodwin@apple.com> Date: Thu Oct 1 23:28:47 2009 +0000 All callee-saved registers are live-out of a return block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83223 91177308-0d34-0410-b5e6-96231b3b80d8 commit 736fed9ff71ae677a7c947ac80ebb42a527de0dc Author: David Goodwin <david_goodwin@apple.com> Date: Thu Oct 1 22:19:57 2009 +0000 Remove neonfp attribute and instead set default based on CPU string. Add -arm-use-neon-fp to override the default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83218 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d14abe36967fe67c85915dc6102a3b24fc1cd4a Author: Mike Stump <mrs@apple.com> Date: Thu Oct 1 22:08:58 2009 +0000 Expand api out in the usual inserter way, though, I do have a question, can we get rid of the BasicBlock versions of all inserters and use Head == 0 to indicate the old case when GetInsertBlock == 0? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83216 91177308-0d34-0410-b5e6-96231b3b80d8 commit 089aa85274d26ebec4989ac1ceeefba7fca5e5ea Author: David Goodwin <david_goodwin@apple.com> Date: Thu Oct 1 21:46:35 2009 +0000 Restore the -post-RA-scheduler flag as an override for the target specification. Remove -mattr for setting PostRAScheduler enable and instead use CPU string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83215 91177308-0d34-0410-b5e6-96231b3b80d8 commit a9a6b6528197d68ea551f665bc6be722a0009630 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 1 20:54:53 2009 +0000 ARM::tPOP and tPOP_RET each has an extra writeback operand now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83214 91177308-0d34-0410-b5e6-96231b3b80d8 commit 254350268fc9c24618049ec56bb13484a12bd7ea Author: Jim Grosbach <grosbach@apple.com> Date: Thu Oct 1 20:45:06 2009 +0000 remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83213 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a26010c218cd8979439036cc90d3bea93b3996b Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 1 20:31:14 2009 +0000 Add support to extract lexical scope information from DebugLoc attached with an machine instruction. This is not yet enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83210 91177308-0d34-0410-b5e6-96231b3b80d8 commit cdb56fcef112775875904583d3cc07a262a28af3 Author: David Goodwin <david_goodwin@apple.com> Date: Thu Oct 1 19:45:32 2009 +0000 Use MachineFrameInfo.getPristineRegs() to determine which callee-saved registers are available for anti-dependency breaking. Some cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83208 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90ecd198e2f605f8a613ce0861aeea7e16a56575 Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 1 18:25:23 2009 +0000 Record first and last instruction of a scope in DbgScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83207 91177308-0d34-0410-b5e6-96231b3b80d8 commit 23e904656c452ab739af152a9f767a5e504be4f5 Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 1 17:39:52 2009 +0000 Don't use identifiers that start with an underscore followed by a capital letter, which invokes undefined behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83206 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f9678ef172077982826809d5111881929175d83 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Oct 1 17:25:36 2009 +0000 Teach CMake to look for bidirectional_iterator, iterator, forward_iterator, uint64_t, and u_int64_t, from Yonggang Luo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83203 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04be082a4a304483410133a89dbd0f1dfe902c9a Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 1 08:26:23 2009 +0000 Observe hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. Do not change operands of instructions with these properties while breaking anti-dep. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83198 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c8d5ea09fb5e7a585533f711b9540e9b3b95a5e Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 1 08:22:27 2009 +0000 Add hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq flags to ld / st multiple, ld / st pairs, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83197 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6ea3038ef1d98019eb620ad0fbb8f2ca5f49da5 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 1 08:21:18 2009 +0000 Add instruction flags: hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. When set, these flags indicate the instructions source / def operands have special register allocation requirement that are not captured in their register classes. Post-allocation passes (e.g. post-alloc scheduler) should not change their allocations. e.g. ARM::LDRD require the two definitions to be allocated even / odd register pair. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83196 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ae1c40d8152145e9810bc28383af1d3ebf5b52b Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Oct 1 05:30:05 2009 +0000 Remove GVNPRE.cpp from the CMake makefile git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83194 91177308-0d34-0410-b5e6-96231b3b80d8 commit 50ee6c55ed015693e91bcebda0c100f6185a47fe Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 1 02:18:36 2009 +0000 remove the GVNPRE pass. It has been subsumed by the GVN pass. Ok'd by Owen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83193 91177308-0d34-0410-b5e6-96231b3b80d8 commit 713ff84d1467c64ad625681baa355b49bcc44ca3 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 1 01:39:21 2009 +0000 Update ARM JIT emitter to account for ld/st multiple changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83192 91177308-0d34-0410-b5e6-96231b3b80d8 commit b43a20e3bce6b4b16151ec25ef3541494fce8425 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 1 01:33:39 2009 +0000 Change ld/st multiples to explicitly model the writeback to base register. This fixes most of the -ldstopti-before-sched2 regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83191 91177308-0d34-0410-b5e6-96231b3b80d8 commit f736728788cddfb56d44fb826cb5d91dfdbfe294 Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 1 01:15:28 2009 +0000 Add another MDNode into DebugLocTuple. This will be used to keep track of inlined functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83190 91177308-0d34-0410-b5e6-96231b3b80d8 commit 539f434334ae6cc5becba8b3099eb20ab7fe48dc Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 1 01:03:26 2009 +0000 If location info is attached with an instruction then keep track of alloca slots used by a variable. This info will be used by AsmPrinter to emit debug info for variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83189 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86049dcedaba49929bf6e4c1cd84f9d85cadb987 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 30 23:12:50 2009 +0000 Use MachineInstr as an processDebugLoc() argument. This will allow processDebugLoc() to handle scopes for DWARF debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83183 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d23d84af58fc21b50dce528a8a26a30a62db355 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 30 22:51:28 2009 +0000 Use MDNode * directly as an RecordSourceLine() argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83182 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16030402039c222229fe0e64cbc8307964480e31 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 30 22:43:52 2009 +0000 Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83181 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3733e0ac886bb85bd0735fdee4421683d9be3682 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 30 22:34:41 2009 +0000 Add isFOO() helpers. Fix getDirectory() and getFilename() for DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83180 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f9b67a27f82ba4d75625c2e260d40cb3b662393 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 30 22:25:37 2009 +0000 Use OutStreamer.SwitchSection instead of writing out textual section directives. Add a new TargetLoweringObjectFileMachO::getConstTextCoalSection method to get access to that section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83178 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5f835ee6e48aedbffb804a6bf5308465867e67b Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 30 22:06:26 2009 +0000 Add a new virtual EmitStartOfAsmFile method to the AsmPrinter and use this to emit target-specific things at the beginning of the asm output. This fixes a problem for PPC, where the text sections are not being kept together as expected. The base class doInitialization code calls DW->BeginModule() which emits a bunch of DWARF section directives. The PPC doInitialization code then emits all the TEXT section directives, with the intention that they will be kept together. But as I understand it, the Darwin assembler treats the default TEXT section as a special case and moves it to the beginning of the file, which means that all those DWARF sections are in the middle of the text. With this change, the EmitStartOfAsmFile hook is called before the DWARF section directives are emitted, so that all the PPC text section directives come out right at the beginning of the file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83176 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4901f432e56cb1b6823a9b3170a08ff56f1f2c37 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 30 21:44:42 2009 +0000 Fix a comment typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83174 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c6b6fc5b3777a3001043ba3a5db54ac41f97a1b Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 30 21:26:51 2009 +0000 Check for null MDNode element while printing comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83172 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ed4b620633aff7001447bf3ddd86924f8fd7d10 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 30 21:26:13 2009 +0000 Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83171 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd8cb7f1e4075f66179e15deb0c0aecaf09fe4be Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 30 21:24:45 2009 +0000 The AsmPrinter base class contains a DwarfWriter member, so there's no need for derived AsmPrinters to add another one. In some cases, fixing this removes the need to override the doInitialization method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83170 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd36d91b6775ae45eb46eb2a0f4ac47b4a8cb9d8 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Sep 30 21:08:08 2009 +0000 Assert that ConstantArrays are created with correctly-typed elements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83168 91177308-0d34-0410-b5e6-96231b3b80d8 commit a6c9ec0753ed03948b49ae3e0d96b87b484ee247 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 30 20:54:16 2009 +0000 Fix this code so that it doesn't try to iterate through a std::vector while calling changeImmediateDominator, which removes elements from the vector. This fixes PR5097. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83166 91177308-0d34-0410-b5e6-96231b3b80d8 commit 64ccb3919aa594caf4c2196eed9e72cc9797fe57 Author: Reid Kleckner <reid@kleckner.net> Date: Wed Sep 30 20:43:07 2009 +0000 Silence comparison always false warning in -Asserts mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83164 91177308-0d34-0410-b5e6-96231b3b80d8 commit af24317c91a2383560a6707d35ae41f770c05a14 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Sep 30 20:35:36 2009 +0000 Add additional assert() to verify no extraneous use of a scavenged register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83163 91177308-0d34-0410-b5e6-96231b3b80d8 commit 60a7ae26df4ce7d2dac4636e924c29eed0f97df4 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 30 20:16:54 2009 +0000 Print tag name for MDNodes that are used to encode debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83160 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9b95fd1ebb1f046d17afd0123d7c3afcd4ddef0 Author: Reid Kleckner <reid@kleckner.net> Date: Wed Sep 30 20:15:38 2009 +0000 Fix integer overflow in instruction scheduling. This can happen if we have basic blocks that are so long that their size overflows a short. Also assert that overflow does not happen in the future, as requested by Evan. This fixes PR4401. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83159 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a8c00d3394922bbc310fdd6ffb829939de37cd1 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 30 17:13:41 2009 +0000 Silence unused variable warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83151 91177308-0d34-0410-b5e6-96231b3b80d8 commit 65a2b9aff1084c5c54afd4577555a5bf3b124114 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Sep 30 15:23:38 2009 +0000 Clarify comment phrasing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83148 91177308-0d34-0410-b5e6-96231b3b80d8 commit 140523508f5e2af96e8c01218b4c4fc1c73abcdb Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 30 08:53:01 2009 +0000 Add a option which would move ld/st multiple pass before post-alloc scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83145 91177308-0d34-0410-b5e6-96231b3b80d8 commit caa654136388c6b3b1909149a5d9002159983ee1 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 30 08:49:50 2009 +0000 Add a target hook to add pre- post-regalloc scheduling passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83144 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28568c1e49f9781afd921e2fbb52b18fb2ec6321 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 30 08:41:27 2009 +0000 Forgot this test earlier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83143 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2375debd3ff878723a90be0f69860eae30ace312 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 30 06:27:22 2009 +0000 add macruby, fix a validation problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83142 91177308-0d34-0410-b5e6-96231b3b80d8 commit 133cf876fff85ed26381f2964e5c1de43764a051 Author: Nick Lewycky <nicholas@mxc.ca> Date: Wed Sep 30 04:50:26 2009 +0000 Fix compile error as debug interface changed. By the way, this code is buggy. You can't keep a map<MDNode *, something> because the MDNode may be destroyed and reused for something else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83141 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0e180ac4672e4a304f93a2d0207428c83de155e Author: Jim Grosbach <grosbach@apple.com> Date: Wed Sep 30 01:47:59 2009 +0000 replace TRI->isVirtualRegister() with TargetRegisterInfo::isVirtualRegister() per customary usage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83137 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce096d7654254793f6df9dcfea8e44345afa42bf Author: Jim Grosbach <grosbach@apple.com> Date: Wed Sep 30 01:43:29 2009 +0000 When checking whether we need to reserve a register for the scavenger, the size of the saved frame pointer needs to be taken into account. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83136 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6f0c0268cdad78cdc3b8d4b4ad597d1c3ce7ba2 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Sep 30 01:35:11 2009 +0000 Add "isBarrier = 1" to return instructions. Patch by Sylvere Teissier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83135 91177308-0d34-0410-b5e6-96231b3b80d8 commit 25e34f9b00ed6c3b69f77fbec6173ca9071ac793 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Sep 30 00:37:40 2009 +0000 fix compiler warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83132 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcadb50767616efc30787f5e5bcbf67b3fc3d7f0 Author: David Goodwin <david_goodwin@apple.com> Date: Wed Sep 30 00:23:57 2009 +0000 Remove regression that requires post-RA scheduling from a target that does not use that scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83128 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5147f1174ae1b6f8af2bc03d8f9915bda2937961 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 30 00:23:42 2009 +0000 For Darwin, emit all the text section directives together before the dwarf section directives. This causes the assembler to put the text sections at the beginning of the object file, which helps work around a limitation of the Darwin ARM relocations. Radar 7255355. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83127 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48e8d7af49d3f3e2cd279c13b8897fcade1801a5 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 30 00:14:40 2009 +0000 Simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83123 91177308-0d34-0410-b5e6-96231b3b80d8 commit cf89a609bc2c368e2c5c970131edc40c08175893 Author: David Goodwin <david_goodwin@apple.com> Date: Wed Sep 30 00:10:16 2009 +0000 Remove -post-RA-schedule flag and add a TargetSubtarget method to enable post-register-allocation scheduling. By default it is off. For ARM, enable/disable with -mattr=+/-postrasched. Enable by default for cortex-a8. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83122 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3abdd85bbfd3f3f16e7c4551ba86fed9c412ea82 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Sep 30 00:08:25 2009 +0000 Forward-declare ValueSymbolTable so that SymbolTableListTraits.h can be parsed by itself git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83121 91177308-0d34-0410-b5e6-96231b3b80d8 commit b22cd0ff4c6c3ba4a39b8b11afb21ddf40e79f74 Author: Mike Stump <mrs@apple.com> Date: Wed Sep 30 00:08:22 2009 +0000 Add a way for a frontend to generate more complex dwarf location information. This allows arbitrary code involving DW_OP_plus_uconst and DW_OP_deref. The scheme allows for easy extention to include, any, or all of the DW_OP_ opcodes. I thought about just exposing all of them, but, wasn't sure if people wanted the dwarf opcodes exposed in the api. Is that a layering violation? With this scheme, the entire existing block scheme used by llvm-gcc can be switched over to the new scheme. I think that would be cleaner, as then the compiler specific bits are not present in llvm proper. Before the old code can be yanked however, similar code in clang would have to be removed. Next up, more testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83120 91177308-0d34-0410-b5e6-96231b3b80d8 commit 278c839fdb36f39a25935fd83e12144b374d4e75 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 29 23:17:20 2009 +0000 minor cleanup and add clarifying comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83117 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c888f47d45c8b462e23cc270731bff109e55e0f Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 29 22:05:52 2009 +0000 Lookup handler name only when assertions are enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83114 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91291d92510d559e84bb36184703684dcd330469 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 29 20:42:25 2009 +0000 Add removeMD(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83107 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3402a11ab9fadebbfd897d532e3dd3ec33bc76d5 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 29 20:30:57 2009 +0000 Only one custom meadata of each kind can be attached with an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83105 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f2144540eebd8dfd6161f7f1e350f7f0cf8fc89 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 29 20:11:10 2009 +0000 Additional check for regno==0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83103 91177308-0d34-0410-b5e6-96231b3b80d8 commit 789d5d396510406c9dfbf26b8b5e5ee463f0eb60 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 29 20:01:19 2009 +0000 Use assertion instead of early exit to catch malformed custom metadata store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83102 91177308-0d34-0410-b5e6-96231b3b80d8 commit 50ffdfb9df7dceaba43fd40a1053d22787257fd6 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 29 19:56:13 2009 +0000 Remove unnecessary cast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83100 91177308-0d34-0410-b5e6-96231b3b80d8 commit aaf012ebb492482ba3626e4129140713cd7836b7 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 29 18:40:58 2009 +0000 Remove std::string uses from DebugInfo interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83083 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4002bc8194a36ff425f37829d6fb04a56ef1358 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 29 18:39:56 2009 +0000 Create empty StringRef is incoming cstring is NULL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83082 91177308-0d34-0410-b5e6-96231b3b80d8 commit 428fa81b068032e70a4df96a9bf95aea8647bae7 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 29 18:23:15 2009 +0000 Simplify the tracking of virtual frame index registers. Ranges cannot overlap, so a simple "current register" will suffice. Also add some additional sanity-checking assertions to make sure things are as we expect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83081 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1261bc74142b823bf80824e5f7e20697cb136747 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 29 17:24:37 2009 +0000 Moving register scavenging to a post pass results in virtual registers in the instruction we're scavenging for. The scavenger needs to know to avoid them when analyzing register usage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83077 91177308-0d34-0410-b5e6-96231b3b80d8 commit d87b736e032e2bb48df5de77b2632197cd89d73f Author: David Goodwin <david_goodwin@apple.com> Date: Tue Sep 29 17:10:26 2009 +0000 Post-RA regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83075 91177308-0d34-0410-b5e6-96231b3b80d8 commit 350c913b054b04ffd2c0041e8cf63d6031cb060b Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 29 07:07:30 2009 +0000 Fix PR4687. Pre ARMv5te does not support ldrd / strd. Patch by John Tytgat. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83058 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c2dc21a880cfd629c485bf65dcc7d8380da234d Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 29 06:18:23 2009 +0000 Regenerate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83052 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5f12fed540b9487fe8a48e7480344ab0c33676d Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 29 06:18:00 2009 +0000 Fix configure bug that only shows up in a clean build. Don't try to invoke gcc until after the compiler itself has been set up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83051 91177308-0d34-0410-b5e6-96231b3b80d8 commit d2813d0d6d353fb32749e66adc03e5a388c6eee2 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 29 05:48:51 2009 +0000 Roll back r83048. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83050 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4ba4c6918a704922ebaf2dada823423d503fe7a Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 29 05:41:21 2009 +0000 Regenerate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83048 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c6df93ec728e0c4109690a0712100f2381002ce Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 29 05:40:45 2009 +0000 On Linux, uname -m reports the kernel type. Some Linux systems are 32-bit but with a 64-bit kernel, which confuses LLVM. Make LLVM double-check this by checking which defines the system gcc actually sets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83047 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17c60df1f139b966e696c18683d6fac7afb0d4ac Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 29 00:01:14 2009 +0000 Parse custom metadata attached with an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83033 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a60e6ab5c0bdebeeb93bf7837306b526c6174cd Author: Stuart Hastings <stuart@apple.com> Date: Mon Sep 28 23:42:38 2009 +0000 B&I's buildit forces a PATH that omits /Developer. Temporarily add /Developer/usr/bin to the PATH when looking for llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83028 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe70981db2dc986f570f7aeefc6035477e704653 Author: Stuart Hastings <stuart@apple.com> Date: Mon Sep 28 22:17:53 2009 +0000 For B&I-style builds, tweak build_llvm script to prefer LLVM-G++ if available. Override by setting CC and CXX in the environment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83024 91177308-0d34-0410-b5e6-96231b3b80d8 commit e68f04e420b7b2422586e4927db982f30c654e2f Author: Jim Grosbach <grosbach@apple.com> Date: Mon Sep 28 22:08:06 2009 +0000 Adjust processFunctionBeforeCalleeSavedScan() to correctly reserve a stack slot for the register scavenger when compiling Thumb1 functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83023 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79af72b8cc78f43bda065f66a27992f14f44839b Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 21:51:41 2009 +0000 Add C API calls for building FNeg operations. Patch by KS Sreeram! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83021 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6de78e26bd0bb682ac466ae1b46a8a29c9d6ae9c Author: Devang Patel <dpatel@apple.com> Date: Mon Sep 28 21:41:20 2009 +0000 s/class Metadata/class MetadataContext/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83019 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5896160216cae66e3a06cb58c3c38ba09f6969e Author: Devang Patel <dpatel@apple.com> Date: Mon Sep 28 21:14:55 2009 +0000 Do not use global typedef for MDKindID. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83016 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb8bbe7d7b17bf387769d86e614034a36adc159e Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Sep 28 21:14:38 2009 +0000 Forgot to update the documentation in r82906. s/DEBUG_RUNTIME/DEBUG_SYMBOLS/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83015 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb2172f0d0c6dff8c8df6099930aa8c6d97c4a46 Author: Devang Patel <dpatel@apple.com> Date: Mon Sep 28 21:06:38 2009 +0000 Remove unnecessary include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83013 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6218ff80a55e355aed58ecd5626a28bcba5f2309 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 21:03:02 2009 +0000 Add a testcase for r83011. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83012 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5de2a439373415252635c44a5441c699c6a9a982 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 21:01:47 2009 +0000 When extending the operands of an addrec, iterate through all the operands, rather than trying to partition them into a start and a step. This handles non-affine add recurrences correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83011 91177308-0d34-0410-b5e6-96231b3b80d8 commit a1b5c1ac519a42ccf25664de3acee4b97f5c87a0 Author: Devang Patel <dpatel@apple.com> Date: Mon Sep 28 20:56:00 2009 +0000 Do not hardcode metadata names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83010 91177308-0d34-0410-b5e6-96231b3b80d8 commit 83cefbc8b9b22deae1a74c27b6c3576928ec5e83 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 20:48:39 2009 +0000 Add a CHECK line to check the position of the second divsd. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83009 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56a506296805c4967326a41bd5b0ae3202ace90f Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Sep 28 20:47:15 2009 +0000 Fix Thumb2 IT block pass bug. t2MOVi32imm may not be the start of a IT block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83008 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b17870ccf5ae6abd45044f2788825fa0db381e5 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Mon Sep 28 20:32:46 2009 +0000 Use KILL instead of IMPLICIT_DEF in LowerSubregs pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83007 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f12c7cd04af1b2eadddf46f00bf9527fa484188 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Mon Sep 28 20:32:26 2009 +0000 Introduce the TargetInstrInfo::KILL machine instruction and get rid of the unused DECLARE instruction. KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF in the places where IMPLICIT_DEF is just used to alter liveness of physical registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83006 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0404c87e5e2d880e347a1e97e97e775534031692 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 18:40:27 2009 +0000 Add a testcase to help test analysis preservation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83002 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24e32c155493661e8a9a5dbda73cda80d97e5203 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 18:38:53 2009 +0000 Create a README.txt for lib/Analysis, and add an entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83001 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8fdfc78fa6e85af471e6be708819ba7df013613 Author: Devang Patel <dpatel@apple.com> Date: Mon Sep 28 18:31:56 2009 +0000 Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82999 91177308-0d34-0410-b5e6-96231b3b80d8 commit c7d0e9d24270f52cdc47b94ebaad316d4fcc2b44 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 16:09:41 2009 +0000 Use VerifySchedule instead of doing the work manually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82995 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52646b13f315ad45d6999871491c804a5ba706df Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 15:40:01 2009 +0000 Fix this debug output to handle the case where the loop has been deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82994 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05e9fccefe7b54166c82415d0d2ab497a22eecb4 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 15:07:18 2009 +0000 Include the name of the loop header in debug messages. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82993 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2dac97890a66877e9f433d75b0f31f07df2ef84a Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 14:38:19 2009 +0000 Remove a redundant #ifndef and add an assertion string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82991 91177308-0d34-0410-b5e6-96231b3b80d8 commit b65091d85c1c7a467ecf0622747900e54012b2fb Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 14:37:51 2009 +0000 Convert LoopSimplify and LoopExtractor from FunctionPass to LoopPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82990 91177308-0d34-0410-b5e6-96231b3b80d8 commit f4ecc68efa92c06e2de1937f2a6408f57318ee3f Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Sep 28 14:30:20 2009 +0000 Pass the optimization level when constructing the ARM instruction selector. Otherwise, it is always set to "default", which prevents debug info from even being generated during isel. Radar 7250345. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82988 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16c012d9a28fe4db3ee081192a587ad7f30d4cc2 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Sep 28 09:14:39 2009 +0000 Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo instruction. This makes it re-materializable. Thumb2 will split it back out into two instructions so IT pass will generate the right mask. Also, this expose opportunies to optimize the movw to a 16-bit move. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82982 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4468959a4eab134d4ca50b755aac6452617e8857 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 28 07:32:45 2009 +0000 Don't traverse into .svn directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82978 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe89b6a96501aabf8edbd991e9fb81108ecde782 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Sep 28 07:26:46 2009 +0000 Fix thinko in my recent movt commit: it's not safe to remat movt, since it has input reg argument. Disable rematting of it for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82975 91177308-0d34-0410-b5e6-96231b3b80d8 commit da3ee9ce1a46cf351e614a6c17627b63cec9b2b4 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 28 06:49:44 2009 +0000 The select instruction is not neccesarily in the same block as the phi nodes. Make sure to phi translate from the right block. This fixes a llvm-building-llvm failure on GVN-PRE.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82970 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58cb38c09d1b7e0e8c27d56ac94a524552ef436c Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Sep 28 05:28:43 2009 +0000 Coalescer should not delete extract_subreg, insert_subreg, and subreg_to_reg of physical registers. This is especially critical for the later two since they start the live interval of a super-register. e.g. %DO<def> = INSERT_SUBREG %D0<undef>, %S0<kill>, 1 If this instruction is eliminated, the register scavenger will not be happy as D0 is not defined previously. This fixes PR5055. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82968 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4cf975e89642255701b2f279b1647caf430947c Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Mon Sep 28 04:42:55 2009 +0000 Document a bug in the ocaml bindings has wrong linkage values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82966 91177308-0d34-0410-b5e6-96231b3b80d8 commit 61c452d71b139822208536338069d2bc7d464256 Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Mon Sep 28 04:42:47 2009 +0000 Expose the rest of the attribute settings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82965 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1dc7c1fc51b4268897da277fffbac812cce94e66 Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Mon Sep 28 04:42:36 2009 +0000 Fix a bug in ocaml bindings that has incorrect linkage options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82964 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6625665544615314e66cbf54fe4b529a6dcd9441 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Sep 28 01:28:26 2009 +0000 Regenerate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82958 91177308-0d34-0410-b5e6-96231b3b80d8 commit d42557f9880111a13da39570d5e47e69e72648df Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Sep 28 01:16:42 2009 +0000 Add a way to query the number of input files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82957 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c3e02c66a2ac85384c3d7a84a02a60aa71ea591 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Sep 28 01:16:07 2009 +0000 Document the 'not' combinator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82956 91177308-0d34-0410-b5e6-96231b3b80d8 commit c93d3814ca1727b694a4ac3b88a7979f61915ff7 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Sep 28 01:15:44 2009 +0000 A bit prettier formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82955 91177308-0d34-0410-b5e6-96231b3b80d8 commit e414c1e0cd9d1c1e0e650c5710c3df04bf707762 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 00:44:15 2009 +0000 Remove temporary debugging hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82953 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07fbbcdcfb6812cd5986ccc0188b293a8d01e961 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 00:27:48 2009 +0000 Move the dominator verification code out of special code embedded within the PassManager code into a regular verifyAnalysis method. Also, reorganize loop verification. Make the LoopPass infrastructure call verifyLoop as needed instead of having LoopInfo::verifyAnalysis check every loop in the function after each looop pass. Add a new command-line argument, -verify-loop-info, to enable the expensive full checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82952 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f7ba836613f713ff32349e1c08c152d0803100b Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 00:10:28 2009 +0000 Move this assert to check the condition as soon as it is known. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82951 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7265f0826dddbc1d46ad1df769a99fc81c4adfe3 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 28 00:07:05 2009 +0000 Extend the StartPassTimer and StopPassTimer functions so that the code that stops the timer doesn't have to search to find the timer object before it stops the timer. This avoids a lock acquisition and a few other things done with the timer running. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82949 91177308-0d34-0410-b5e6-96231b3b80d8 commit 609289558295a0f4a1f6529c14ffe96db547ec41 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Sep 27 23:52:58 2009 +0000 Use movt/movw pair to materialize 32 bit constants on ARMv6T2+. This should be better than single load from constpool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82948 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee836a04ed5b6c302790bf4db303d04e17d48dfd Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 23:52:07 2009 +0000 Fix an old copy+pasto. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82947 91177308-0d34-0410-b5e6-96231b3b80d8 commit a86280282a7ddd9df2015d13012ad229ccfcd383 Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 23:49:43 2009 +0000 Extract the code for inserting a loop into the loop queue into a separate function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82946 91177308-0d34-0410-b5e6-96231b3b80d8 commit 72a3f38563c08ff695f37880ca47a0212d5eef8f Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 23:43:07 2009 +0000 When a loop is deleted, immediately release all of the active LoopPasses for that loop. This avoids trouble with the PassManager trying to call verifyAnalysis on them, and frees up some memory sooner rather than later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82945 91177308-0d34-0410-b5e6-96231b3b80d8 commit a27e7c0803f1ec6bd2b58dce5df419100c761c52 Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 23:38:27 2009 +0000 Extract the code for releasing a pass into a separate function, and tidy it up a little. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82944 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb02188cd3e0b830856c05e6136523731ffa68f2 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 23:27:42 2009 +0000 Remove the "metadata*" type and simplify the code it complicated. This was only used to support GlobalVariables storing MDNodes, back when they were derived from Constant before the introduction of NamedMDNode, but never removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82943 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49545c765c8fc928bcda29e4f87533aced3c808f Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 23:17:47 2009 +0000 LBRX no longer has an explicit SrcValueSDNode operand, so the type operand is now at index 2, rather than 3. This fixes the "Invalid child # of SDNode!" failures on PowerPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82942 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d1bc8e896031decb3ec0a78b58b76dc7607a840 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:46:50 2009 +0000 simplify some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82936 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8ad9aecbfae9799fb3cef18c8ecc4e9bfc8a735 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:42:46 2009 +0000 The bitcast case is not needed here: instcombine turns icmp(bitcast(x), null) -> icmp(x, null) already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82935 91177308-0d34-0410-b5e6-96231b3b80d8 commit a475d661a350f7956630f0b989c7f6aa838090c4 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 21:39:46 2009 +0000 New unit test for the cloning module, which so far only covers cloning of instructions' optimization flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82934 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d1f8e4df0a7deddf1b2ee380793bd32b7c815d2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:36:19 2009 +0000 calls are already unmovable, malloc doesn't need a special case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82933 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ad04a09b7acbcc532f109c8521281124df47cf6 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:35:11 2009 +0000 calls to external functions are already marked overdefined, special casing malloc isn't needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82932 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35b69d45dd8e3d9b38f8377ec723d37bd458b5c4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:33:46 2009 +0000 calls are already handled, malloc doesn't need a special case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82931 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7805c35a30b6b119e2c4b2bfd54aa484752eeef8 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 21:33:04 2009 +0000 Round out the API for the new optimization flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82930 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a3e013c33b6cb73b01a63d5568373be55186e04 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:31:39 2009 +0000 calls are rejected above, no need to special case malloc here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82929 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47fe1012616c84ce6211a298f822462db8dda2ef Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:29:28 2009 +0000 remove special handling of bitcast(malloc), it will be handled when the loop inspects the bitcast operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82928 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e577c0241756a4d6350c2c310c0cb96a3ecee5e Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:23:38 2009 +0000 unlike the malloc instruction, "malloc" calls do not claim to be readonly, just nounwind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82927 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb3c9102ab9db6cfde207964f78e34ceca63c57b Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 21:16:52 2009 +0000 add a new DirectiveMap stringmap, which allows more efficient dispatching to directive handlers and allows for easier extensibility. I only switched a few over for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82926 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a54febb0063e0862aee2a084a627bb029779498 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 20:58:01 2009 +0000 Link order: it matters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82925 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b61abd17da1bff8720e5bfbb02c98fec3212ad2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 20:46:36 2009 +0000 allow pushing icmps through phis with multiple uses and across critical edges. These are important to push up to encourage jump threading. This shrinks 176.gcc a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82923 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff5cd9de8438a1fbe450b5d0b31a9ae3a0a5fbc5 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 20:18:49 2009 +0000 Enhance the previous fix for PR4895 to allow more values than just simple constants for the true/false value of the select. We now do phi translation etc. This really fixes PR4895 :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82917 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7843b77d709006cc6e93938f396a2aaf9dcd994 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 19:57:57 2009 +0000 implement PR4895, by making FoldOpIntoPhi handle select conditions that are phi nodes. Also tighten up FoldOpIntoPhi to treat constantexpr operands to phis just like other variables, avoiding moving constantexpr computations around. Patch by Daniel Dunbar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82913 91177308-0d34-0410-b5e6-96231b3b80d8 commit de228ff38a94da4f7b64b2eed20195730bc565b9 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 19:38:39 2009 +0000 avoid copying MCAsmInfo by value, add an (extremely low prio) fixme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82911 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c2770bd33b6ce5587a1226d52a77a2ad5a3f345 Author: Tilmann Scheller <tilmann.scheller@googlemail.com> Date: Sun Sep 27 17:58:47 2009 +0000 Use explicit structs instead of std::pair to map callee saved regs to spill slots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82909 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a918d684b96d027630a6b65cc61a7dace0d8fd1 Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 17:50:44 2009 +0000 Delete a bogus comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82908 91177308-0d34-0410-b5e6-96231b3b80d8 commit bbd99f3f67dcd426cc675998c95f3a119b13b42a Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 17:48:37 2009 +0000 Remove a redundant assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82907 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed62bf33bce67ff2da6a8181428f48b2e4db03aa Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sun Sep 27 17:47:29 2009 +0000 Enable -g with DEBUG_SYMBOLS and --enable-debug-symbols instead of DEBUG_RUNTIME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82906 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9bf0112734209c3d98a574bdb672f2928d6ee08 Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 17:46:40 2009 +0000 Fix SCEVExpander's canonical addrec expansion code to work on loops that aren't in canonical loop-simplify form, since it doesn't itself depend on LoopSimplify. This means handling loops without preheaders and loops with multiple backedges. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82905 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ba2142e9397002278f4275ffbae6caa28342607 Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 17:39:12 2009 +0000 Add dominates and releaseMemory member functions to PostDominatorTree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82904 91177308-0d34-0410-b5e6-96231b3b80d8 commit 791c8251355c2f25f39685a7deab22560793c6fa Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 16:10:30 2009 +0000 Grab an LLVM Context from an instruction that exists rather than one that is deleted in some situations. This fixes a use-after-free. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82903 91177308-0d34-0410-b5e6-96231b3b80d8 commit fecf86a40e1d27384518d37c51470352b7c5bd91 Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 15:41:19 2009 +0000 Clarify a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82902 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7936cb8d152d2881952b0013355cbda15e57b99a Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 15:37:03 2009 +0000 Tell ScalarEvolution to forget everything it knows about a loop before rotating the loop, since loop rotation is a very significant change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82901 91177308-0d34-0410-b5e6-96231b3b80d8 commit 397d89ff4449862390e51f261b77f7570a95b563 Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 15:32:21 2009 +0000 Micro-optimize DerivedType::dropAllTypeUses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82900 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12319f23b7e7eae3c45b6a56afede0d6d88c4d6b Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 15:30:00 2009 +0000 Instead of testing whether an instruction dominates the loop preheader, test whether it properly dominates the loop header. This is equivalent when the loop has a preheader, and has the advantage of working when the loop doesn't have a preheader. Since IVUsers doesn't Require LoopSimplify, the loop isn't guaranteed to have a preheader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82899 91177308-0d34-0410-b5e6-96231b3b80d8 commit 322a984dddfb491b560d582f03b6fc7f1122bdad Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 15:26:03 2009 +0000 Add a properlyDominates member function to ScalarEvolution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82898 91177308-0d34-0410-b5e6-96231b3b80d8 commit b69db8035d9b7354a43b912ee10dc9e29006f3be Author: Dan Gohman <gohman@apple.com> Date: Sun Sep 27 15:21:52 2009 +0000 Remove a redundant #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82897 91177308-0d34-0410-b5e6-96231b3b80d8 commit 127f2c5637e7bcfda31bdb7a313726eeedb8a3ea Author: Edwin Török <edwintorok@gmail.com> Date: Sun Sep 27 11:08:03 2009 +0000 Avoid using mutex locks if not in multithreaded mode by using a SmartScopedMutex in RegisterStatistic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82896 91177308-0d34-0410-b5e6-96231b3b80d8 commit 340684f156c06a256649f09657a198653fbe8881 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Sep 27 09:46:04 2009 +0000 Enable pre-regalloc load / store multiple pass for Thumb2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82893 91177308-0d34-0410-b5e6-96231b3b80d8 commit b9cb1867e50c19f73e6325a34880f259263e843e Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 08:01:44 2009 +0000 rename REG -> REGISTER to make it explicit in the doc. <tt>ify some stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82892 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8599166fed9834e8ba77289f61214bfd9a050b20 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 27 07:56:52 2009 +0000 implement and document support for filecheck variables. This allows matching and remembering a string and then matching and verifying that the string occurs later in the file. Change X86/xor.ll to use this in some cases where the test was checking for an arbitrary register allocation decision. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82891 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b3b54d35e1e9f0089c7efdca231a04c77e7d061 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 07:55:32 2009 +0000 Remove dead code from this function and optimize. Update its corresponding LangRef entry too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82890 91177308-0d34-0410-b5e6-96231b3b80d8 commit c94270c382320cb3fe9c4dc7bf31d56c94e9643d Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 07:38:41 2009 +0000 Instruction::clone does not need to take an LLVMContext&. Remove that and update all the callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82889 91177308-0d34-0410-b5e6-96231b3b80d8 commit ebb9633af0245a3eaf03d2a9f4ceb6375cc8769e Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 06:25:05 2009 +0000 Filecheckify this one test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82888 91177308-0d34-0410-b5e6-96231b3b80d8 commit b7b9a48e7b9695ec1dd8d39297658aa020ff77ca Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 04:57:35 2009 +0000 Leave a pointer to the documentation so that people don't end up change one but not the other in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82887 91177308-0d34-0410-b5e6-96231b3b80d8 commit 985d6d15ded32550f7c29aa7f61efd3621562558 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 04:56:27 2009 +0000 Correct the version numbers to match those actually tested for by autoconf/AutoRegen.sh. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82886 91177308-0d34-0410-b5e6-96231b3b80d8 commit 244cf489295b4fed69591a3c4f6404875d0d38ca Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 27 00:45:11 2009 +0000 Move the integer type out of 'derived' and into 'primitive'. This permits us to explain that derived types are all composed of other types, which primitive types aren't. Without moving integer out of derived, this wouldn't be true. Perform a few trivial cleanups; 'i1' went from a link to #t_primitive to #t_integer (a holdover from when it was a bool type I suppose). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82884 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa2637b6ad3234e068167af31981d688f54191b0 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 26 21:27:04 2009 +0000 remove support for "NoSub" from regex. It seems like a minor optimization and makes the API more annoying. Add a Regex::getNumMatches() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82877 91177308-0d34-0410-b5e6-96231b3b80d8 commit e29707fa8162a0dd61380c9ca6e92a47dcb87170 Author: Edwin Török <edwintorok@gmail.com> Date: Sat Sep 26 20:18:58 2009 +0000 Speed up clang-only link, by really linking only clang, and not the unittests too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82873 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7714ad64800f0e4c645ed922455ce09a71686538 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 26 18:51:37 2009 +0000 Remove this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82869 91177308-0d34-0410-b5e6-96231b3b80d8 commit c156b7b4c9323f464900e6316b97661143631a6a Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 26 18:10:13 2009 +0000 Fix SimplifyLibCalls to transfer attributes from callees rather than calls, since direct calls don't always reflect the attributes of their callees. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82867 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a1645e66706ac33ae463ef43e6328eb5b4ec309 Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 26 16:11:57 2009 +0000 Fix a case where ScalarEvolution was expanding pointer arithmetic to inttoptr/ptrtoint unnecessarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82864 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1261dde02801ca06f9e8001747eab7fd244fa3f4 Author: Duncan Sands <baldrick@free.fr> Date: Sat Sep 26 15:35:35 2009 +0000 For the NSWSub support in the builder to actually be useable, there need to be corresponding changes to the constant folders, done in this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82862 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2221f5657297e8c645617e7304d360aceda1b409 Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 26 15:24:17 2009 +0000 Convert comparisons like (x == infinity) to (x >= infinity) on targets where FCMP_OEQ is not legal and FCMP_OGE is, such as x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82861 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2b6ab5a11661fd22b5020a1175ca3715b02a509 Author: Duncan Sands <baldrick@free.fr> Date: Sat Sep 26 15:21:48 2009 +0000 Add methods for creating NSW subtraction, as already exists for addition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82860 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01d166b12f2eed6b31154b48f3f94c45e0b0977f Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 26 15:09:53 2009 +0000 Add a comment describing natural loops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82859 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7468751ace00baa201c34277c85ae20a896dd90 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 26 05:29:36 2009 +0000 "Update" tests for -disable-if-conversion removal. I think branch.ll should just be removed, but I XFAIL'd it for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82847 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0e367e3f0866e9f690b307b4feefaec8d4a3bdfb Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 26 02:49:49 2009 +0000 Really remove this option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82838 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2bb61fd9699873daeba366e97019d660c4006ca Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 26 02:45:45 2009 +0000 Remove a couple of unused command line options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82837 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f4c4564fc1f3955b136a050941b236467fca747 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 26 02:43:36 2009 +0000 Add comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82836 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c1d7673235202816e1027e08eb16cf6123fe1a4 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 26 02:41:17 2009 +0000 Convert test to filecheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82835 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7da0592edfecaac630500ce491f7e339d416be60 Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 26 02:34:00 2009 +0000 Don't hoist or sink instructions with physreg uses if the physreg is allocatable. Even if it doesn't appear to have any defs, it may latter on after register allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82834 91177308-0d34-0410-b5e6-96231b3b80d8 commit 40dcae418d4fb290bedfd5a22eb9a63c40c1dc84 Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 26 01:11:57 2009 +0000 I put the wrong rdar number in this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82829 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13b1ad6276483958045c11cb589586e0fb0959ed Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 23:58:45 2009 +0000 Unbreak MachineLICM for instructions that reference RIP on x86-64 too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82825 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6408b97d7cfea3250c4ada4d8ad08188d68cb9c0 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 23:40:21 2009 +0000 Rename ConstantFP's getInf to getInfinity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82823 91177308-0d34-0410-b5e6-96231b3b80d8 commit 232e4448242ec67d6a7b48906002ab7c3f7af96c Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 23:33:20 2009 +0000 Move MachineMemOperand::getAlignment out of line, to avoid needing MathExtras.h in MachineMemOperand.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82822 91177308-0d34-0410-b5e6-96231b3b80d8 commit 75b79e54a4fd0ea94c2bc91ab7ac3c6248d1af5c Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 25 23:26:56 2009 +0000 Remove unused variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82821 91177308-0d34-0410-b5e6-96231b3b80d8 commit b99d6f9e77125bd9ebf9ebe6df0050b974b8aa5e Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 23:10:17 2009 +0000 Transform pow(x, 0.5) to (x == -inf ? inf : fabs(sqrt(x))), which is typically faster then doing a general pow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82819 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43dcfc7462c5602f9f840c6905f905b63a1d8937 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 23:00:48 2009 +0000 Add a ConstantFP::getInf utility function for creating infinity ConstantFPs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82818 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5dedd5c716f4c2741afd8ac264d5e4e09adbcf1b Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 22:53:29 2009 +0000 Fix MachineSink to be able to sink instructions that use physical registers which have no defs anywhere in the function. In particular, this fixes sinking of instructions that reference RIP on x86-64, which is currently being modeled as a register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82815 91177308-0d34-0410-b5e6-96231b3b80d8 commit e222c72bba42281674d39d3d33dd75fb8f926ce5 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Sep 25 22:53:17 2009 +0000 Regenerate git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82814 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd623a83da8cc21ab3fd2ec6175041ee68f5171d Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Sep 25 22:52:29 2009 +0000 Provide proper masks for neon perfect shuffle table. I definitely need to read documentation better :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82813 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04abe740fc7391473a417d498535eed8fd834a4b Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 22:26:13 2009 +0000 Simplify a few more uses of reg_iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82812 91177308-0d34-0410-b5e6-96231b3b80d8 commit 282a4ab6f595a493b5fe6cdd36ff9673454e1f16 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 22:24:52 2009 +0000 Simplify this code by using use_iterator instead of reg_iterator and skipping the defs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82811 91177308-0d34-0410-b5e6-96231b3b80d8 commit 65561df4eb4eb52ebf75755e9f9eafa36929fa0e Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 25 21:44:53 2009 +0000 Code clean up and prepare for Thumb2 support. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82805 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9122db8146cea80861ecaac6566ae8f75ed2497 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 25 21:38:11 2009 +0000 Flip -disable-post-RA-scheduler to -post-RA-scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82803 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41a338b1690f69bf6f35349e064e6c2543b15a6a Author: Jeffrey Yasskin <jyasskin@google.com> Date: Fri Sep 25 21:07:20 2009 +0000 Fix a compile failure introduced by r82675 on MinGW which doesn't have setenv(). This patch just disables the test rather than getting putenv() to work. Thanks to Sandeep Patel for reporting the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82797 91177308-0d34-0410-b5e6-96231b3b80d8 commit c78858514eb50d76bd73ca360f58971ff9bc4ac4 Author: Dale Johannesen <dalej@apple.com> Date: Fri Sep 25 20:54:50 2009 +0000 Handle sqrt in CannotBeNegativeZero. absf and absl appear to be misspellings, removed in favor of fabs*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82796 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e3bb1bc735783b73f2dcca82c86b7faca1a87e8 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 20:36:54 2009 +0000 Improve MachineMemOperand handling. - Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions. This eliminates MachineInstr's std::list member and allows the data to be created by isel and live for the remainder of codegen, avoiding a lot of copying and unnecessary translation. This also shrinks MemSDNode. - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated fields for MachineMemOperands. - Change MemSDNode to have a MachineMemOperand member instead of its own fields with the same information. This introduces some redundancy, but it's more consistent with what MachineInstr will eventually want. - Ignore alignment when searching for redundant loads for CSE, but remember the greatest alignment. Target-specific code which previously used MemOperandSDNodes with generic SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range so that the SelectionDAG framework knows that MachineMemOperand information is available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82794 91177308-0d34-0410-b5e6-96231b3b80d8 commit 61fda0d889b3578fe435455679182c231a649aac Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 18:54:59 2009 +0000 Rename getTargetNode to getMachineNode, for consistency with the naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82790 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36bff0c1f84aa517c66320c6864e4443e818e574 Author: David Goodwin <david_goodwin@apple.com> Date: Fri Sep 25 18:38:29 2009 +0000 Finish scheduling itineraries for NEON. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82788 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba159cf257a14d31d2dbbe8b52e934c9f8af85fb Author: Dale Johannesen <dalej@apple.com> Date: Fri Sep 25 18:15:29 2009 +0000 Add readonly to some sin and cos calls; transformations being checked aren't valid without it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82786 91177308-0d34-0410-b5e6-96231b3b80d8 commit 131e0fcf808340c24aa7f519b7108121142a9b4b Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Sep 25 18:11:52 2009 +0000 Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82784 91177308-0d34-0410-b5e6-96231b3b80d8 commit bccd219ac7eb590d369f9bda03ade6467aa49e24 Author: Dale Johannesen <dalej@apple.com> Date: Fri Sep 25 18:00:35 2009 +0000 Make sure sin, cos, sqrt calls are marked readonly before producing FSIN, FCOS, FSQRT. If they aren't so marked we have to assume they might set errno. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82781 91177308-0d34-0410-b5e6-96231b3b80d8 commit e2bc7c2439c37d883c22dd27c87301a4e2c935b3 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 25 17:29:36 2009 +0000 reject attempts to use ()'s in patterns, these are reserved for filecheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82780 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce89de231525a80c137a1de88fb8d0467c6ce973 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 25 17:23:43 2009 +0000 reimplement the regex matching strategy by building a single regex and matching it instead of trying to match chunks at a time. Matching chunks at a time broke with check lines like CHECK: foo {{.*}}bar because the .* would eat the entire rest of the line and bar would never match. Now we just escape the fixed strings for the user, so that something like: CHECK: a() {{.*}}??? is matched as: CHECK: {{a\(\) .*\?\?\?}} transparently "under the covers". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82779 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8891e4478909879ca4f4e745312b542cc8aca7e6 Author: Dale Johannesen <dalej@apple.com> Date: Fri Sep 25 17:23:22 2009 +0000 Generate FSQRT from calls to the sqrt function, which allows appropriate backends to generate a sqrt instruction. On x86, this isn't done at -O0 because we go through FastISel instead. This is a behavior change from before this series of sqrt patches started. I think this is OK considering that compile speed is most important at -O0, but could be convinced otherwise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82778 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6f6363c80e0e1fd4ff8e20a8f259d1e66310a1f Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 25 17:09:12 2009 +0000 special case Patterns that are a single fixed string. This is a microscopic perf win and is needed for future changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82777 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4730cd3d31451fb62c8c8401cceee4439b7c1626 Author: Dale Johannesen <dalej@apple.com> Date: Fri Sep 25 17:04:42 2009 +0000 Revise C library functions description to be vaguer, per Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82776 91177308-0d34-0410-b5e6-96231b3b80d8 commit e2de471c77ff3baeac8e535fffc28de1e57799a9 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Fri Sep 25 16:46:09 2009 +0000 This patch causes the --enable-debug-runtime configure flag and the DEBUG_RUNTIME Makefile variable to pass -g to gcc when building LLVM's objects. Without this, it's very hard to debug crashes that happen in Release-Asserts mode but not Debug mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82775 91177308-0d34-0410-b5e6-96231b3b80d8 commit e55e52532c4a76b7ec83e530e3fe3b0bc0b8c00c Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Sep 25 16:34:46 2009 +0000 Add some comments to clarify things that I discovered this week. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82773 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd4cb23f6a5954a3fff1afe6f807c02eab8910e9 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 25 16:04:21 2009 +0000 Make llvm-bcanalyzer percentages more readable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82772 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14a16fee44fce77ae10d7144e547b7b8bed872b6 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 25 16:03:57 2009 +0000 Strip trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82771 91177308-0d34-0410-b5e6-96231b3b80d8 commit c1c8b5e19b33c8b5e52c4b516669181f18feb98e Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Sep 25 14:41:49 2009 +0000 pr4926: ARM requires the stack pointer to be aligned, even for leaf functions. For the AAPCS ABI, SP must always be 4-byte aligned, and at any "public interface" it must be 8-byte aligned. For the older ARM APCS ABI, the stack alignment is just always 4 bytes. For X86, we currently align SP at entry to a function (e.g., to 16 bytes for Darwin), but no stack alignment is needed at other times, such as for a leaf function. After discussing this with Dan, I decided to go with the approach of adding a new "TransientStackAlignment" field to TargetFrameInfo. This value specifies the stack alignment that must be maintained even in between calls. It defaults to 1 except for ARM, where it is 4. (Some other targets may also want to set this if they have similar stack requirements. It's not currently required for PPC because it sets targetHandlesStackFrameRounding and handles the alignment in target-specific code.) The existing StackAlignment value specifies the alignment upon entry to a function, which is how we've been using it anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82767 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c417db6fa3361d12502438264a66352a8fd6531 Author: Duncan Sands <baldrick@free.fr> Date: Fri Sep 25 12:28:37 2009 +0000 Print INST_INBOUNDS_GEP rather than UnknownCode30. Likewise for constant inbounds GEP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82763 91177308-0d34-0410-b5e6-96231b3b80d8 commit d777d83398260186ab5744a6eb01e55e3d8757fd Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 25 06:49:41 2009 +0000 convert testcases to filecheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82759 91177308-0d34-0410-b5e6-96231b3b80d8 commit d33999c4a5ccdb8cd555477e51987ce6c3ed1f04 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 25 06:47:09 2009 +0000 filecheck should not match a \n with a . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82758 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57f2699a01d2bf5a7544da99676c612955bbd05f Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 25 06:37:22 2009 +0000 remove a large unreduced testcase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82756 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8527c712c7db0d0f0a31c225024bbef3f2dde62d Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 25 06:32:47 2009 +0000 turn a std::pair into a real class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82754 91177308-0d34-0410-b5e6-96231b3b80d8 commit aec69ee8287d0ac26b45fb20240af79e5497ef01 Author: Nate Begeman <natebegeman@mac.com> Date: Fri Sep 25 06:05:26 2009 +0000 Fix combiner-aa issue with bases which are different, but can alias. Previously, it treated GV+28 GV+0 as different bases, and assumed they could not alias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82753 91177308-0d34-0410-b5e6-96231b3b80d8 commit cbaa5bdd135396a097a648574a6706eec224e5ec Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Sep 25 05:30:55 2009 +0000 Update the description of MachineFrameInfo's OffsetAdjustment. The value of this adjustment does not change the direction or the signs of the object offsets, and the details of the offset calculations can be target-specific. Also mention that for most targets this value is only used to generate debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82750 91177308-0d34-0410-b5e6-96231b3b80d8 commit 06d175346442b0b31427d8806d5022c3248bf674 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 00:57:30 2009 +0000 Don't try to use pre-indexed addressing with sthbrx/stwbrx instructions. This fixes a PowerPC bug exposed by some unrelated changes I'm working on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82743 91177308-0d34-0410-b5e6-96231b3b80d8 commit 594bb86a065af025a8fd90ef486d9f54fb869f95 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 25 00:34:34 2009 +0000 Add a version of dumpr() that has a SelectionDAG* argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82742 91177308-0d34-0410-b5e6-96231b3b80d8 commit abd0e3ddaf34e1589bae68eecb9fcfb7f14ac297 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Sep 24 23:52:18 2009 +0000 Start of revamping the register scavenging in PEI. ARM Thumb1 is the driving interest for this, as it currently reserves a register rather than using the scavenger for matierializing constants as needed. Instead of scavenging registers on the fly while eliminating frame indices, new virtual registers are created, and then a scavenged collectively in a post-pass over the function. This isolates the bits that need to interact with the scavenger, and sets the stage for more intelligent use, and reuse, of scavenged registers. For the time being, this is disabled by default. Once the bugs are worked out, the current scavenging calls in replaceFrameIndices() will be removed and the post-pass scavenging will be the default. Until then, -enable-frame-index-scavenging enables the new code. Currently, only the Thumb1 back end is set up to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82734 91177308-0d34-0410-b5e6-96231b3b80d8 commit f47ed3b170f267cc8eb18d841e16fc60e900e9bf Author: Dale Johannesen <dalej@apple.com> Date: Thu Sep 24 23:37:40 2009 +0000 Reenable sqrt IR generation test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82731 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2fd84e281e90d309c22639a7ba9585871050e777 Author: Mike Stump <mrs@apple.com> Date: Thu Sep 24 23:21:26 2009 +0000 Delete space after function name, before (, reflow a comment and delete a few blank lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82729 91177308-0d34-0410-b5e6-96231b3b80d8 commit cf991836d66fafd16a28b20a04bbff143c99e700 Author: Mike Stump <mrs@apple.com> Date: Thu Sep 24 23:11:08 2009 +0000 Fix spacing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82727 91177308-0d34-0410-b5e6-96231b3b80d8 commit f55e81bef95886581ceb0597e7e6c4838e5cf002 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 21:47:32 2009 +0000 add and document regex support for FileCheck. You can now do stuff like: ; CHECK: movl {{%e[a-z][xi]}}, %eax or whatever. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82717 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2255c43ab2731fee0d00702175336d4b42ba9e0e Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 21:45:57 2009 +0000 unconditionally request MMI git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82716 91177308-0d34-0410-b5e6-96231b3b80d8 commit c77786ebfb8a4dcf223031c7140e454fad3aa702 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 21:44:20 2009 +0000 wrap long lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82715 91177308-0d34-0410-b5e6-96231b3b80d8 commit edc81f3d96a63163abf9f4b17eb9fdc8068cd9cf Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 20:45:07 2009 +0000 Use CanonicalizeInputFile to canonicalize the entire buffer containing the CHECK strings, instead of canonicalizing the patterns directly. This allows Pattern to just contain a StringRef instead of std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82713 91177308-0d34-0410-b5e6-96231b3b80d8 commit bbb96e5913e916ab74cd4cec3ec40e8fa9942dda Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 20:39:13 2009 +0000 change 'not' matching to use Pattern, move pattern parsing logic into the Pattern class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82712 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ee02f11e57a367a7dbdc855d65a66ab3442e177 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 20:25:55 2009 +0000 refactor out the match string into its own Pattern class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82711 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16905eda1a5f9e55bc061df7018afc1264258b85 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Sep 24 20:23:02 2009 +0000 Convert to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82710 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed17499ee7446c5da5638f6c4c34eea660808a3d Author: David Goodwin <david_goodwin@apple.com> Date: Thu Sep 24 20:22:50 2009 +0000 Make the end-of-itinerary mark explicit. Some cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82709 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f3103731c7d2ee3608f401031d0b9f785293e35 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 24 20:20:08 2009 +0000 Add nounwind to this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82708 91177308-0d34-0410-b5e6-96231b3b80d8 commit 81f61b9291284bd0dc93d9dc333c1962a4399719 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 20:15:51 2009 +0000 tidy up, fix a memory leak in Regex::isValid git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82707 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9fcf4a9c8f35d53460b62db4a13fa14c7e1d1676 Author: Dale Johannesen <dalej@apple.com> Date: Thu Sep 24 18:38:21 2009 +0000 Clarify that llvm attaches C language semantics to functions with names that match the C library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82701 91177308-0d34-0410-b5e6-96231b3b80d8 commit 129b2d16553e46db3b5675b63e777931e2ea4cec Author: Edwin Török <edwintorok@gmail.com> Date: Thu Sep 24 18:33:42 2009 +0000 Constant propagating byval pointer is safe if function is readonly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82700 91177308-0d34-0410-b5e6-96231b3b80d8 commit b493c9735a034856258c992d967b523d0effa7ce Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Sep 24 17:47:49 2009 +0000 Auto-upgrade malloc instructions to malloc calls. Reviewed by Devang Patel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82694 91177308-0d34-0410-b5e6-96231b3b80d8 commit 92244901c3c0101b8114ffa52c1dcf0e9cda72a1 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Sep 24 16:42:27 2009 +0000 Fix a hypothetical problem for targets with StackGrowsUp and a non-zero LocalAreaOffset. (We don't have any of those right now.) PEI::calculateFrameObjectOffsets includes the absolute value of the LocalAreaOffset in the cumulative offset value used to calculate the stack frame size. It then adds the raw value of the LocalAreaOffset to the stack size. For a StackGrowsDown target, that raw value is negative and has the effect of cancelling out the absolute value that was added earlier, but that obviously won't work for a StackGrowsUp target. Change to subtract the absolute value of the LocalAreaOffset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82693 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef534da2d0f3316b5ad378a00899e8d127362b5d Author: Devang Patel <dpatel@apple.com> Date: Thu Sep 24 16:19:11 2009 +0000 Move parent assertion check before metadata deletion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82692 91177308-0d34-0410-b5e6-96231b3b80d8 commit d54353779c9a33c745178f01785113300c7acb0e Author: Edwin Török <edwintorok@gmail.com> Date: Thu Sep 24 09:47:18 2009 +0000 Don't constant propagate byval pointers, since they are not really pointers, but rather structs passed by value. This fixes PR5038. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82689 91177308-0d34-0410-b5e6-96231b3b80d8 commit a8b807194946fe34f364a39721205c00c1906482 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 24 06:23:57 2009 +0000 Add count/not tools as executables. - Apparently, I'm willing to do incredibly stupid things in the name of portability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82685 91177308-0d34-0410-b5e6-96231b3b80d8 commit c73e8ebf88f2c21b857296951b4babc6bd404426 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 05:44:53 2009 +0000 unconditionally compute MMI even if the target doesn't support EH or Debug info, because the target may use it for other things, this fixes PR5036 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82684 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8b70669b5480ad74079a8b8424d58c51b0cfa84 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 24 05:38:36 2009 +0000 reapply r82348 with a fix, thanks Jeffrey. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82683 91177308-0d34-0410-b5e6-96231b3b80d8 commit f33cdc3f423b26e209fd058d50acea55966adb00 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 24 02:27:09 2009 +0000 Fix PR5024 with a big hammer: disable the double-def assertion in the scavenger. LiveVariables add implicit kills to correctly track partial register kills. This works well enough and is fairly accurate. But coalescer can make it impossible to maintain these markers. e.g. BL <ga:sss1>, %R0<kill,undef>, %S0<kill>, %R0<imp-def>, %R1<imp-def,dead>, %R2<imp-def,dead>, %R3<imp-def,dead>, %R12<imp-def,dead>, %LR<imp-def,dead>, %D0<imp-def>, ... ... %reg1031<def> = FLDS <cp#1>, 0, 14, %reg0, Mem:LD4[ConstantPool] ... %S0<def> = FCPYS %reg1031<kill>, 14, %reg0, %D0<imp-use,kill> When reg1031 and S0 are coalesced, the copy (FCPYS) will be eliminated the the implicit-kill of D0 is lost. In this case it's possible to move the marker to the FLDS. But in many cases, this is not possible. Suppose %reg1031<def> = FOO <cp#1>, %D0<imp-def> ... %S0<def> = FCPYS %reg1031<kill>, 14, %reg0, %D0<imp-use,kill> When FCPYS goes away, the definition of S0 is the "FOO" instruction. However, transferring the D0 implicit-kill to FOO doesn't work since it is the def of D0 itself. We need to fix this in another time by introducing a "kill" pseudo instruction to track liveness. Disabling the assertion is not ideal, but machine verifier is doing that job now. It's important to know double-def is not a miscomputation since it means a register should be free but it's not tracked as free. It's a performance issue instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82677 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04f3d1de138c7ebffc1d37a273e5a8675b6a933d Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 24 02:15:22 2009 +0000 Clean up LiveVariables and change how it deals with partial updates and kills. This also eliminate the horrible check which scan forward to the end of the basic block. It should be faster and more accurate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82676 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07c5e3ce817f75c90d00d48b0acd765e4e9ec6b5 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Thu Sep 24 01:14:07 2009 +0000 Roll back r82348, which introduced an infinite loop in ParseCStringVector() that a trivial unittest would have caught. This revision also adds the trivial unittest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82675 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1b016061ea1eb7a321b1b4d20976a651b3c24b6 Author: Dale Johannesen <dalej@apple.com> Date: Wed Sep 23 22:05:24 2009 +0000 A minor improvment in accuracy to inline cost computation, and some cosmetics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82660 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b4f81c688a6b32d799f7e0b95f6fe131d7ffb24 Author: Dale Johannesen <dalej@apple.com> Date: Wed Sep 23 21:46:36 2009 +0000 Disable test; what it's testing for is wrong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82658 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78caa12a415bbd16db04088be6378398d4909b6f Author: David Goodwin <david_goodwin@apple.com> Date: Wed Sep 23 21:38:08 2009 +0000 Checkpoint NEON scheduling itineraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82657 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad4880332c61c808014c202255dce5f8fafe581e Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 23 21:07:02 2009 +0000 Use getStoreSize() instead of getStoreSizeInBits()/8. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82656 91177308-0d34-0410-b5e6-96231b3b80d8 commit 63521d0ab0566f418464b29e5ac6cca7710ae094 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 23 21:06:36 2009 +0000 Spruce up some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82655 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3bab1f776cf32aadd62d490f54cec968ef38eec7 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 23 21:02:20 2009 +0000 Rename several variables from EVT to more descriptive names, now that EVT is also the name of their type, as declarations like "EVT EVT" look really odd. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82654 91177308-0d34-0410-b5e6-96231b3b80d8 commit a387c633b81a60a676445c8d89513a7518b8f7fc Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 23 20:59:10 2009 +0000 Add an EVT::getStoreSize function, like getStoreSizeInBits but in bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82653 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef0853ae5ef4ef4dac82362ecb914ad2b3df1ae0 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Sep 23 20:57:55 2009 +0000 Fix verification of explicit operands. The machine code verifier did not check for explicit operands correctly. It used MachineInstr::getNumExplicitOperands, but that method may cheat and use the declared count in the TargetInstrDesc. Now we check the explicit operands one at a time in visitMachineOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82652 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95e76c5aee19e6e44bda135a7f7a32c2602c493f Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 23 20:57:02 2009 +0000 Remove BlackfinRegisterInfo::getFrameIndexOffset since it is the same as the default implementation. Update comment on the default version, which made it sound like most targets override it. Currently only X86 and SystemZ override this method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82651 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f939a29fdfdfc31e521209c44fc1ca3b1ecfc6f Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 23 20:40:16 2009 +0000 Correct a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82648 91177308-0d34-0410-b5e6-96231b3b80d8 commit 579edbf7bf65497e3afa498baaf1cb6642ef3de0 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 23 20:33:51 2009 +0000 Delete attached metadata when an instruction is deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82647 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3fad552803d264b6bf83981de305e7080cb8ef4f Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Sep 23 19:04:09 2009 +0000 ARM does not support offset folding (yet). Disable it for now. This fixes PR5031. Unfortunately, there is no small testcase :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82643 91177308-0d34-0410-b5e6-96231b3b80d8 commit a9b57edff7a7dbf11ba9fe787349d21f7e3e80f6 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 23 18:53:19 2009 +0000 Edit a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82641 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b7c1e84c407ef2ba17ed953f0368eb54a5ef106 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 23 18:32:25 2009 +0000 Do not leave behind metadata while cloning an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82638 91177308-0d34-0410-b5e6-96231b3b80d8 commit 724190977bf4a7289c24e923f33ad6b7e172cfbf Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 23 18:20:27 2009 +0000 Add nounwind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82637 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7fdd6fe71635b720cb3c47fe9bbe4c7587cb027d Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 23 17:20:43 2009 +0000 s/*Location/*DebugLocation/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82635 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35659ae0fc161cf474f5ca81c497d58a90b7c4e0 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Sep 23 17:05:42 2009 +0000 PR4047: Permit configure --enable-targets=host,cpp for example. "host" has the same effect that "host-only" used to have, but can be combined with other targets. host-only is still available as a synonym but no longer documented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82634 91177308-0d34-0410-b5e6-96231b3b80d8 commit 83b6ace01ffb5d8d495a4b70c7406d06f0dd2067 Author: David Goodwin <david_goodwin@apple.com> Date: Wed Sep 23 16:35:25 2009 +0000 Fix bug in kill flag updating for post-register-allocation scheduling. When the kill flag of a superreg needs to be cleared because there are one or more subregs live, we instead add implicit-defs of those subregs and leave the kill flag on the superreg. This allows us to end the live-range of the superreg without ending the live-ranges of the subregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82629 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5faba0e3a308107b7a40b53ea72b6bfbdd19e28b Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Sep 23 11:48:57 2009 +0000 Fix a struct/class mismatch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82622 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9cbef31ba8c374d41249635197e58c102fe41fb Author: John McCall <rjmccall@apple.com> Date: Wed Sep 23 06:53:51 2009 +0000 Make the type traits for a const pointer defer to those for a unqualified pointer, instead of providing independent values modelled on the default implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82620 91177308-0d34-0410-b5e6-96231b3b80d8 commit d062bf740651c35ed3ee80b66b02d8363fd14a3a Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 23 06:28:31 2009 +0000 Fix PR5024. LiveVariables physical register defs should *commit* only after all of the defs are processed. Also fix a implicit_def propagation bug: a implicit_def of a physical register should be applied to uses of the sub-registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82616 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29a1c10040effaa8c0968a3899b053b6b591a73a Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 23 05:23:19 2009 +0000 Fix a obvious logic error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82610 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3593be80c4db01a12d00222ccd196fb10ddc766 Author: Gabor Greif <ggreif@gmail.com> Date: Wed Sep 23 02:46:12 2009 +0000 pretty mechanical changes to match coding guidelines (blessed by sabre on IRC) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82603 91177308-0d34-0410-b5e6-96231b3b80d8 commit 03344a20c2a1d291282ead342f0bfb858909c7dc Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 23 02:03:49 2009 +0000 errorstr can be null, don't unconditionally set it. Only report that "the jit has not been linked in" if the interpreter failed. This fixes a unit test failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82601 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd0d937f2811e62d66743e588b0a2e0154af2411 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 23 01:46:04 2009 +0000 Make EngineBuilder return more error codes, by KS Sreeram. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82600 91177308-0d34-0410-b5e6-96231b3b80d8 commit 915d872b7a05774ea93ba7fbb25f0944d62e10fb Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 23 01:33:16 2009 +0000 Give MachineMemOperand an operator<<, factoring out code from two different places for printing MachineMemOperands. Drop the virtual from Value::dump and instead give Value a protected virtual hook that can be overridden by subclasses to implement custom printing. This lets printing be more consistent, and simplifies printing of PseudoSourceValue values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82599 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17f460a7f0b06133486bf897cc67373e07687bf2 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 23 01:29:41 2009 +0000 Fix X86's unfoldMemoryOperand to properly handle MachineMemOperands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82597 91177308-0d34-0410-b5e6-96231b3b80d8 commit 069f1c9642c471d827cfaaca98f31aef707464ee Author: Mike Stump <mrs@apple.com> Date: Wed Sep 23 00:13:30 2009 +0000 This is overly constraining with respect to clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82591 91177308-0d34-0410-b5e6-96231b3b80d8 commit efb268acfd0ecf9b39a555267393058e685030fb Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Tue Sep 22 21:15:19 2009 +0000 Add examples for Kaleidoscope chapters 2 through 6. Conflicts: examples/Makefile git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82574 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a20265022d36c31bdf7c4f041b10695bcb09c45 Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Tue Sep 22 21:15:00 2009 +0000 Rename Kaleidoscope to show that it's for Chapter 7 of the tutorial. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82573 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb577b0367500de745082228b0a1569365ecc68c Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Tue Sep 22 21:14:49 2009 +0000 Sync c++ kaleidoscope tutorial with test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82572 91177308-0d34-0410-b5e6-96231b3b80d8 commit 191278d73343733b56e030ace8f6a9dcdf08818a Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 22 20:56:31 2009 +0000 Add SetLocation() to allow IRBuilder user to set location info for an instruction already created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82570 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ffdd0e9c3eb03b473ddf666c885cecbc15f8df7 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 22 20:54:13 2009 +0000 Check exisiting dbg MDKind first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82568 91177308-0d34-0410-b5e6-96231b3b80d8 commit d80fa7f67d06ef47913578a8212be349722a9df5 Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Sep 22 18:50:03 2009 +0000 No need to verify that malloc's return type is i8*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82561 91177308-0d34-0410-b5e6-96231b3b80d8 commit cc74792c99e085a14bdd6db9edea362b465406da Author: David Goodwin <david_goodwin@apple.com> Date: Tue Sep 22 16:47:52 2009 +0000 Use early returns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82554 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f854de1b687e0906e7521393f1fa176e4b15b52 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 16:33:42 2009 +0000 Revert "Don't allow formatted_ostream to be unbuffered, even if its underlying buffer", while we work out a solution. Dan convinced me that making debugging annoying for him is worse than 10x being slower for me. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82553 91177308-0d34-0410-b5e6-96231b3b80d8 commit f54515d6770a86c4268b41a60a9536b4993e6400 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 16:10:35 2009 +0000 ... missed hiding a variable for MSVC only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82552 91177308-0d34-0410-b5e6-96231b3b80d8 commit 441722f4b863b8b9ac8410c2c36217596252dbd6 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 15:58:35 2009 +0000 Hide MSVC specific CRT interaction behind _MSC_VER. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82551 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed6353b87ccbbf7ddaa63a25bfad14afc3079da0 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Sep 22 15:40:32 2009 +0000 Remove the GetProcessId() call from Win32/Program.inc, take 2. GetProcessId() was introduced only in Windows XP, and we want to support earlier versions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82548 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2d3000deec82fd0c808af98c089e5eb628ef47b Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 10:30:34 2009 +0000 Fix commento. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82544 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6463aedb7b4da91f81362b039b697ee0fed50312 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 09:50:38 2009 +0000 lit: When executing shell scripts internally, don't allow piped stderr on any commands except the last one, instead redirect the stderr to a temporary file. This sidesteps a potential deadlocking issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82538 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e57bc8dcf0be1c58fdb06bb83c34b140b9074fa Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 09:50:28 2009 +0000 Add a magic LLVM_DISABLE_CRT_DEBUG environment variable which we check in RegisterHandler and use to disable the Win32 crash dialogs. These are a major blocker to any kind of automated testing. Also, tweak the 'lit' test runner to set this variable unconditionally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82537 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff8e568bb5c578639e690ba4e2f0499f3dd78b46 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 22 08:47:59 2009 +0000 Forgot this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82536 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd216d523e696749d681faca9f3bda92b13cd695 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 22 08:34:46 2009 +0000 Fix PR5024. LiveVariables::FindLastPartialDef should return a set of sub-registers that were defined by the last partial def, not just a single sub-register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82535 91177308-0d34-0410-b5e6-96231b3b80d8 commit a4acff7bb0d00b82a152fe067335260a42b5cab1 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 07:38:44 2009 +0000 Initial support for running LLVM tests from cmake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82534 91177308-0d34-0410-b5e6-96231b3b80d8 commit a018c74c2f4f93f08050ac2dc1c616f8b106dc39 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 07:38:33 2009 +0000 Generate lit.site.cfg from a .in file, as clang does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82533 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd2674d181e3edb1700721bed54e790cd9c5f4a7 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 07:38:23 2009 +0000 Use Compiler.h macro instead of __attribute__. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82532 91177308-0d34-0410-b5e6-96231b3b80d8 commit b7784533131d4921046a46a406b1e198863e6d11 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 06:09:37 2009 +0000 CMake: Fix definition of LTDL_SHLIB_EXT for Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82530 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4e0f91cc54f6399b3e9be19a12aaa4dcbfffaff Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 06:09:31 2009 +0000 Fix llvm-config --src-root and --obj-root for CMake builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82529 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2be1b773bb528a793ed59869ad275ac74aad2b77 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 06:09:22 2009 +0000 llvm-config: Remove unused variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82528 91177308-0d34-0410-b5e6-96231b3b80d8 commit 346a7bb311e53d4af9e8dd3063b10e7323e31c95 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 06:09:13 2009 +0000 Actually use the arguments with the resolved executable path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82527 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0dfef16716fc2c26777f8404c8fa073cd42bc57e Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 04:44:56 2009 +0000 Revert "Get rid of GetProcessId in Win32/Program.inc.", this breaks ExecuteAndWait. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82522 91177308-0d34-0410-b5e6-96231b3b80d8 commit dce584a533e962394daa5fa66065ddb344467c47 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 04:44:37 2009 +0000 lit: Don't use close_fds=True on Windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82521 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5e3ec7946254a90b806176d1868ca919da6c35f Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 04:44:26 2009 +0000 lit: When executing commands internally, perform PATH resolution ourselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82520 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4cf9e690c5df0d90fdada4eabd3b203e4e906325 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 03:34:53 2009 +0000 Switch FoldingSet::AddString to StringRef based API. - This also fixes a dereference of std::string::end, which makes MSVC unhappy and was causing all the static analyzer clang tests to fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82517 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa985152c3d160701fa55af97f598a478c3a456e Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 03:34:40 2009 +0000 Workaround what I believe is an MSVC bug where it emits a definition for a static const class member into each translation unit, with external linkage??? - If someone understands this issue better, please clue me in, I haven't consulted the standard yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82516 91177308-0d34-0410-b5e6-96231b3b80d8 commit c27a50855925ba7455c4049398c80db45fcef36a Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 02:03:18 2009 +0000 Switch DIDescriptor to use a TrackingVH. - This makes it much safer to work with debug info, since it was extraordinarily easy to have dangling pointers thanks to MDNode uniquing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82507 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f912e5070e7e43b4bd9def2d9f1038254c5806c Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 22 02:02:33 2009 +0000 Add a TrackingVH value handle. This is designed for tracking a value even when it might move (like WeakVH), but it is an error to delete the referenced value (unlike WeakVH0. TrackingVH is templated like AssertingVH on the tracked Value subclass, it is an error to RAUW a tracked value to an incompatible type. For implementation reasons the latter error is only diagnosed on accesses to a mis-RAUWed TrackingVH, because we don't want a virtual interface in a templated class. The former error is also only diagnosed on access, so that clients are allowed to delete a tracked value, as long as they don't use it. This makes it easier for the client to reason about destruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82506 91177308-0d34-0410-b5e6-96231b3b80d8 commit b6d716f620ad28e540c2a262504ebaeff6461b3f Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 22 01:48:19 2009 +0000 Fix a pasto. Also simplify for Bill's benefit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82505 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb21e377d210da64284a7e52ca694e0f42b5062d Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 22 00:29:40 2009 +0000 Minor bug fix. LowerSubregs should translate %S0<def> = EXTRACT_SUBREG %Q0<kill>, 1 to %S0<def> = IMPLICIT_DEF %Q0<imp-use,kill> Implicit_def does not *read* any register so the operand should be marked "implicit". The missing "implicit" marker on the operand is wrong, but it doesn't actually break anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82503 91177308-0d34-0410-b5e6-96231b3b80d8 commit 321b572fd6b43198d21fe25f1a5ae5d5e8af50bf Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 22:39:35 2009 +0000 Fix PR5023: The instruction form of DominatorTree::dominates did not take into consideration that the result of an invoke is only valid in the normal dest, not the unwind dest. This caused 'PHINode::hasConstantValue' to return true in an invalid situation, causing mem2reg to delete a phi that was actually needed. This caused a crash building 483.xalancbmk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82491 91177308-0d34-0410-b5e6-96231b3b80d8 commit b171ff4d2cc5feb820dee24b5e6ad004493b8576 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 22:30:50 2009 +0000 move DominatorTree::dominates for instructions out of line, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82490 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5456988b7e38012abf0b14767f0752f87520a44 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 22:27:34 2009 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82489 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e683894a5d61beccb7a58ffa70be000eee12a73 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 22:26:02 2009 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82488 91177308-0d34-0410-b5e6-96231b3b80d8 commit b9bbb5795a133c6cca6a5ac4e5ab110016d4e7c1 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Sep 21 21:12:25 2009 +0000 Clean up spill weight computation. Also some changes to give loop induction variable increment / decrement slighter high priority. This has major impact on some micro-benchmarks. On MultiSource/Applications and spec tests, it's a minor win. It also reduce 256.bzip instruction count by 8%, 55 on 164.gzip on i386 / Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82485 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35d4912e3b08a8a2d0e01c0ef8b23407f8efa8db Author: David Goodwin <david_goodwin@apple.com> Date: Mon Sep 21 20:52:17 2009 +0000 Add Cortex-A8 VFP model. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82483 91177308-0d34-0410-b5e6-96231b3b80d8 commit 169948d4180417313f5332b85d2572520592de3c Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 21 19:47:04 2009 +0000 Change MachineMemOperand's alignment value to be the alignment of the base pointer, without the offset. This matches MemSDNode's new alignment behavior, and holds more interesting information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82473 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47b5330a18b00883f10807c53120a57127cc0703 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 21 18:32:20 2009 +0000 Add a comment mentioning the rdar number associated with this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82471 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51dbce6a853d1b2bc8084b18e741a666e7c83548 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 21 18:30:38 2009 +0000 Add support for rematerializing FsFLD0SS and FsFLD0SD as constant-pool loads in order to reduce register pressure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82470 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1948855617427c57a974e270f9fb21fb20b46420 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 21 18:03:22 2009 +0000 Recognize SSE min and max opportunities in even more cases. And fix a bug with the behavior of min/max instructions formed from fcmp uge comparisons. Also, use FiniteOnlyFPMath() for this code instead of UnsafeFPMath, as it is more specific. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82466 91177308-0d34-0410-b5e6-96231b3b80d8 commit e57ba8991a2b71698d70928e66b8baff012b163c Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 21 17:58:09 2009 +0000 Fix the offset values for these memoperands. For frame objects, the PseudoSourceValue already effectively represents the offset from the frame base, so the actual offset should not be added to it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82465 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1846fa00f3590637b7d8dbfc0f5c2254bd42436f Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 17:55:47 2009 +0000 big endian systems shift by bits too, hopefully this will fix the ppc bootstrap problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82464 91177308-0d34-0410-b5e6-96231b3b80d8 commit 55a622f7da7cdbc88190bb100cafd60127abf0ec Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 21 17:54:42 2009 +0000 Nick pointed out that DominanceFrontier and DominanceTree are preserved by setPreservesCFG(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82463 91177308-0d34-0410-b5e6-96231b3b80d8 commit b350b3d81e6b7df211447f0bc54b4493af9aa444 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 21 17:53:35 2009 +0000 Remove the special-case for constants in PHI nodes; it's not really helpful, and it didn't correctly handle the case of constants input to PHIs for backedges. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82462 91177308-0d34-0410-b5e6-96231b3b80d8 commit 012b360d60c62c975af276d9a04fcfd79cf3ac9c Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 17:24:04 2009 +0000 fix PR5016, a crash I introduced in GVN handing first class arrays and structs, which cannot be bitcast to integers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82460 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8435ab1c698f403ef565764e458c7dceb70b0495 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Sep 21 15:53:44 2009 +0000 Use raw_ostream::indent instead of passing strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82456 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30a8d480ddd031f85b3386db7ccfe11e027b525c Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 21 15:18:33 2009 +0000 Fix this assertion string to mention subreg_to_reg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82455 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56b9fc1caef68a302d561472c1691ded886efd56 Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Mon Sep 21 14:11:56 2009 +0000 initialize SymbolsCanStartWithDigit to false by default git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82454 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce08ae8748979ca3ca4a0048ebc610602a76bedc Author: Xerxes Ranby <xerxes@zafena.se> Date: Mon Sep 21 08:08:29 2009 +0000 Update cmake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82449 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8314a42c92bd21ecfa700da8cbe60b6818caba33 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Mon Sep 21 07:19:08 2009 +0000 Verify that phi instructions refer to MBBs in the CFG. The machine code verifier no longer tolerates phi instructions with noop operands. All MBBs on a phi instruction must be in the CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82448 91177308-0d34-0410-b5e6-96231b3b80d8 commit aae7fcb7114258c6d289601bf0d68a25aeabf5d5 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 06:48:08 2009 +0000 enable non-local analysis and PRE of large store -> little load. This doesn't kick in too much because of phi translation issues, but this can be resolved in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82447 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19b84b380a7341297af6636f8e58373046be7d4b Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 06:30:24 2009 +0000 convert an std::pair to an explicit struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82446 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f91208a30c55c3619cc1ffd1abc1ca41a2ac556 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 06:24:16 2009 +0000 move some functions, add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82444 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41eb59cc4d3718b4c640a3746b31f5253dcca243 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 06:22:46 2009 +0000 split HandleLoadFromClobberingStore in two pieces: one that does the analysis, one that does the xform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82443 91177308-0d34-0410-b5e6-96231b3b80d8 commit c62f2aa0f8d92120fa45a27b97301b173b092ac4 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 06:04:07 2009 +0000 add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82442 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98cb5536ab1aa5667bb5b602bf691631f3bbaffc Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 21 05:58:35 2009 +0000 Register the MachineModuleInfo for the ARM JIT, and update JITDwarfEmitter to assert if the setModuleInfo hasn't been called. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82441 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7932c5775e79a332b5cb036e71995d4738eb7fe9 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 05:57:47 2009 +0000 add pr# git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82440 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0907b520a0b293e15a6296de4c37d0a44b40306d Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 05:57:11 2009 +0000 Improve GVN to be able to forward substitute a small load from a piece of a large store when both are in the same block. This allows clang to compile the testcase in PR4216 to this code: _test_bitfield: movl 4(%esp), %eax movl %eax, %ecx andl $-65536, %ecx orl $32962, %eax andl $40186, %eax orl %ecx, %eax ret This is not ideal, but is a whole lot better than the code produced by llvm-gcc: _test_bitfield: movw $-32574, %ax orw 4(%esp), %ax andw $-25350, %ax movw %ax, 4(%esp) movw 7(%esp), %cx shlw $8, %cx movzbl 6(%esp), %edx orw %cx, %dx movzwl %dx, %ecx shll $16, %ecx movzwl %ax, %eax orl %ecx, %eax ret and dramatically better than that produced by gcc 4.2: _test_bitfield: pushl %ebx call L3 "L00000000001$pb": L3: popl %ebx movl 8(%esp), %eax leal 0(,%eax,4), %edx sarb $7, %dl movl %eax, %ecx andl $7168, %ecx andl $-7201, %ebx movzbl %dl, %edx andl $1, %edx sall $5, %edx orl %ecx, %ebx orl %edx, %ebx andl $24, %eax andl $-58336, %ebx orl %eax, %ebx orl $32962, %ebx movl %ebx, %eax popl %ebx ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82439 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c3fd1da0082f74a5e7cb3b6b5501a67bf0097bf Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 05:52:45 2009 +0000 add a helper method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82438 91177308-0d34-0410-b5e6-96231b3b80d8 commit a32393f6bbe778ea5f6960bc67c34176ce769198 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Sep 21 04:32:32 2009 +0000 Fix PR4986. "r1024 = insert_subreg r1024, undef, 2" cannot be turned in an implicit_def. Instead, it's an identity copy so it should be eliminated. Also make sure to update livevariable kill information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82436 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd66f1607e2c9e866c66fdb4b1feb9a15718075b Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 21 03:56:00 2009 +0000 Don't allow formatted_ostream to be unbuffered, even if its underlying buffer is. - The problem is that formatted_ostream forces its underlying buffer to be unbuffered, so if some client happens to wrap a formatted_ostream around something, but still use the underlying stream, then we can end up writing on a fully unbuffered output (which was never intended to be unbuffered). - This makes clang (and presumably llvm-gcc) -emit-llvm -S a mere 10x faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82434 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51481994a6a57871da58724cd6b9aa249833c4f8 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 02:53:57 2009 +0000 one case handled, expanded another testcase inline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82427 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff36c95843e4cc7402357d937d848e729d022ff6 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 02:42:51 2009 +0000 formatting cleanups, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82426 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3453185664bae401dc32f9c8744c0fa9590f9716 Author: Reid Kleckner <reid@kleckner.net> Date: Mon Sep 21 02:34:59 2009 +0000 Add documentation on how to use enable debug information in the JIT and use it with GDB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82425 91177308-0d34-0410-b5e6-96231b3b80d8 commit ec3c4b93ee43cac3749ade851f57a1863de06eb5 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 21 02:30:42 2009 +0000 fix a FileCheck bug where: ; CHECK: foo ; CHECK-NOT: foo ; CHECK: bar would always fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82424 91177308-0d34-0410-b5e6-96231b3b80d8 commit 096f10a51b037861069e280020dd2967fdce6b6e Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 21 00:05:30 2009 +0000 Move ARM and X86 specific AsmParser tests into separate subdirectories, and only run if appropriate target is supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82419 91177308-0d34-0410-b5e6-96231b3b80d8 commit 738b4f2a7d37600af45fc6a5515d5a5be175d19e Author: Reid Kleckner <reid@kleckner.net> Date: Sun Sep 20 23:52:43 2009 +0000 Implement the JIT side of the GDB JIT debugging interface. To enable this feature, either build the JIT in debug mode to enable it by default or pass -jit-emit-debug to lli. Right now, the only debug information that this communicates to GDB is call frame information, since it's already being generated to support exceptions in the JIT. Eventually, when DWARF generation isn't tied so tightly to AsmPrinter, it will be easy to push that information to GDB through this interface. Here's a step-by-step breakdown of how the feature works: - The JIT generates the machine code and DWARF call frame info (.eh_frame/.debug_frame) for a function into memory. - The JIT copies that info into an in-memory ELF file with a symbol for the function. - The JIT creates a code entry pointing to the ELF buffer and adds it to a linked list hanging off of a global descriptor at a special symbol that GDB knows about. - The JIT calls a function marked noinline that GDB knows about and has put an internal breakpoint in. - GDB catches the breakpoint and reads the global descriptor to look for new code. - When sees there is new code, it reads the ELF from the inferior's memory and adds it to itself as an object file. - The JIT continues, and the next time we stop the program, we are able to produce a proper backtrace. Consider running the following program through the JIT: #include <stdio.h> void baz(short z) { long w = z + 1; printf("%d, %x\n", w, *((int*)NULL)); // SEGFAULT here } void bar(short y) { int z = y + 1; baz(z); } void foo(char x) { short y = x + 1; bar(y); } int main(int argc, char** argv) { char x = 1; foo(x); } Here is a backtrace before this patch: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x2aaaabdfbd10 (LWP 25476)] 0x00002aaaabe7d1a8 in ?? () (gdb) bt #0 0x00002aaaabe7d1a8 in ?? () #1 0x0000000000000003 in ?? () #2 0x0000000000000004 in ?? () #3 0x00032aaaabe7cfd0 in ?? () #4 0x00002aaaabe7d12c in ?? () #5 0x00022aaa00000003 in ?? () #6 0x00002aaaabe7d0aa in ?? () #7 0x01000002abe7cff0 in ?? () #8 0x00002aaaabe7d02c in ?? () #9 0x0100000000000001 in ?? () #10 0x00000000014388e0 in ?? () #11 0x00007fff00000001 in ?? () #12 0x0000000000b870a2 in llvm::JIT::runFunction (this=0x1405b70, F=0x14024e0, ArgValues=@0x7fffffffe050) at /home/rnk/llvm-gdb/lib/ExecutionEngine/JIT/JIT.cpp:395 #13 0x0000000000baa4c5 in llvm::ExecutionEngine::runFunctionAsMain (this=0x1405b70, Fn=0x14024e0, argv=@0x13f06f8, envp=0x7fffffffe3b0) at /home/rnk/llvm-gdb/lib/ExecutionEngine/ExecutionEngine.cpp:377 #14 0x00000000007ebd52 in main (argc=2, argv=0x7fffffffe398, envp=0x7fffffffe3b0) at /home/rnk/llvm-gdb/tools/lli/lli.cpp:208 And a backtrace after this patch: Program received signal SIGSEGV, Segmentation fault. 0x00002aaaabe7d1a8 in baz () (gdb) bt #0 0x00002aaaabe7d1a8 in baz () #1 0x00002aaaabe7d12c in bar () #2 0x00002aaaabe7d0aa in foo () #3 0x00002aaaabe7d02c in main () #4 0x0000000000b870a2 in llvm::JIT::runFunction (this=0x1405b70, F=0x14024e0, ArgValues=...) at /home/rnk/llvm-gdb/lib/ExecutionEngine/JIT/JIT.cpp:395 #5 0x0000000000baa4c5 in llvm::ExecutionEngine::runFunctionAsMain (this=0x1405b70, Fn=0x14024e0, argv=..., envp=0x7fffffffe3c0) at /home/rnk/llvm-gdb/lib/ExecutionEngine/ExecutionEngine.cpp:377 #6 0x00000000007ebd52 in main (argc=2, argv=0x7fffffffe3a8, envp=0x7fffffffe3c0) at /home/rnk/llvm-gdb/tools/lli/lli.cpp:208 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82418 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11c06f4536a6ced3db546b5c7b07ff75047a302c Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 20 23:30:31 2009 +0000 Work around a FileCheck bug, for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82416 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc1c1435324c8b816a1174dd8b6b177f420d6ba8 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:56:43 2009 +0000 simplify as daniel suggests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82415 91177308-0d34-0410-b5e6-96231b3b80d8 commit a094468e10fe4f091e7d907293becbdcfbd6427e Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:54:26 2009 +0000 write rfind in terms of npos as daniel requested git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82414 91177308-0d34-0410-b5e6-96231b3b80d8 commit 637012fa510c7edf6b964a351eb3f265ed799674 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:46:42 2009 +0000 remove a dead method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82413 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3472feab21a77560d266b6ff1a24c5e56a99fb42 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:45:18 2009 +0000 grammaro git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82412 91177308-0d34-0410-b5e6-96231b3b80d8 commit c911446f73dd4b9d08d33002826f4abb660c8f0a Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:44:26 2009 +0000 Revert r82404, it is causing a bootstrap miscompile. This is very very scary, as it indicates a lurking bug. yay. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82411 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01467f6f77e9ac0cf6529a6859557def9b7a8c89 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:42:44 2009 +0000 rewrite CountNumNewlinesBetween to be in terms of StringRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82410 91177308-0d34-0410-b5e6-96231b3b80d8 commit 873602b157d1fbdf0c325f03ec7d1845536286e9 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:36:11 2009 +0000 this was not supposed to be committed git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82409 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d82c7077aaeb545a95fc782af1d742ea4a76016 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:35:26 2009 +0000 implement and document support for CHECK-NOT git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82408 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f850d129178bcf88a47450425f40adac1ed1dbb Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 22:11:44 2009 +0000 rewrite FileCheck in terms of StringRef instead of manual pointer pairs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82407 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1e45469b47ce54ae561ac4e1ab5369e5c5d73ec Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 21:00:18 2009 +0000 improve memdep to eliminate bitcasts (and aliases, and noop geps) early for the stated reasons: this allows it to find more equivalences and depend less on code layout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82404 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6b1d05df6e52b543bc7a580ae50876b1c75e1ba Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 20:09:34 2009 +0000 Move CoerceAvailableValueToLoadType earlier in GVN.cpp. Hook it up so that nonlocal and partially redundant loads can use it as well. The testcase shows examples of craziness this can handle. This triggers *many* times in 176.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82403 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3de5c8cdc9d2dbeb463861ec0754ba9d22f3e821 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 19:31:14 2009 +0000 change the interface to CoerceAvailableValueToLoadType to be more generic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82402 91177308-0d34-0410-b5e6-96231b3b80d8 commit a266ec3f6128ce246bc5616f23810d74d7189676 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 20 19:04:28 2009 +0000 Teach 'make check-all' to build the site configuration for clang, if it is in tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82400 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7741aa5bd6c283df1435bc6c140ebc5dac40327c Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 19:03:47 2009 +0000 enhance GVN to forward substitute a stored value to a load (and load -> load) when the base pointers must alias but when they are different types. This occurs very very frequently in 176.gcc and other code that uses bitfields a lot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82399 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7acce9445f10d7ddea1480a477473ce0ca92a1b0 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 17:37:38 2009 +0000 update an entry, delete an entry which has been fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82398 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c220f60be3a50de7fd2a5c491ccfa63c5d3a342 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 17:32:21 2009 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82397 91177308-0d34-0410-b5e6-96231b3b80d8 commit dac97dab11fffaae623be1d4bd2a0c2e249a5c54 Author: Bill Wendling <isanbard@gmail.com> Date: Sun Sep 20 09:13:15 2009 +0000 --- Reverse-merging r82282 into '.': U lib/CodeGen/AsmPrinter/DwarfException.cpp U lib/CodeGen/AsmPrinter/DwarfException.h --- Reverse-merging r82274 into '.': U lib/Target/TargetLoweringObjectFile.cpp G lib/CodeGen/AsmPrinter/DwarfException.cpp These revisions were breaking everything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82396 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0544b677b4974c107db08d19d419ce3a5703478 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:47:59 2009 +0000 remove a temporary hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82395 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf4b6a8e534c6934d3f702cb8d15e727096aabfb Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:41:30 2009 +0000 rename X86ATTAsmPrinter.cpp -> X86AsmPrinter.cpp likewise the .h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82394 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8ef9fecee83d80f51ef84e4ccfb1aff73d965c4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:39:06 2009 +0000 move target registry stuff to X86ATTAsmPrinter.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82393 91177308-0d34-0410-b5e6-96231b3b80d8 commit 937948b3621332a2bbd8b1ca414fbb04b89e65a8 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:37:51 2009 +0000 simplify this now that createX86CodePrinterPass is trivial git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82392 91177308-0d34-0410-b5e6-96231b3b80d8 commit 477b9ac19d813b317e3b90ebfdffa1953d4e1261 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:35:34 2009 +0000 rename X86ATTAsmPrinter class -> X86AsmPrinter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82391 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2aa10dafe6b2eeccc73dda8817d0eebce9481c63 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:32:00 2009 +0000 remove the asmstring, it is now dead. Improve comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82390 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5086a10b582cf8d9f0f1ac4d7569c24d260092c8 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 07:31:25 2009 +0000 Peer through zext and sext to eliminate them when it is safe to do so. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82389 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7e959d869e698bf1b8d22044d96655632f6072e Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:28:26 2009 +0000 kill off printPICLabel now, it's specialness is handled by the MachineInstr ->MCInst lowering process, not in the asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82388 91177308-0d34-0410-b5e6-96231b3b80d8 commit 548587879c1ca975c31cfa7a2e93d2778270d8ce Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:25:17 2009 +0000 delete X86IntelAsmPrinter! Now -x86-asm-syntax just switches the instruction syntax, not the entire asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82387 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfef6a6a359626560bb9ce090df8895dbc898b00 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 07:21:39 2009 +0000 Fold 'icmp eq (icmp), true' into an xor(icmp). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82386 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6153b455d4f5ef8514356fbfbbeae0f2281ad77 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:17:49 2009 +0000 Add an intel syntax MCInstPrinter implementation. You can now transcode from AT&T to intel syntax with "llvm-mc foo.s -output-asm-variant=1" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82385 91177308-0d34-0410-b5e6-96231b3b80d8 commit a77caae2f50e84a6e1b6e084709806b65680b005 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 07:16:54 2009 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82384 91177308-0d34-0410-b5e6-96231b3b80d8 commit 241fa24501d56a9fc02373cb38d1ef53cc155bef Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 07:00:24 2009 +0000 Rewrite this check so that it checks what it's supposed to and doesn't use CHECK-NOT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82383 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc71ac06870a72ae5c040e28f30c8064db85af48 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 06:58:54 2009 +0000 eliminate a use of strtoul. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82382 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14267fcd04c922b6c52d7b9bb474479e5bf57889 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 06:45:52 2009 +0000 split random COFF asmprinter state out to X86COFFMachineModuleInfo.h. Make dllexport directives come out in determinstic order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82381 91177308-0d34-0410-b5e6-96231b3b80d8 commit 81f952d11efbfddff01ceacd0a1a98d11b6aaeb5 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 06:27:35 2009 +0000 Correct the comment; this applies to fcmp too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82380 91177308-0d34-0410-b5e6-96231b3b80d8 commit dbcffe8712043251db8648cfa350b2f1e09084e9 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 06:26:34 2009 +0000 Remove tab, again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82379 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9c524ea42f9ed437369879c709b95f24bd3a4e8 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 06:24:51 2009 +0000 Teach the constant folder how to not a cmpinst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82378 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4a6ac9ba8cd5339cb954d9830b1d2a06223355b Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 06:21:43 2009 +0000 smallvectorize getExtraOptionNames git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82377 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53f949e7a0b5841e5a497c3015709551729d7874 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 06:21:20 2009 +0000 add a helper method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82376 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d211b2bfbab124d05ce785a55bc3af0d067faf2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 06:18:38 2009 +0000 minor cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82375 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b6816d9f3b0fc2e47a458e07d63586aaaf8718f Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 20 06:17:21 2009 +0000 Add 'make check-all', which runs the LLVM tests along with the clang tests if its in the standard location. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82374 91177308-0d34-0410-b5e6-96231b3b80d8 commit 681869cb3d72675bb06147c36d9fb31fe8f1ad2e Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 20 06:17:12 2009 +0000 Follow googletest logic for suppressing warnings in unittests/UnitTestMain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82373 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8748d237cb2b4ae277921ccc08e54ad742745a6a Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:53:47 2009 +0000 strength reduce further StringRef-> const char*, saving another 620 bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82372 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4f150b44b10efd07b2a88484830602476bd8d7a Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 05:48:50 2009 +0000 Try turning icmp(bitcast(x), bitcast(y)) into icmp(bitcast(bitcast(x)), y) in the hopes that the two bitcasts will merge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82371 91177308-0d34-0410-b5e6-96231b3b80d8 commit a81653676cd5fc5e695af54399394225e8d89b79 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:48:01 2009 +0000 switch an std::string to StringRef, shaving 400 bytes off CommandLine.o git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82370 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd2115c7b222e57eda27fa44dc982fee783c338d Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 05:47:45 2009 +0000 Remove tabs I added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82369 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d9aff4829c7463923e2bb17aa34207cca892513 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:37:24 2009 +0000 the switch from std::map -> StringMap caused --help output to be in non-sorted order, restore the sort. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82368 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8240964bf2a87365923de9c21a98f84a29320bd Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:22:52 2009 +0000 eliminate the duplicate detection loop, moving it into the loop that populates the Opts vector in the first place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82367 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34bbc24fd05e08cb98ee66991995363c89fc9bd1 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:18:28 2009 +0000 Eliminate a masochistic "algorithm" loop, shrinking CommandLine.o from 71524->70700 bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82366 91177308-0d34-0410-b5e6-96231b3b80d8 commit ab754915527a90d5eb8a702cf656048f3e70d28d Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:15:12 2009 +0000 don't use count + insert, just do insert + failure. Also, instead of deleting from the middle of a vector, swap the last element in and pop_back. Also saves 330 bytes :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82365 91177308-0d34-0410-b5e6-96231b3b80d8 commit 97be18f541d7a7ddfc824f9318091edca672798f Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:12:14 2009 +0000 switch to SmallPtrSet instead of std::set, saving 1K from the release-asserts .o file (72900->71856). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82364 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78f024be77b8f3ded896be562c20f60aaea019e2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:06:23 2009 +0000 change an std::sort to an array_pod_sort call, shrinking CommandLine.o by 9%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82363 91177308-0d34-0410-b5e6-96231b3b80d8 commit d516d025a30f0e54aaf4a36bd56cbc992d6888a6 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 05:03:30 2009 +0000 Several changes together in a murky mess: 1. Change some "\n" -> '\n'. 2. eliminte some std::string's by using raw_ostream::indent. 3. move a bunch of code out of the main arg parser routine into a new static HandlePrefixedOrGroupedOption function. 4. Greatly simplify the implementation of getOptionPred, and make it avoid splitting prefix options at = when that doesn't match a non-prefix option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82362 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4de9f27fca2cc69c8313f1d2dfb06a92623c78b1 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 04:27:06 2009 +0000 Clean up the usage of evaluateICmpRelation's return value. Add another line to the ConstantExprFold test to demonstrate the GEPs may not wrap around in either the signed or unsigned senses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82361 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0a39c32b9db28f69a32be709fdfba69d7d00603 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 20 04:03:41 2009 +0000 Fix refacto, this code was expecting to stride past the argument prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82360 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43e136586bbd27519d726aec7d6b8234117ea3c7 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 20 04:03:34 2009 +0000 Strip trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82359 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90cc3b72cd886acc682e2a287b5b43638f723e28 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 20 04:03:25 2009 +0000 A few more tabs -> spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82358 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f7a3db50c589b634e884b5d1b2f426bc49afcd3 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 03:48:46 2009 +0000 Remove dead store by taking a guess at what Chris meant. I wasn't able to design a testcase that would tickle this behaviour. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82357 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9286265a3ee87750212828f753e362bc4b5ffa56 Author: Bill Wendling <isanbard@gmail.com> Date: Sun Sep 20 02:27:06 2009 +0000 Still one more thing wrong here... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82356 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3be44e69724c80460d2ef5abab22d802f78615cc Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 20 02:20:51 2009 +0000 Tabs -> spaces, and remove trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82355 91177308-0d34-0410-b5e6-96231b3b80d8 commit ab2f66670c4c8ecc8e62d989f9d9d9c6f62dc07b Author: Bill Wendling <isanbard@gmail.com> Date: Sun Sep 20 02:19:49 2009 +0000 Here's fun! It turns out that these filter functions can be internal. If they're internal, they shouldn't use the indirect pointer stuff. In the case of throw_rethrow_test, it was marked as 'internal' and calculated its own offset to its contents. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82354 91177308-0d34-0410-b5e6-96231b3b80d8 commit 216b5548a9287b2e8e3fd20594c20049ff9248ec Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 02:11:47 2009 +0000 Delete dead code. sext and zext can not turn integers into pointers. Further, the optimization described in the comment is only valid with target data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82353 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a5bcfcc0e41b0ef8933b974d1ec46665c19fcc4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 02:02:24 2009 +0000 convert argname to StringRef, simplifying LookupOption. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82352 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8168dd1312860814da3181fecb491b4c5500ba1 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 01:53:12 2009 +0000 convert 'Value' to StringRef which makes it easier to maintain the "null is unspecified, empty is empty" semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82351 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4627c688f7ab3c7951640cc658208826b32c63bd Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 01:49:31 2009 +0000 Change CommaSeparated processing to do it with StringRef instead of temporary std::strings. This requires StringRef'izing ProvideOption which I also did. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82350 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c7fc6353a4de5b87d9c22c5714818dfb8f8bf45 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 01:35:59 2009 +0000 Value* were never meant to be const. Removing constness from the constant folder removes a lot of const_casting and requires no changes to clang or llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82349 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17e5709887260f988fe94076ef18d967e0c6ade7 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 01:33:46 2009 +0000 rewrite ParseCStringVector in terms of stringref. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82348 91177308-0d34-0410-b5e6-96231b3b80d8 commit fadd584b7df635545dcd4bb33a3c64adbdad46e0 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 01:22:16 2009 +0000 move a couple non-trivial methods out of line, add new find_first_of/find_first_of methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82347 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ee921e886c157a1e6206867240c4314b5db5af7 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 01:11:23 2009 +0000 coding style cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82346 91177308-0d34-0410-b5e6-96231b3b80d8 commit 157229d5138579232650753d0514025858b01f8e Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 00:40:49 2009 +0000 convert a bunch more stuff to use StringRef. The ArgName arguments are now stringref because they may not be nul terminated. For options like -Lfoo this now avoids a O(n) temporary std::strings where N is the length of the string after -L. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82345 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f3b90b1b3b99b963b60b9ed53a67e09c202260f Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 00:38:28 2009 +0000 add size_t and a version of rfind that allows specification of where to scan from. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82343 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13c4b63b5151f9f9c434341c2ea43f4f34c2243b Author: Dale Johannesen <dalej@apple.com> Date: Sun Sep 20 00:36:41 2009 +0000 When computing live intervals for earlyclobber operands, we pushed the beginning of the interval back 1, so the interval would overlap with inputs that die. We were also pushing the end of the interval back 1, though, which means the earlyclobber didn't overlap with other output operands. Don't do this. PR 4964. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82342 91177308-0d34-0410-b5e6-96231b3b80d8 commit 747e01e815ec69962736f851866adbe28a27d8c8 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 20 00:07:40 2009 +0000 avoid a bunch of malloc thrashing for PositinoalVals by eliminating a std::vector and a bunch of std::string temporaries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82341 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f40f38b05cb2662351d1a917ecb5f830a0dba83 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 20 00:04:02 2009 +0000 Teach the constant folder how to handle a few simple i1 cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82340 91177308-0d34-0410-b5e6-96231b3b80d8 commit 717f77390b5d4bcbddecc414ce46a23abf684c01 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 19 23:59:02 2009 +0000 Avoid some temporary strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82339 91177308-0d34-0410-b5e6-96231b3b80d8 commit 60b7363a854bd53c30e474836e3a1e04ac2dc163 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 19 23:58:48 2009 +0000 add some more overloads of StringRef::getAsInteger for common and useful integer types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82338 91177308-0d34-0410-b5e6-96231b3b80d8 commit d867fb4396c8affcdb680108b43cb110b7d12db8 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 19 23:57:31 2009 +0000 add a simple c_str() method to SmallString. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82337 91177308-0d34-0410-b5e6-96231b3b80d8 commit a741cb48d356de1e0b27a212385e85fd521755b4 Author: Bill Wendling <isanbard@gmail.com> Date: Sat Sep 19 22:02:37 2009 +0000 Revert r82274. It's causing failures in the CINT2006 benchmarks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82336 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d62cb53f5055c4d43709228c30a2febc6495f48 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 19 20:40:28 2009 +0000 Prefer super class constructor to explicit initialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82335 91177308-0d34-0410-b5e6-96231b3b80d8 commit d36c7729ae080ee3721891794d3617080ddaf550 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 19 20:40:21 2009 +0000 Tabs -> spaces (really?) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82334 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19f1d447f73de5807acb64281df5d7acaa23ceeb Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 19 20:40:14 2009 +0000 Fix indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82333 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41716328c597656692f2189f47c7cc56120d2aa5 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 19 20:40:05 2009 +0000 Strip trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332 91177308-0d34-0410-b5e6-96231b3b80d8 commit 80b13b31a80b54768abc2da9f00a725209702816 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 19 20:39:50 2009 +0000 RHS of assignment should be const reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82331 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9229fdb0d591d22ad962dfb97d98d12ef56b5833 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Sep 19 20:30:26 2009 +0000 Remove the default value for ConstantStruct::get's isPacked parameter and update the code which was broken by this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82327 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2f35c54ff2c2ef8e03583a0bed0e15bd38426c1 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 19 19:47:14 2009 +0000 provide a "strtoull" operation that works on StringRef's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82322 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a5c6fab5776ded60bc45c264f5f22053062678b Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Sep 19 19:00:06 2009 +0000 Add a comment explaining why you would ever want to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82319 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47d05cbb759287986bb6223325b987caeda53a6e Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 19 18:55:05 2009 +0000 convert a bunch of std::strings to use StringRef. This should eliminate a massive number of temporary strings created when parsing a command line. More still left to eliminate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82318 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4980177e93ff0c3d02a6fa98a5c91e4b168d6c0c Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Sep 19 18:33:36 2009 +0000 Lett users of sparse propagation do their own thing with phi nodes if they want to. This can be combined with LCSSA or SSI form to store more information on a PHINode than can be computed by looking at its incoming values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82317 91177308-0d34-0410-b5e6-96231b3b80d8 commit d899f5970f3e1437cff128a7cf3331a8bcf599b9 Author: Duncan Sands <baldrick@free.fr> Date: Sat Sep 19 11:25:44 2009 +0000 The flag "--dot-cfg-only" is at the moment equivalent to the flag "--dot-cfg". It prints the content of all bbs, instead of printing empty bbs to make the CFG more readable. Fix this. Patch by Tobias Grosser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82315 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb57eefc4bd33cf3e83b2fb56a6b4fd7f4825bfa Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 19 10:09:15 2009 +0000 Fix funky comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82314 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4ae44e1230cc009186e73112ff34c4092dd5dafd Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 19 10:08:51 2009 +0000 Update comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82313 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48086603b0774317c5e35a38627e1c811c09f669 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Sep 19 10:01:45 2009 +0000 Try to speed up the slowest parts of the CommandLine library - Replace std::map<std::string with StringMap - Eliminate unnecessary std::string copies - ~10% speed-up for clang's testsuite on my machine (debug build) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82312 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5f3a54090af5d61d35de2158542ff76fc9ef053f Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 19 09:51:03 2009 +0000 Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82311 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48c3c54ceb1fbdcddac9f11a11163a44efe21f55 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Sep 18 22:35:49 2009 +0000 Enhance transform passes so that they apply the same tranforms to malloc calls as to MallocInst. Reviewed by Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82300 91177308-0d34-0410-b5e6-96231b3b80d8 commit 627f280adfd69bbf8e859de69b6807ae0c9effce Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 18 22:03:29 2009 +0000 remove an extraneous mem2reg pass early in the pipe. Since this is run after the 'standard function passes', SRoA was recently run. This saves a domfrontier construction. Thanks to Eli for noticing this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82291 91177308-0d34-0410-b5e6-96231b3b80d8 commit b215f0dab024efb9d46497a28404bcde2638e1a3 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 18 22:01:30 2009 +0000 reduce indentation by using an early exit, and add a comment, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82290 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d8662c4dfa69ff87d42037794cf6e6774c2c512 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Sep 18 21:43:11 2009 +0000 Fix a comment typo and some whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82285 91177308-0d34-0410-b5e6-96231b3b80d8 commit 764ce99aff6b5db12d99c31467c9e9b7c5612cf2 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Sep 18 21:42:44 2009 +0000 Fix a typo in an assertion message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82284 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98c415caf6f8e0eac9b9247fb782d6718430e288 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Sep 18 21:37:56 2009 +0000 Factor out label difference creation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82282 91177308-0d34-0410-b5e6-96231b3b80d8 commit 82f0ab64c43dcae28ed4f0cb4b8bb69df0b4561d Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Sep 18 21:34:51 2009 +0000 Enhance analysis passes so that they apply the same analysis to malloc calls as to MallocInst. Reviewed by Eli Friedman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82281 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c5ec3c11bd3283bfd8bbf7ce12bb81b8d3e3ed0 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 18 21:23:12 2009 +0000 Delete the label names from this test to make it less fragile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82276 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c065b334c41ba54d98ad45a6c5b4fdd60c06d2c Author: Bill Wendling <isanbard@gmail.com> Date: Fri Sep 18 21:14:36 2009 +0000 It's inefficient to have place the exception tables (which contain the LSDA) into the __DATA section. At launch time, dyld has to update most of the section to fix up the type info pointers. It's better to place it into the __TEXT section and use pc-rel indirect pointer encodings. Similar to the personality routine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82274 91177308-0d34-0410-b5e6-96231b3b80d8 commit d7dc983029cf293dd67637c27b92c04c0baf968b Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 18 21:02:19 2009 +0000 Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes. Not functionality change yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82273 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8cd2ec566b2bbfa3e07458bc0050af859676fcd4 Author: Shantonu Sen <ssen@apple.com> Date: Fri Sep 18 20:35:59 2009 +0000 Fix cmake build, which has a different -I that causes the "../foo" to not find the file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82270 91177308-0d34-0410-b5e6-96231b3b80d8 commit f283fb255f535d56d8cd5f86058ccf2359800e86 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 18 20:22:52 2009 +0000 Make a new X8632_MachoTargetObjectFile TLOF implementation whose getSymbolForDwarfGlobalReference is smart enough to know that it needs to register the stub it references with MachineModuleInfoMachO, so that it gets emitted at the end of the file. Move stub emission from X86ATTAsmPrinter::doFinalization to the new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook. The important thing here is that EmitEndOfAsmFile is called *after* the ehframes are emitted, so we get all the stubs. This allows us to remove a gross hack from the asmprinter where it would "just know" that it needed to output stubs for personality functions. Now this is all driven from a consistent interface. The testcase change is just reordering the expected output now that the stubs come out after the ehframe instead of before. This also unblocks other changes that Bill wants to make. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82269 91177308-0d34-0410-b5e6-96231b3b80d8 commit b611307c9730ae90448fcacfd8ee9d0d208cc3ee Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 18 20:17:03 2009 +0000 add a new hook to allow targets to splat stuff at the end of the file. Overriding doFinalization is pretty lame. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82268 91177308-0d34-0410-b5e6-96231b3b80d8 commit 899369d4ad9633b3fcf4aba63dc411ce1988ad75 Author: Dale Johannesen <dalej@apple.com> Date: Fri Sep 18 20:15:22 2009 +0000 Model the carry bit on ppc32. Without this we could move a SUBFC (etc.) below the SUBFE (etc.) that consumed the carry bit. Add missing ADDIC8, noticed along the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82266 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12e03298135939c9d40f25f5f762d9522ca352c2 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 18 19:59:53 2009 +0000 Add support for using the FLAGS result of or, xor, and and instructions on x86, to avoid explicit test instructions. A few existing tests changed due to arbitrary register allocation differences. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82263 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c8eecdb5aaa4e078ffa0a058219a54dbee98274 Author: Sean Callanan <scallanan@apple.com> Date: Fri Sep 18 19:35:23 2009 +0000 Added RCL and RCR (rotate left and right with a carry bit) instructions to the Intel instruction tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82260 91177308-0d34-0410-b5e6-96231b3b80d8 commit adc37616a0ed90c8d25360168e395653b8ad9bd5 Author: Devang Patel <dpatel@apple.com> Date: Fri Sep 18 19:26:43 2009 +0000 Write and read metadata attachments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82259 91177308-0d34-0410-b5e6-96231b3b80d8 commit 811ebe0ef3c476c5cbf04d6c2bf362f56a650eec Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Sep 18 19:20:02 2009 +0000 Update malloc call creation code (AllocType is now the element type of the malloc, not the resulting type). In getMallocArraySize(), fix bug in the case that array size is the product of 2 constants. Extend isArrayMalloc() and getMallocArraySize() to handle case where malloc is used as char array. Ensure that ArraySize in LowerAllocations::runOnBasicBlock() is correct type. Extend Instruction::isSafeToSpeculativelyExecute() to handle malloc calls. Add verification for malloc calls. Reviewed by Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82257 91177308-0d34-0410-b5e6-96231b3b80d8 commit 600abb363005c6b5abc9385b35c37720cb2eacbf Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 18 18:34:29 2009 +0000 duncan points out the EH selector values are signed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82245 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02897795c891a7e250d03153f391851189fb8f5b Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 18 18:31:37 2009 +0000 convert some stuff to StringRef to avoid temporary std::strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82244 91177308-0d34-0410-b5e6-96231b3b80d8 commit e5c11a87071a6afaac5df49fb5e552de1d2e5a9a Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 18 18:10:19 2009 +0000 add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82236 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e54f154ec3d950827ff8e29f01ca55ae958db0f Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 18 18:08:55 2009 +0000 This file can need access to the X86 instruction enums when the table exceeds 32-bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82235 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4dc36eb1b47ec2157748668fb71943f59711c909 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 18 17:48:05 2009 +0000 Fix a few more conversion warnings on 4.0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82232 91177308-0d34-0410-b5e6-96231b3b80d8 commit d852f4d69c40e8ad68c4eb43c38e82da068414bf Author: Mike Stump <mrs@apple.com> Date: Fri Sep 18 17:10:27 2009 +0000 Update to latest versions of config.guess and config.sub from http://savannah.gnu.org/projects/config git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82229 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3789f872b0ac8f9d22d99696164e04b664af90f6 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Sep 18 16:57:42 2009 +0000 Allow symbols to start from the digit if target requests it. This allows, e.g. pinning variables to specified absolute address. Make use of this feature for MSP430. This unbreaks PR4776. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82227 91177308-0d34-0410-b5e6-96231b3b80d8 commit 052e60d59a4f423089f1f088d0e1e7ac61bd5be7 Author: Nick Lewycky <nicholas@mxc.ca> Date: Fri Sep 18 16:46:16 2009 +0000 Stop using alloca. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82225 91177308-0d34-0410-b5e6-96231b3b80d8 commit 50514c7bab532bd061d9b97bcaf98b5e960653db Author: Xerxes Ranby <xerxes@zafena.se> Date: Fri Sep 18 09:50:00 2009 +0000 Revert r82214 completely to fix build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82218 91177308-0d34-0410-b5e6-96231b3b80d8 commit f3233f2b427e9abfbe1633a91e8e84e7bbb19b43 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 18 08:26:06 2009 +0000 Revert r82214. It broke 403.gcc on x86_64 / Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82215 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac00d566d4070167ca5aa1cb48f83fa55b1535b9 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 18 08:16:04 2009 +0000 Fix a bug in sdisel switch lowering code. When it updates the phi nodes in switch successor blocks, it can introduce multiple phi operands of the same value from different blocks (and may not be on the predecessor list). This can be seen on CodeGen/Generic/2006-09-06-SwitchLowering.ll. But it's not known to cause any real regression (but I have added an assertion for it now). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82214 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28c17afa6abed7695d7c148253631920458ee226 Author: Nick Lewycky <nicholas@mxc.ca> Date: Fri Sep 18 07:36:47 2009 +0000 Add newlines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82206 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed2ccedb5acf8e5b7f7932aa87f0b188856b894d Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 17 23:56:41 2009 +0000 make this testcase check darwin32 also git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82182 91177308-0d34-0410-b5e6-96231b3b80d8 commit f494e5b979e9a6d7f7f6db0d93dc10b4d1caa877 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 17 23:55:12 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82181 91177308-0d34-0410-b5e6-96231b3b80d8 commit b51aa3322dc54cc149250513132c30574b2e003c Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 17 23:54:54 2009 +0000 tolerate llvm.eh.selector.i64 on 32-bit systems and llvm.eh.selector.i32 on 64-bit systems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82180 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c5eea69ce28fd4909f68486bb97ad470e989575 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 17 23:54:26 2009 +0000 convert to filecheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82179 91177308-0d34-0410-b5e6-96231b3b80d8 commit ec1d9adb02b80de2a1e4219c271ca2cad2362000 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 17 23:42:06 2009 +0000 rename file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82178 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7fbb035781529abc1df7b4e4f6471dd977708e3b Author: Julien Lerouge <jlerouge@apple.com> Date: Thu Sep 17 23:27:10 2009 +0000 Use __attribute__((__used__)) if GCC >= 3.1 (seems to be the oldest GCC supporting this attribute). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82177 91177308-0d34-0410-b5e6-96231b3b80d8 commit 941264e406202121ddb019dffa5e1084819790c3 Author: Devang Patel <dpatel@apple.com> Date: Thu Sep 17 23:05:07 2009 +0000 A testcase! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82176 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91c792366e0bc38cb14028cd2068b92104f7db51 Author: Devang Patel <dpatel@apple.com> Date: Thu Sep 17 23:04:48 2009 +0000 Fix parsing of optional metadata for 'load', 'store' and 'alloc' instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82175 91177308-0d34-0410-b5e6-96231b3b80d8 commit c953c1da67f69a4698a7f5379775000e12599134 Author: John McCall <rjmccall@apple.com> Date: Thu Sep 17 20:35:18 2009 +0000 Fix a few places where PointerIntPair was using PointerLikeTypeTraits<PointerTy> instead of the PtrTraits provided. Allows PointerIntPair to contain a PointerUnion safely, as long as the bits add up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82163 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ca4b2cefc8cb9260b1467917e630ed7d7d1f6a2 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 17 20:12:05 2009 +0000 Add an svn:ignore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82162 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee62b0424d8c75617484b2d4a9383565044eb5aa Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 17 18:49:52 2009 +0000 pass machinemoduleinfo down into getSymbolForDwarfGlobalReference, currently unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82157 91177308-0d34-0410-b5e6-96231b3b80d8 commit c20e8bfb90176ee9cd27b027c11a3c8c9c117dd6 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 17 18:05:20 2009 +0000 Teach ScalarEvolution how to reason about no-wrap flags on loops where the induction variable has a non-unit stride, such as {0,+,2}, and there are expressions such as {1,+,2} inside the loop formed with or or add nsw operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82151 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47472be0fc842626bbc7103ca8c2d724c213d67e Author: Jim Grosbach <grosbach@apple.com> Date: Thu Sep 17 17:57:26 2009 +0000 grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82150 91177308-0d34-0410-b5e6-96231b3b80d8 commit 961e43f21b9c3565598054313e7b928b7d0bf656 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Sep 17 17:55:55 2009 +0000 grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82149 91177308-0d34-0410-b5e6-96231b3b80d8 commit dca235bfe8e20482ce3ad2a42dcf5897756314f2 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 17 17:46:53 2009 +0000 Another try at fixing compile warnings on 4.0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82148 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7af40ce842fb14e42581f038d12e76a969121e8 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Sep 17 14:51:57 2009 +0000 Initialize HasMetadata to zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82145 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0add5c53c467b953fb803c8c50e450eeb3a42bc9 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 17 06:37:07 2009 +0000 Remove test cases using -regalloc=simple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82130 91177308-0d34-0410-b5e6-96231b3b80d8 commit b21f415e57b24dbb1a962ddab5fd21ebaebc7d0d Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 17 05:48:07 2009 +0000 Remove simple regalloc. It has bit rotted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82127 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1581dc7e9c17c8c7e315d70e0b09e8b56b18f520 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 17 01:08:43 2009 +0000 add a version of the APFloat constructor that initializes to 0.0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82110 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7f012381f5d47bb4f8a5a4663311daee8692cbf Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 17 00:57:15 2009 +0000 Fix PR4910: Broken logic in coalescer means when a physical register liveness is being shortened, the sub-registers were not. The symptom is the register allocator could not find a free register for this particular test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82108 91177308-0d34-0410-b5e6-96231b3b80d8 commit 119fdf6a2815d88d5fdfc5ada6897c96c9f83a0d Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 17 00:14:44 2009 +0000 Some platforms may need malloc.h for alloca. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82100 91177308-0d34-0410-b5e6-96231b3b80d8 commit f955d34bbdbb3377d2e3dc4aa54219b01ba463bc Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 17 00:06:48 2009 +0000 Update CMake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82097 91177308-0d34-0410-b5e6-96231b3b80d8 commit 23f33d74e817e171decf3915781634cbe9b19a2a Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 16 22:59:28 2009 +0000 Added the LODS (load byte into register, usually as part string parsing) instructions to the Intel instruction tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82089 91177308-0d34-0410-b5e6-96231b3b80d8 commit d86d635d2831ee15f0e5bafb597d29f0318aaeb4 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Sep 16 22:38:48 2009 +0000 Add StringRef::{rfind, rsplit} git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82087 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2eddf5d5241b54e02b035b40f16ffa1e5effbe19 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 16 21:55:34 2009 +0000 Added the LAR (load segment access rights) instructions to the Intel instruction tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82084 91177308-0d34-0410-b5e6-96231b3b80d8 commit 503784b9ecdc71df54e3f2b58917b5970c6fcdf5 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 16 21:50:07 2009 +0000 Added the LOOP family of instructions to the Intel instruction tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82083 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11490dcdcd8a798d9d009bfb12a32ab069a0b530 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 16 21:11:23 2009 +0000 Added an alternate form of register-register CMP to the Intel instruction tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82081 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f7aeddf89537d10eebd50196576e3ec91d066e9 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 16 21:09:07 2009 +0000 Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82080 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0fbb00ae6d27128232f1c11550b70bddb6fa76d Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 16 20:39:11 2009 +0000 At iSel time, update DebugLoc based on debug info attached with an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82077 91177308-0d34-0410-b5e6-96231b3b80d8 commit a653f3541148079687b4c8b95e2dff2e1c91ad77 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 16 20:25:11 2009 +0000 Add a new pass for doing late hoisting of floating-point and vector constants out of loops. These aren't covered by the regular LICM pass, because in LLVM IR constants don't require separate instructions. They're not always covered by the MachineLICM pass either, because it doesn't know how to unfold folded constant-pool loads. This is somewhat experimental at this point, and off by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82076 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ba76818a6b3281b86c8391cc07aafe821ad45cb Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 16 20:21:17 2009 +0000 Print debug info attached with an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82075 91177308-0d34-0410-b5e6-96231b3b80d8 commit 94ef1628bb9b33484a3887a742fb4cc662b41fd8 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 16 20:20:44 2009 +0000 Expand vector floating-point conversions not supported by NEON. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82074 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a2d32471a3fdc8f274411142bc8bc22294fa470 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 16 19:18:41 2009 +0000 Now that llc can read .ll files directly, teach it to recognize .ll as an extension, so that the default output filename for foo.ll is foo.s, not foo.ll.s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82071 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5223bf761d1d6ee0641bf2644e25265e84801926 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 16 18:20:05 2009 +0000 Provide a way to extract location info from DILocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82064 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7464a698dfc9a4b4a42a303e71eb327768288463 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 16 18:18:06 2009 +0000 Parse debug info attached with an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82063 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9514eca3ca9a35a0f5fc01763f6556bec579cc0e Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 16 18:16:11 2009 +0000 Add an interface to attach debugging information with an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82062 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b1fad3ca2acec2db8d4c4545b8d5f74a2500b0f Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 16 18:09:00 2009 +0000 Add llvm::Metadata to manage metadata used in a context. This interface will be used to attach metadata with an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82060 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86776f75bfef82e33cbd7b9a63c1963b1dd1e7b8 Author: Kevin Enderby <enderby@apple.com> Date: Wed Sep 16 18:08:00 2009 +0000 Fixed some problems with the logic of parsing line comments by adding isAtStartOfComment and using that instead in two places where a loop to check if the char was in MAI.getCommentString(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82059 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01b83cfcffb62aea094d46d17348d592b0259825 Author: Kevin Enderby <enderby@apple.com> Date: Wed Sep 16 17:18:29 2009 +0000 Fix incorrect assert that should be a user error for code like 'mov $0, %%eax'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82054 91177308-0d34-0410-b5e6-96231b3b80d8 commit 09cf2b6d63c865ade854b6ec1cf62aecf9e9dcb2 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 16 16:50:24 2009 +0000 Change FoldPHIArgBinOpIntoPHI to decline folding if it would introduce two phis, similar to the FoldPHIArgGEPIntoPHI change. Also, delete some comments that don't reflect the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82053 91177308-0d34-0410-b5e6-96231b3b80d8 commit 77b713700c3d57b01ec3463dd873f546905a9f3c Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 16 16:33:59 2009 +0000 Fix the comment in this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82051 91177308-0d34-0410-b5e6-96231b3b80d8 commit e680e23e781542c39ba1501bee713dd3bf64ad09 Author: Xerxes Ranby <xerxes@zafena.se> Date: Wed Sep 16 14:36:35 2009 +0000 Make cmake generated llvm-config output correct JIT backend for non X86 targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82049 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ccaf3f7c56c9f3e7e3359165f387895a1cd5ffa Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Sep 16 11:43:12 2009 +0000 Don't sort the vector when it is empty. This should fix some expensive checking failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82040 91177308-0d34-0410-b5e6-96231b3b80d8 commit ec139a0819923967e3c2b8a8e5fafa8859056b8b Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 16 11:35:50 2009 +0000 Reapplied r81355 with the problems fixed. (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086737.html and http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086746.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82039 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f16e4059d7e325248642d3a8051d83bec4c7404 Author: Xerxes Ranby <xerxes@zafena.se> Date: Wed Sep 16 10:18:36 2009 +0000 updated lib/CodeGen/CMakeLists.txt to unbreak cmake build after r82018 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82038 91177308-0d34-0410-b5e6-96231b3b80d8 commit b072028405dca8e4fab7f655c7622c2578e9353a Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 16 09:26:52 2009 +0000 Preserve ProfileInfo during CodeGenPrepare. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82034 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4117b16b1ef23390d1f1bde4a3f0a1d29250f667 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 06:25:03 2009 +0000 move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinter and use MachineModuleInfoMachO instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82022 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3e800a55a04aae2d825fbcf5aed2102a68eaec5 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 06:04:53 2009 +0000 revert a hunk of r82018 that wasn't supposed to go in yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82020 91177308-0d34-0410-b5e6-96231b3b80d8 commit f8a575424917e1f0e6921529c7be86d8825f7778 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 06:03:48 2009 +0000 add a new MachineModuleInfoMachO class, which is the per-module stuff common across all macho targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82018 91177308-0d34-0410-b5e6-96231b3b80d8 commit 956017391974f44b14d1cb75e824e986841aeea6 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 05:42:12 2009 +0000 apparently russians are really hard to sort or something! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82016 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47d77721c88c70fa8cadbff68df8f2ac1e250e13 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 05:37:13 2009 +0000 I can sort, no really. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82015 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ee2b3f29d829ac1b99d97d943ffea955d5ee210 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 05:36:54 2009 +0000 make more clear since it is sorted by last name now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82014 91177308-0d34-0410-b5e6-96231b3b80d8 commit 520339201d5c16d1c03d3e129b4cc00cb1f4c1dd Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 05:36:07 2009 +0000 Doug is now the code owner for most of the Clang frontend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82013 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16fcdf9d05d09acde6146d531067fab0bf24f822 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 05:26:00 2009 +0000 the pointer MMI keeps will start out with object-file format specific stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82012 91177308-0d34-0410-b5e6-96231b3b80d8 commit 242f740dcbfc14d95a6eaf5305ca794d28df9a13 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 05:25:43 2009 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82011 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b658b8de70a1feabe23c000212d913d2816c7c0 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 05:20:33 2009 +0000 rearrange X86ATTAsmPrinter::doFinalization, making a scan of the global variable list only happen for COFF targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82010 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f22f97df2231f18b11b6fe1847dc51a4da98747 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 04:59:30 2009 +0000 Ted is christened as the owner of the clang static analyzer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82008 91177308-0d34-0410-b5e6-96231b3b80d8 commit 500fba8363dccdd3dd29495831e5d689ddc50c49 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 04:57:15 2009 +0000 remove the AsmPrinter::printMCInst hook hack now that we have MCInstPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82006 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0390a18ad30aa3ed70d39b98ded744755434fde Author: Shantonu Sen <ssen@apple.com> Date: Wed Sep 16 04:44:00 2009 +0000 fix cmake build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81999 91177308-0d34-0410-b5e6-96231b3b80d8 commit 253e466f7a96658151b4c89c871386ec401311a0 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 04:12:47 2009 +0000 use an accessor to simplify code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81997 91177308-0d34-0410-b5e6-96231b3b80d8 commit 63715c73c20ed0358d5774bb481c9437fd234f54 Author: Nate Begeman <natebegeman@mac.com> Date: Wed Sep 16 03:20:46 2009 +0000 Do not try and sink a load whose chain result has more than one use, when trying to create RMW opportunities in the x86 backend. This can cause a cycle to appear in the graph, since the other uses may eventually feed into the TokenFactor we are sinking the load below. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81996 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51b7a9968562cad4c543634dcf5b3e3ec1340611 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 16 02:57:13 2009 +0000 Added the ENTER instruction, which sets up a stack frame, to the Intel instruction tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81995 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca503e043f3871c7dd5254613b505f0f0e36c361 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 16 02:28:43 2009 +0000 Added the definitions for one-bit left shifts to the Intel instruction tables. The patterns will stay blank because ADD reg, reg is faster, but having the encoding available is useful for the disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81994 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37a534b8dca3f6890042845b8ebb50d47ffc2c08 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 16 02:01:52 2009 +0000 Don't sink gep operators through phi nodes if the result would require more than one phi, since that leads to higher register pressure on entry to the phi. This is especially problematic when the phi is in a loop header, as it increases register pressure throughout the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81993 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d64b2874ad916274fb18db31b1d898d58cb8076 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 16 01:54:38 2009 +0000 Removed a few instructions that were already covered by other definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81992 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8886dc29cd311a78fd1f672904fd9a3af51c883c Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 01:46:41 2009 +0000 Big change #1 for personality function references: Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding fields from MAI: they aren't part of the asm syntax, they are related to the structure of the object file. To replace their functionality, add a new TLOF::getSymbolForDwarfGlobalReference method which asks targets to decide how to reference a global from EH in a pc-relative way. The default implementation just returns the symbol. The default darwin implementation references the symbol through an indirect $non_lazy_ptr stub. The bizarro x86-64 darwin specialization handles the weird "foo@GOTPCREL+4" hack. DwarfException.cpp now uses this to emit the reference to the symbol in the right way, and this also eliminates another horrible hack from DwarfException.cpp: - if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL")) - O << "-" << MAI->getPCSymbol(); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73944d4e73d42ea7fcc2a3408c814a13c20c9b29 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Sep 16 01:34:52 2009 +0000 lit: Add a custom test format for use in clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81987 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0da556cc3eeeac05071458f1544ef7ee05b5b65 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 01:29:11 2009 +0000 remove a dead variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81985 91177308-0d34-0410-b5e6-96231b3b80d8 commit af90e3e1f69396d48d549d968e969d1d181ee4b9 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 01:26:31 2009 +0000 add a helper method for creating MCSymbol and MCSymbolRefExpr at the same time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81984 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d5824cc4efb252b69c86e871e4835ece6e16975 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 16 01:13:52 2009 +0000 Added a variety of floating-point and SSE instructions. All of these do not have patterns (they're for the disassembler). Many of the floating-point instructions will probably be rolled into definitions that have patterns, and may eventually be superseded by mdefs. So I put them together and left a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81979 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57c76b5eea6a1b4202941a0c3e7d06f0a00c8485 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 00:35:39 2009 +0000 inline AsmPrinter::getCurrentFunctionEHName into its only caller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81970 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71dd44de32bd74e60887991c9f06ab3917229a52 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 16 00:32:15 2009 +0000 Expand some more vector operations not supported by Neon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81969 91177308-0d34-0410-b5e6-96231b3b80d8 commit e25bbf679b89aa172316ec349b4a541db246fde1 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 00:24:31 2009 +0000 remove a dead bool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81968 91177308-0d34-0410-b5e6-96231b3b80d8 commit c54a0890ddc80c1d7efa21695fb3159ef1b57cf8 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 00:17:39 2009 +0000 Eliminate AsmPrinter::EmitExternalGlobal, inlining its (now) one implementation into its one caller. This eliminates a totally awesome and gratuitous hack where we casted a Function* to GlobalVariable*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81967 91177308-0d34-0410-b5e6-96231b3b80d8 commit 098abb4f0f560ae8e2c2e649f7e16046740f3cda Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 16 00:17:28 2009 +0000 Neon does not support vector divide or remainder. Expand them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81966 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c7099069742b1fda9b8c3c7d513e67e566c6dbb Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 00:14:19 2009 +0000 eliminate the PPC backend's implementation of EmitExternalGlobal and use PersonalityPrefix/Suffix to achieve the same effect (like the x86 backend). This changes the code generated for ppc static mode, but guess what, we were generating this before: .byte 0x9B ; Personality (indirect pcrel sdata4) .long ___gxx_personality_v0-. ; Personality which is not correct! (it is not an 'indirect' reference). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81965 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5632fabd0a6e1f30e9cbbd6c2b6d3dce6dcc656a Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 00:08:41 2009 +0000 eliminate the horrid AsmPrinter::getGlobalLinkName method, inlining it into all of its call sites and simplifying them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81962 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe0e2534a5b2b89019a3d0ed2b55b0acb5ae4498 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 16 00:08:07 2009 +0000 simplify some code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81961 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8fefa0a3f88ebd6f5e24617ca5d5fe7c4734ef9 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 15 23:55:57 2009 +0000 Expand all v2f64 arithmetic operations for Neon. Radar 7200803. (This should also fix the SingleSource/UnitTests/Vector/sumarray-dbl test.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81959 91177308-0d34-0410-b5e6-96231b3b80d8 commit dbaf51315fa3a150fca8aeed3e2b146d48749c9f Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 15 23:40:07 2009 +0000 Put back non-obsolete -f sections for 'opt'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81954 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a01257a044b62d94b6a049eb0d682ad35015ba3 Author: Sean Callanan <scallanan@apple.com> Date: Tue Sep 15 23:37:51 2009 +0000 Added far return instructions (that is, returns to code in other segments) to the Intel instruction tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81953 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36d0329a368bc31e7129c92b2e1c38559793a48d Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 23:11:32 2009 +0000 remove some horrible MAI hooks which fortunately turn out to be always empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81946 91177308-0d34-0410-b5e6-96231b3b80d8 commit 451e8e6330161627a231f22d167d49dd0c374db8 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 22:58:35 2009 +0000 strength reduce a call to PrintRelDirective(true). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81942 91177308-0d34-0410-b5e6-96231b3b80d8 commit 72ba67246b322935e03e118480c6b8c235669b35 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 22:44:26 2009 +0000 add hooks to hang target-specific goop off MachineModuleInfo, move MachineFunctionInfo virtual method out of line to give it a home. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81940 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c9a0d70e34e1cc679f71bc5ca8e9554255b18d6 Author: Nate Begeman <natebegeman@mac.com> Date: Tue Sep 15 22:30:11 2009 +0000 Do not add the SVOffset to the Node CSE ID. The same pointer argument cannot have different SVOffsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81937 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1482ed20fd413149c26101b5e3741e6ffe7ecf4e Author: Eric Christopher <echristo@apple.com> Date: Tue Sep 15 21:56:46 2009 +0000 Expand on comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81928 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84df931976ddcf564c582d7385ec8ba305478ed7 Author: Sean Callanan <scallanan@apple.com> Date: Tue Sep 15 21:43:27 2009 +0000 Updated comments per Eli's suggestion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81923 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3941cf7d66ec881570c0025013a9d70bcbfd1110 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 15 20:58:02 2009 +0000 Convert more tests to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81915 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e7df0ef9db04445ae99dd1257213132b00d7010 Author: Sean Callanan <scallanan@apple.com> Date: Tue Sep 15 20:53:57 2009 +0000 Added register-to-register ADD instructions to the Intel tables, where the source operand is specified by the R/M field and the destination operand by the Reg field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81914 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48f5114de937c031d43c91691806b04f55d35e2b Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 15 20:31:46 2009 +0000 Drop the raw_ostream required buffer size to 1. - As best I can tell, we have eliminated all the code which used to require a larger buffer size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81912 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6dee039bc647d7ac37a135272648af92dec812e1 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 15 20:31:35 2009 +0000 Remove references to obsolete -f option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81911 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a2e0dfe5ec8c5fd8f15bb1f085d635708a7203c Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 15 20:31:28 2009 +0000 Update llc/opt PODs to clarify they support .ll input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81910 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef65e0c69530a1832ba84028c8a25096b41e5f04 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 15 20:31:12 2009 +0000 Fix -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81909 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91304e2755539fa6e746731028f25083ab09722f Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 15 20:09:17 2009 +0000 lit: When finding nested test suites, check first in the execpath in case there is a site configuration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81902 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2494777a2cb2e6e78713b12c0658523856b44ecb Author: Nate Begeman <natebegeman@mac.com> Date: Tue Sep 15 19:05:41 2009 +0000 Better solution for tracking both the original alignment of the access, and the current alignment based on the source value offset. This avoids increasing the size of mem nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81897 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb75cc9708004e58a40d63b3061b22b44a1c84b2 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 15 18:56:13 2009 +0000 Correct comment pasto git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81896 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad87a3af74f9e84f1092e2a97ce28a98deb77437 Author: Sean Callanan <scallanan@apple.com> Date: Tue Sep 15 18:47:29 2009 +0000 Added a new register class for segment registers to the Intel register table. Added 16- and 64-bit MOVs to and from the segment registers to the Intel instruction tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81895 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bf764bd78d33c4a1e1e0fc2dfdc72044ee70030 Author: Dale Johannesen <dalej@apple.com> Date: Tue Sep 15 18:32:14 2009 +0000 Change the marker byte for stubs from 0xcd to 0xce (another form of interrupt instruction, which shouldn't arise any other way). 0xcd is also used by JITMemoryManager to initialize the buffer to garbage, which means it could appear following a noreturn call even when that is not a stub, confusing X86CompilationCallback2. PR 4929. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81888 91177308-0d34-0410-b5e6-96231b3b80d8 commit d32037b8c08567c1b4e544cec0b3962f9172ae54 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 18:27:02 2009 +0000 fix PR4984 by ensuring that fastisel adds properly sign extended GEP displacement values to machineinstrs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81886 91177308-0d34-0410-b5e6-96231b3b80d8 commit fae4dc746dee18665ac310518148c503373eadd4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 18:23:37 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81884 91177308-0d34-0410-b5e6-96231b3b80d8 commit e22ad00d2c41cf95d58c05978b106cadd08d0fcc Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 18:23:23 2009 +0000 convert to filecheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81882 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29af822131334c1b2507844c4807ba7852390fb0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 18:03:13 2009 +0000 add missing file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81881 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19f0725ebd200ab818b0431a64943eebf61c794d Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 15 17:56:18 2009 +0000 Handle AddrMode4 for Thumb2 in rewriteT2FrameIndex. This occurs for VLDM/VSTM instructions, and without this check, the code assumes that an offset is allowed, as it would be with VLDR/VSTR. The asm printer, however, silently drops the offset, producing incorrect code. Since the address register in this case is either the stack or frame pointer, the spill location ends up conflicting with some other stack slot or with outgoing arguments on the stack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81879 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe9c3803a79895c50881154a3a381f61692e13ae Author: Sandeep Patel <deeppatel1987@gmail.com> Date: Tue Sep 15 17:53:11 2009 +0000 Fix superreg use in ARMAsmPrinter. Approved by Anton Korobeynikov. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81878 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49102def1108f7c206537893c0ad47d359d00883 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 17:46:24 2009 +0000 several major improvements to the sparc backend: support for weak linkage and PIC codegen. Patch by Venkatraman Govindaraju! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81877 91177308-0d34-0410-b5e6-96231b3b80d8 commit 03dd9bb9a759b3cc6c658910a3923f8fb869e2fd Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 16:14:44 2009 +0000 Teach ValueTracking how to look through GlobalAliases. GlobalAliases are not folded in the constant folder because the constant folder doesn't simplify ConstantExpr operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81864 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b1760f8c98ea4893ee8a9a97c351adf9a377219 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 16:00:30 2009 +0000 Fix an accidental inversion of the inbounds flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81862 91177308-0d34-0410-b5e6-96231b3b80d8 commit 72444efbd46645993821a5167411656371e995b1 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 15:58:07 2009 +0000 When a constant's type is refined, update the constant in place instead of cloning and RAUWing it. - Make AbstractTypeUser a friend of Value so that it can offer its subclasses a way to update a Value's type in place. This is better than a universally visible setType method on Value, and it's sufficient for the immediate need. - Eliminate the constant "convert" functions. This eliminates a lot of logic duplication, and fixes a complicated bug where a constant can't actually be cloned during the type refinement process because some of the types that its folder needs are half-destroyed, being in the middle of refinement themselves. - Move the getValType functions from being static overloaded functions in Constants.cpp to be members of class template specializations in ConstantsContext.h. This means that the code ends up getting instantiated twice, however it also makes it possible to eliminate all "convert" functions, so it's not a big net code size increase. And if desired, the duplicate instantiations could be eliminated with some reorganization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81861 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0682a468f8ced6a32d618480ce6ee3367cfaecc4 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 15:38:31 2009 +0000 Use llvm-link -S instead of using llvm-dis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81860 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5939a47767d82e5d4d108c258b7f2320e30bc81 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 15:35:07 2009 +0000 Give llvm-link a -S option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81859 91177308-0d34-0410-b5e6-96231b3b80d8 commit 97b59da0a82c96d077a36f4e4a4417529d0e060c Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 15:33:42 2009 +0000 Don't bother using a PassManager just to print a Module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81858 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43dcc4032dde26fad0276e724095b3f37853c6da Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 15:09:54 2009 +0000 Restore a comment that was lost in the merge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81857 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95bb35e9ba16fcbff3d32a0e32d43f876203d172 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 15:08:33 2009 +0000 Fix apostrophos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81856 91177308-0d34-0410-b5e6-96231b3b80d8 commit 93a8e411672c28483ba69f42ad33746adedb7195 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 15 07:08:25 2009 +0000 Add more newlines to make up for the ones removed from the end of instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81851 91177308-0d34-0410-b5e6-96231b3b80d8 commit 527a06706f7a5582eb5ef4dbe1bd2cb2b893f5a0 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 15 07:05:12 2009 +0000 Forgot this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81850 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a48b00dc985aaf83b11bf1c6b31ccd4ba49ede6 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 15 06:45:16 2009 +0000 Another try at early partial coalescing. Identity phi source copies (their sources are defined by phi join def) are coalesced. And the phi join copy is backward copy propagated into the other copies. Still miscompiling some tests. :-( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81849 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9983d964324ffc3bba0d3dd128453d7e49af3c3d Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 06:34:29 2009 +0000 convert to filecheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81848 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1208609ee4d18b2c0adaf860b72d0b2d5fd43d4 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 15 06:28:26 2009 +0000 Forbid arrays of function-type and structures with function-typed fields. While I'm there, change code that does: SomeTy == Type::getFooType(Context) into: SomeTy->getTypeID() == FooTyID to decrease the amount of useless type creation which may involve locking, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81846 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0ecef80afbd600d9004952bce40b55da78b4a78 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 06:28:12 2009 +0000 fix PR4963: folding insertvalue would sometimes turn a packed struct into an unpacked one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81845 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69177fbaef43d051fcc9a84184b2884f41765c6b Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 05:40:35 2009 +0000 add a new CallGraphNode::replaceCallEdge method and use it from argpromote to avoid invalidating an iterator. This fixes PR4977. All clang tests now pass with expensive checking (on my system at least). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81843 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5957ef5d5226035be8d48b37260bcef1b171a288 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 05:14:57 2009 +0000 add newline to debug dump git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81840 91177308-0d34-0410-b5e6-96231b3b80d8 commit a6001e21c43647daff2d81359cb3e9e8c0f0843e Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 05:03:04 2009 +0000 make -debug-pass=Executions show information about what call graph nodes are in the SCC for each execution of a CGSCC pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81838 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e3ba7439fb15df005a3125b0b9b6f51ea2697c9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 04:45:26 2009 +0000 add some missing quotes in debug output git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81836 91177308-0d34-0410-b5e6-96231b3b80d8 commit d2d16acc4549ed7c075425a1337cc2a3b953f52c Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 04:37:49 2009 +0000 switch scciterator to use DenseMap instead of std::map git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81834 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47fbf883bdac3403a5584be5ec476f11f083fa7f Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 04:27:29 2009 +0000 this is failing on linux hosts, force a triple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81833 91177308-0d34-0410-b5e6-96231b3b80d8 commit a045a696be25f2dec8969a68283582b33d660aae Author: Ted Kremenek <kremenek@apple.com> Date: Tue Sep 15 04:06:36 2009 +0000 Remove invalid add_dependencies line to unbreak the CMake build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81827 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5083953c49cfb42b74a512d6b876340cdb958733 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Sep 15 03:39:45 2009 +0000 Get rid of GetProcessId in Win32/Program.inc. GetProcessId was introduced only in XP. As a bonus, this change makes Program objects copyable, since Program is now basically a PID. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81826 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f21ba08e546e678bd6cc4c6efd66040507d8050 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 02:27:23 2009 +0000 merge one more in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81824 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd42dc82ecfb2d3ec5a138e3dbf7c5249dac3b7d Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 02:25:21 2009 +0000 merge some more cmov tests into cmov.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81823 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8e2cc606cea71cfc40728aae2906ac85b4d2c7d Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 15 02:22:47 2009 +0000 merge two cmov tests into one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81822 91177308-0d34-0410-b5e6-96231b3b80d8 commit cbe5a493d522295f64e80d1dafd99360ebec7a99 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 01:22:01 2009 +0000 Don't pull a load through a callseq_start if the load's chain has multiple uses, as one of the other uses may be on a path to a different node above the callseq_start, because that leads to a cyclic graph. This problem is exposed when -combiner-global-alias-analysis is used. This fixes PR4880. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81821 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6647b934fcb19a24d6eb7a07750ce292d79205c3 Author: Nate Begeman <natebegeman@mac.com> Date: Tue Sep 15 00:38:09 2009 +0000 Remove incorrect CSE code from r81813. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81819 91177308-0d34-0410-b5e6-96231b3b80d8 commit b7e7339c1e4bac5679c7a2e3b46f15d1460882c4 Author: Sean Callanan <scallanan@apple.com> Date: Tue Sep 15 00:35:17 2009 +0000 Modified the Intel instruction tables to include versions of CALL and JMP with segmented addresses provided in-line, as pairs of immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81818 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d711a3d76b29a8b13ec316c81d0161df47818ce Author: Kevin Enderby <enderby@apple.com> Date: Tue Sep 15 00:27:25 2009 +0000 Added the first bits of the ARM target assembler to llvm-mc. For now it only parses the .word directive as 4 bytes and ARMAsmParser::ParseInstruction will give an error is called. Broke out the test of the .word directive into two different test cases, one for x86 and one for arm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81817 91177308-0d34-0410-b5e6-96231b3b80d8 commit 722f41892d746e32e0456a8e90640be7b93b4175 Author: Nate Begeman <natebegeman@mac.com> Date: Tue Sep 15 00:18:30 2009 +0000 Substantially speed up combiner-aa in the following ways: 1. Switch from an std::set to a SmallPtrSet for visited chain nodes. 2. Do not force the recursive flattening of token factor nodes, regardless of use count. 3. Immediately process newly created TokenFactor nodes. Also, improve combiner-aa by teaching it that loads to non-overlapping offsets of relatively aligned objects cannot alias. These changes result in a >5x speedup for combiner-aa on most testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81816 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9e1b9b6fc8c9553b28a676fda614db3d057aa368 Author: Nate Begeman <natebegeman@mac.com> Date: Tue Sep 15 00:14:28 2009 +0000 Teach the legalizer to propagate the original alignment of loads and store when it splits them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81815 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d38ee448663aae93e51b96d0fab617e191e6a80 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 15 00:14:11 2009 +0000 On x86-64, the 32-bit cmov doesn't actually clear the high 32-bit of its result if the condition is false. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81814 91177308-0d34-0410-b5e6-96231b3b80d8 commit e22356dcb8d97062576619c5419a1140c76059dd Author: Nate Begeman <natebegeman@mac.com> Date: Tue Sep 15 00:13:12 2009 +0000 Add an "original alignment" field to load and store nodes. This enables the DAG Combiner to disambiguate chains for loads and stores of types which are broken up by the Legalizer into smaller pieces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81813 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5e04816bd3e055c1ac97cc22a2035883ec763c6 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 14 23:39:10 2009 +0000 When extending a memset range past the front, set the alignment of the memset region to the alignment of the new start address. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81810 91177308-0d34-0410-b5e6-96231b3b80d8 commit 713985a2dff2024cc0544f497714e239a01a6251 Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Mon Sep 14 21:54:32 2009 +0000 Expose initializing the native target for the execution engine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81800 91177308-0d34-0410-b5e6-96231b3b80d8 commit f161b718f66f519f5fd348ec4619a1d928f25809 Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Mon Sep 14 21:54:15 2009 +0000 Make sure to initialize the fpm in the ocaml tutorial. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81799 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95320818705e1a8a2ec6e0eaf009695c7b36630e Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Sep 14 21:33:42 2009 +0000 Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this. The gist of this is if source of some of the copies that feed into a phi join is defined by the phi join, we'd like to eliminate them. However, if any of the non-identity source overlaps the live interval of the phi join then the coalescer won't be able to coalesce them. The early coalescer's job is to eliminate the identity copies by partially-coalescing the two live intervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81796 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3380dd66fb6f3cedf9fe83f56c8680802bfaf4cb Author: Bill Wendling <isanbard@gmail.com> Date: Mon Sep 14 20:52:37 2009 +0000 Pull the creation of the "RewindFunction" function out of the loop. It's only created once, so shouldn't be stuck in the middle of the loop. Also early exit if there are no uses of UnwindInst in the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81785 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35d089b52ad103aedfe249070244d6bdf0ed7039 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 14 20:40:10 2009 +0000 Update a comment to match the source. PseudoSourceValues are now obtained via accessor functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81782 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3107c9ecfee9c403e89e3d5eccbc00d1099fc151 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Sep 14 17:27:35 2009 +0000 trivial whitespace cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81773 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9105aa9a9dc9f159335af3ff23b9f1f13f208069 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 16:49:26 2009 +0000 add PR# git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81770 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ab1d2e843fe3ce1ed9f135335e9ba92f72912b6 Author: Eric Christopher <echristo@apple.com> Date: Mon Sep 14 16:38:49 2009 +0000 Enable the jit for llvm-config. Patch by Xerxes Rånby! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81768 91177308-0d34-0410-b5e6-96231b3b80d8 commit c662a414b78029f6716f128ae926333a77aaecd3 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 14 16:10:32 2009 +0000 Add a valgrind suppressions file for x86_64/linux/4.3.3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81766 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9dbc0054b4e16f3d94c8009b5d510c3753ed7ca2 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 14 15:27:43 2009 +0000 Add a VALGRIND_EXTRA_ARGS makefile variable, with the obvious semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81764 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c3b4e242e24ed183d4561ce5a8222b441893698 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 14 05:22:54 2009 +0000 Update CMake dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81758 91177308-0d34-0410-b5e6-96231b3b80d8 commit a303520a98b34359e350878fa54c91d314fc0dac Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 14 05:22:47 2009 +0000 Update CMake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81757 91177308-0d34-0410-b5e6-96231b3b80d8 commit da5fb6d704adbe833dcf16d12398a87a5af8d01e Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 03:15:54 2009 +0000 PIC16 does allow colon after MBB labels, simplify EmitBasicBlockStart. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81755 91177308-0d34-0410-b5e6-96231b3b80d8 commit a835afd084f0e1c9ce65902b24eac79921547c79 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 03:02:37 2009 +0000 Change MCAsmStreamer to take an MCInstPrinter instead of a full AsmPrinter, and change TargetRegistry to keep track of registered MCInstPrinters. llvm-mc is still linking in the entire target foo to get the code emitter stuff, but this is an important step in the right direction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81754 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2eadb171aaa638fa18a7f8ddcb4e9bc22a0fad8 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 14 02:39:01 2009 +0000 Teach 'make check-lit' to run unittests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81753 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4fe594178a8ee98db0588bfb06d50916cdebc21 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 14 02:38:53 2009 +0000 Attempt to fix some 4.0.0 build warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81752 91177308-0d34-0410-b5e6-96231b3b80d8 commit 160f351b7f90ebedb6ef137ea020989769963b98 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 14 02:38:46 2009 +0000 lit: Give test formats control over test discovery. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81751 91177308-0d34-0410-b5e6-96231b3b80d8 commit ffe6f6bed8d8b1a5e56088fd13b1f05f68c28051 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Sep 14 02:25:34 2009 +0000 Fix a pair of comment typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81750 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5aab63425cb839d86e7ab908d5fc68f27c3b3b3d Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Sep 14 02:25:19 2009 +0000 Fifth time's a charm! Remove ourselves as abstract type listeners once we've been told that the type is no longer abstract. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81749 91177308-0d34-0410-b5e6-96231b3b80d8 commit e6eb694f39d6edf0cfa3be954776f13d2e959a13 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 01:49:26 2009 +0000 Give MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinter be a MCInstPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81746 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3698084edee8995c957027958dd61a0d27e79849 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 01:43:38 2009 +0000 add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81745 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ec814dc4fd6e24fdbec8d092d4e9ba0c21d6dac Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 01:34:40 2009 +0000 tidy up a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81744 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3f01e21df1740df29a8fbf30f16dca9bae44711 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 01:27:50 2009 +0000 slightly increase prettiness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81742 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ccbf08d37a60fb1d5f288ce4043f3f66d0822ed Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 01:26:18 2009 +0000 emit the register table as a massive string to avoid relocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81741 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7437911091faa98a519d2fbb16fd13e207708be1 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 01:19:16 2009 +0000 move StringToOffsetTable out to its own header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81740 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07cb8119f076f45883139ccc1d4a9c283e69966e Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 14 01:16:36 2009 +0000 factor string table generation out to its own class. This changes the encoding of the AsmStrs table saving a byte or two. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81739 91177308-0d34-0410-b5e6-96231b3b80d8 commit b6db52a9bdf56bb5b0ae38cbf3b37a35102144ff Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Sep 14 00:36:52 2009 +0000 Don't leak! Always remove oneself as a listener after adding oneself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81736 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f0d71da30b9523150a0287745e609d3b481be01 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 13 23:45:39 2009 +0000 Actually remove old types from the set. Also break the type verification stuff into its own TypeSet to keep the Verifier pass from becoming an AbstractTypeUser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81729 91177308-0d34-0410-b5e6-96231b3b80d8 commit 826ed7a271c9a966d58a379acdf492fa40c5ffb0 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 22:45:04 2009 +0000 eliminate the TargetRegisterDesc::AsmName field, the asmprinters now have this table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81728 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00512f63d4d10e60ae18c8b46392ce49e663f0bd Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 22:42:03 2009 +0000 kill off the last use of TRI::AsmName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81727 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1063d2402ec84d31cf67eaae00cda4822ba35b56 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 22:41:48 2009 +0000 add some special case handling for strangely named x86 registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81726 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f1c655d38daf554042502391aac0b873d6d4d75 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 22:39:27 2009 +0000 Build (not test) the unittests as part of a normal build. - 'make unittests' still builds and tests. - 'make unitcheck' inside a unittest directory runs the tests in that directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81725 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84c0c9a5d338d233548b6f4bc8a81dcd47744be5 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 22:28:17 2009 +0000 unbreak this test by working around an asmparser bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81724 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98544f744488e29f215a07888500ec59e9fb490a Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 22:24:34 2009 +0000 'printMCInst' doesn't print newlines after instructions anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81723 91177308-0d34-0410-b5e6-96231b3b80d8 commit 453222b9fee0a048540a832ecab293dff2751c9c Author: Oscar Fuentes <ofv@wanadoo.es> Date: Sun Sep 13 22:18:38 2009 +0000 CMake: New user-settable variable LLVM_TARGET_ARCH useful when cross-compiling. Patch by Xerxes Rånby! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81722 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d2eab68c04d4b93330a22469a650f7fdaadfbb2 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 13 21:38:54 2009 +0000 Update the tutorial to match changes to examples/Kaleidoscope. One change I'm not folding in is the removal of two unused variables that caused warnings, because those were there for expository purposes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81721 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7909eefe08511c595d7dc8b586abec9c65f2e1f8 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 21:31:21 2009 +0000 Move unittest driver to utils/unittest/UnitTestMain. - This eliminates a race between building the unittests and linking the UnitTestMain library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81719 91177308-0d34-0410-b5e6-96231b3b80d8 commit 435de3991f951fdaf77395572f740b7483662a91 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 21:31:07 2009 +0000 Remove unused variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81718 91177308-0d34-0410-b5e6-96231b3b80d8 commit c904d5b8a23fc2ac8181b0e261f0f3292f379721 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Sep 13 21:07:59 2009 +0000 Storing a set of PATypeHolders is a bad idea because their sort order will change as types are refined. Remove abstract types from CheckedTypes when they we're informed that they have been refined. The only way types get refined in the verifier is when later function passes start optimizing. Fixes PR4970. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81716 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0a25de172e71282bba275a51ce75849e5407f8b Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 20:31:40 2009 +0000 remove all but one reference to TargetRegisterDesc::AsmName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81714 91177308-0d34-0410-b5e6-96231b3b80d8 commit 213703ced9eeaa585c06387ae3c643ea4701462e Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 20:19:22 2009 +0000 the tblgen produced 'getRegisterName' method does not access the object, make it static instead of const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81711 91177308-0d34-0410-b5e6-96231b3b80d8 commit ec219616d65bf4057d0c4509708b31f7979f7ad6 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 20:15:16 2009 +0000 switch the x86 asmprinters to use getRegisterName instead of getting it from TRI, inst printing now is codegen context free! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81710 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0288aeed1baf069135de8bc028e1c82efae7316e Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sun Sep 13 20:14:57 2009 +0000 Fix a small issue with recent changes to this code. The 'false.c' file wasn't being used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81709 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9222169c3ad7e619d1a8ab155b7a1118182c3c34 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 20:08:00 2009 +0000 make tblgen produce a function that returns the name for a physreg. Nothing is using this info yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81707 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28f7e3506ee1779753939d87c2ce4e1a2f19e9c0 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 19:48:37 2009 +0000 eliminate an extraneous use of TRI::getAsmName in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81705 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4957efed4f96e7af2efbcba4f5a6b3a6f255c795 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 19:44:38 2009 +0000 make intel asmprinter use TRI::getAsmName instead of TRI::getName like all the other targets. Add support for weak/linkonce linkage so it doesn't crash on basically all nontrivial testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81704 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59a6e61b92fa4a02cd9a68b5b6e4e63dee2ff524 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 19:30:11 2009 +0000 split MCInst printing out of the X86ATTInstPrinter class into its own X86ATTInstPrinter class. The inst printer now has just one dependence on the code generator (TRI). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81703 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1c1268be8e349ed9ed5e8012fced58b60da23e2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 19:10:08 2009 +0000 reduce indentation with early exit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81699 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6f9b24922a442ab59668c859697e2f1b501eb46f Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 19:03:08 2009 +0000 second part to r81695, I missed a directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81696 91177308-0d34-0410-b5e6-96231b3b80d8 commit 149495f84e67c353295dd54c4ca92ccd0fd3c1ef Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 19:02:16 2009 +0000 remove MAI::JumpTableSpecialLabelPrefix now that MAI has real information about linker private linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81695 91177308-0d34-0410-b5e6-96231b3b80d8 commit 893e8843309b5ca688046b1d11bc7f71eb5fc2a8 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 18:58:14 2009 +0000 Revert unittests build changes temporarily, the unit test build isn't -j safe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81692 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e659812c8d34377bc4d9516f1a116ccec4f073f Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 18:50:22 2009 +0000 delete the fixme too! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81689 91177308-0d34-0410-b5e6-96231b3b80d8 commit e82fd5e49c2bcf148abe7b8e066076020944505c Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 18:46:37 2009 +0000 merge the linux cpool/jtbl pic tests into pic.ll and convert to filecheck. Change the picbase symbol on non-darwin systems from ".Lllvm$4.$piclabel" to ".L4$pb". The actual name doesn't matter and the darwin name is shorter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81688 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b41b2da218ae60316e2bbb39bda56bcca893e21 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 18:43:46 2009 +0000 Build (not test) the unittests as part of a normal build. - 'make unittests' still builds and tests. - 'make unitcheck' inside a unittest directory runs the tests in that directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81687 91177308-0d34-0410-b5e6-96231b3b80d8 commit b47f641f55f98d8ffecf935616fbe8f407a6c47b Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 18:33:59 2009 +0000 make X86ATTAsmPrinter::PrintPICBaseSymbol forward to X86MCInstLower. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81685 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2faa4ef57551d45e7b58b1827ae8156cea221637 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 18:25:37 2009 +0000 replace printBasicBlockLabel with EmitBasicBlockStart, now that printBasicBlockLabel is only used for starting a MBB. This allows elimination of a bunch of arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81684 91177308-0d34-0410-b5e6-96231b3b80d8 commit adfec708f335a7ea93d685ae753f74a53ca05b83 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 18:11:09 2009 +0000 fix MCSymbol printing on darwin to exactly match the mangler (handling of \n and " in a symbol name). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81683 91177308-0d34-0410-b5e6-96231b3b80d8 commit e66b5a5946e9737b7a230ba903779f4c9d15c542 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 18:04:46 2009 +0000 Make the MC symbol printer and llvm::Mangler exactly agree on mangling for systems that don't support quoting (PR4966). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81682 91177308-0d34-0410-b5e6-96231b3b80d8 commit 126c8fe046bc70bf4289cf3d7889abc0bf0176a2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 17:25:49 2009 +0000 remove two docs about the old Sparc backend which used Value*'s for vregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81680 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5027fd9cf5243d58fdacd2c37ac2dc498bdea6fd Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 17:24:16 2009 +0000 move old clang readme here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81679 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6f802dd7f346ac5a44bbdc57d264ed928fe1e7c Author: Chris Lattner <sabre@nondot.org> Date: Sun Sep 13 17:14:04 2009 +0000 convert some uses of printBasicBlockLabel to use GetMBBSymbol instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81677 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f5f33b5ea2e756e9dd3df83c8924304ac317e4b Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 02:45:57 2009 +0000 Add LLVMGCCBINDIR to path, since LLVMC expects to find llvm-gcc in the path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81669 91177308-0d34-0410-b5e6-96231b3b80d8 commit 72a7ef551f36b66d339c6c0d91a99d6301ec872c Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 01:41:47 2009 +0000 Switch Ocaml to use llvm_supports_binding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81665 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3324882bda68403c4723a6856f937320c3428849 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 01:41:18 2009 +0000 tests: Add llvm_supports_binding predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81664 91177308-0d34-0410-b5e6-96231b3b80d8 commit 282ae0b0efbe5ce5ce81c00cb4d89e813b78efc6 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 01:40:48 2009 +0000 tests: Use %abs_tmp instead of ./%t to make these tests portable to 'lit'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81663 91177308-0d34-0410-b5e6-96231b3b80d8 commit c46101cd59d21edd7614d3c2ad57119baebf0db4 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 01:39:50 2009 +0000 tests: Add a %abs_tmp substitution which is guaranteed to be a full path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81662 91177308-0d34-0410-b5e6-96231b3b80d8 commit 61e88aec10e345617c054125c4fdfdc7a692be47 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 01:39:08 2009 +0000 Sink llvm-gcc dependent tests into distinct subdirs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81661 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8b6d1e38583dc7932d23c4803c223f54d79248dd Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 01:37:07 2009 +0000 Rewrite tests to not use Tcl substitution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81660 91177308-0d34-0410-b5e6-96231b3b80d8 commit 458d03ea01aa32891785347005f83ccf3944728a Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 13 01:36:19 2009 +0000 Simplify LLVMC tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81659 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02791b0d5c7fe12bf1ada874da30dd5d0440bc98 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Sep 13 01:12:15 2009 +0000 Fix merge problem git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81658 91177308-0d34-0410-b5e6-96231b3b80d8 commit daf700156a4b1aec6f85be6f611f2f949b154f75 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Sep 13 00:59:43 2009 +0000 Define proper subreg sets for arm - this should fix bunch of subtle problems with subreg - superreg mapping and also fix PR4965. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81657 91177308-0d34-0410-b5e6-96231b3b80d8 commit b10a5950be94fe5cabce5d6d269bc37dc55bdd41 Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 12 23:45:47 2009 +0000 Add -mattr=+sse2 to the -march=x86 version of this test. Without sse, this code falls back to SelectionDAG isel which uses an x87 instruction, which is fine, but not what this test is testing for. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81656 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b03709c07c801d218f32e90bb5a77dcaf999474 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 12 23:29:02 2009 +0000 Experimental fix for PR4960. - Could we just always implement this as __clear_cache for __GNUC__? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81655 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08c9708a8aed7028c5e3126d2d680ee1ffb4af9f Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 23:02:08 2009 +0000 devirtualize AsmPrinter::printBasicBlockLabel since it is never overridden. Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that we only have one place that decides what to name bb labels. Hopefully various clients of printBasicBlockLabel can start using GetMBBSymbol instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81652 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69f872cbd1278b340ac8ebb23edd441cd2a0c4da Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 22:57:37 2009 +0000 we don't want people to override printBasicBlockLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81651 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1df5fea30bfd9fc1b9691dab547277aba769dcd Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 12 22:24:25 2009 +0000 Remove unnecessary #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81636 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3600d16e551d4b49d3d8df86d5c90061804d5c7f Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Sep 12 22:21:08 2009 +0000 Add QPR_VFP2 regclass and add copy_to_regclass nodes, where needed to constraint the register usage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81635 91177308-0d34-0410-b5e6-96231b3b80d8 commit f2e096380d8ea7bd7cb5a47b66a9fa17ef34e365 Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 12 22:02:17 2009 +0000 Preserve the inbounds flag, so that the constant folder doesn't recompute it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81634 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07f468d98bf62faf754bc2c72cca515e8b6c9079 Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 12 21:56:48 2009 +0000 Fix the build when DEBUG_SYMBOL_TABLE is set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81633 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f7a156181caf332944bcd5283cf25e074bdc51e Author: Dan Gohman <gohman@apple.com> Date: Sat Sep 12 21:55:12 2009 +0000 Convert llvm-link to IRReader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81632 91177308-0d34-0410-b5e6-96231b3b80d8 commit da044747519b98d6579c6fd0638c863ee3506cb3 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 21:06:08 2009 +0000 factor MBB label lowering better git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81630 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6874849b9aa710a542b2263e335bd9fe8e073d0b Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 21:01:20 2009 +0000 X86MCInstLower::Lower should only not emit anything to OutStreamer, this means that it can only lower one MachineInstr to one MCInst. To make this fly, we need to pull out handling of MO_GOT_ABSOLUTE_ADDRESS (which generates an implicit label) out of X86MCInstLower. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81629 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34461fde24e25c4c789b719f16483367ef125e5c Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 20:45:03 2009 +0000 eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol for MBB labels like everything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81628 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1efc2adff3c3193bf402c9167cc3b06ec582a875 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 20:34:57 2009 +0000 split MachineInstr -> MCInst lowering into its own class (not being embedded into X86ATTAsmPrinter). This still depends heavily on X86ATTAsmPrinter, but this is a step in the right direction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81627 91177308-0d34-0410-b5e6-96231b3b80d8 commit a16d146018dbdd8e840db89dae3a4c6fcf8aa947 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 20:01:36 2009 +0000 remove the "old" at&t style asmprinter. Unfortunately, most of the operand printing crapola cannot be removed yet because it is used by the inline asm print stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81626 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58831094f223f49d8fee7413d8ac5933599e4a40 Author: Lang Hames <lhames@gmail.com> Date: Sat Sep 12 04:54:18 2009 +0000 Whoops. Committed the headers for r81605 - 'Moved some more index operations over to LiveIntervals.' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81609 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a7b3b261e96625d4fff876dbb859dec67e4c04e Author: Lang Hames <lhames@gmail.com> Date: Sat Sep 12 03:34:03 2009 +0000 Moved some more index operations over to LiveIntervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81605 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c2313a5e064b39cdbad9b0de471c722d800318a Author: Sean Callanan <scallanan@apple.com> Date: Sat Sep 12 02:52:41 2009 +0000 Added the WAIT instruction to the Intel tables, for the purposes of the disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81603 91177308-0d34-0410-b5e6-96231b3b80d8 commit 25220d648e0af4f977a0ff96fd6fabcf4e45ddb2 Author: Sean Callanan <scallanan@apple.com> Date: Sat Sep 12 02:25:20 2009 +0000 Added CMPS (string comparison) instructions for all operand widths to the Intel instruction tables, for the purposes of the disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81601 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0d3ee158facc0f354906b1e5559b73ce0fd20e7 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 12 02:14:41 2009 +0000 Remove -new-coalescer-heuristic. It's not useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81600 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16c2f62b7c53316702d1ad99d7c33a08f5f5ced7 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Sep 12 02:01:07 2009 +0000 80 col violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81598 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f74d67bcb2ebcb53e4ad66c05bdc668a0859542 Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 01:11:50 2009 +0000 fix another GCC bootstrap problem, which manifested as things like: foo.s:2412:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81596 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34184c9a753003dd6161e5f4f8770e906996621d Author: Chris Lattner <sabre@nondot.org> Date: Sat Sep 12 00:49:00 2009 +0000 fix an embarassing typo that resulted in llvm-gcc bootstrap miscompare because the sorting wasn't sorting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81592 91177308-0d34-0410-b5e6-96231b3b80d8 commit 481f06df77485baab41d3facb6eb9903ee1b1b13 Author: Sean Callanan <scallanan@apple.com> Date: Sat Sep 12 00:37:19 2009 +0000 Added SCAS instructions in their 8, 16, 32, and 64-bit variants for the disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81591 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d13e71bb592c47f214eefc3cfdc016b12ff6396 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 11 22:07:31 2009 +0000 Fix -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81580 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0cc7539863622c30066b5110a48827dfd55675e8 Author: Ted Kremenek <kremenek@apple.com> Date: Fri Sep 11 21:49:45 2009 +0000 Update CMake files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81577 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3996be16362bda84e8975ac6aef9f36358cad869 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Fri Sep 11 21:26:24 2009 +0000 De-bork CMake build. llvm-extract depends on asmparser git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81574 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31b20c7d4a2789da21fe865cc5e7cfa3f6fdd581 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 20:46:33 2009 +0000 Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't working. To support this, add an is_displayed() function to raw_ostream, and generalize Process::StandardOutIsDisplayed and friends in order to support it. Also, call RemoveFileOnSignal before creating a file instead of after, so that the file isn't left behind if the program is interrupted between when the file is created and RemoveFileOnSignal is called. While here, add a -S to llvm-extract and port it to IRReader so that it supports assembly input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81568 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b01f934c23227abf954e317b5b65cc77f38c21d Author: Jim Grosbach <grosbach@apple.com> Date: Fri Sep 11 20:13:17 2009 +0000 Revert array initialization regclass change so that the initialization stays static, not runtime. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81560 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21f15abfa99b786925bb1b36717b454ac800251b Author: Jim Grosbach <grosbach@apple.com> Date: Fri Sep 11 19:49:06 2009 +0000 Update register class references to use the global constant ARM::*RegisterClass names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81556 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8562bef1079463f9d3027bd6cfb688e99298bede Author: Sean Callanan <scallanan@apple.com> Date: Fri Sep 11 19:01:56 2009 +0000 Added ADC, SUB, SBB, and OR instructions that operate on rAX and an immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81551 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53fac396f5ba849f8837234584303c72fd229747 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Sep 11 18:42:18 2009 +0000 Fix pr4820: Don't run llvm-config during "make clean" since it may have already been removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81547 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d8e16bb62905b1b14aea9481c4d085bf1c02796 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 18:41:06 2009 +0000 Remove an unnecessary -f. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81546 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0cb2f6731090cfc8b56679c7802983d16a21fd92 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 18:36:27 2009 +0000 Convert more tests to avoid llvm-as. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81545 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb9fe84e889c35f2010090c5d0d13198b57c3327 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 18:33:44 2009 +0000 fix pasto git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81544 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9da96d8044dc814a45010e9f78af212c189cc447 Author: Caroline Tice <ctice@apple.com> Date: Fri Sep 11 18:25:54 2009 +0000 Don't generate Dwarf line table entries for source line 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81542 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ee2ec58cab5d4aa340aa50f67af4cd99ef184b6 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 18:20:26 2009 +0000 fix some fixmes: emit stubs in sorted order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81541 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66c8021be5351d77c0d1cd8dd52f694ad837b741 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 18:17:12 2009 +0000 Eliminate more redundant llvm-as calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81540 91177308-0d34-0410-b5e6-96231b3b80d8 commit 869beecde3919f7332925a43c336778be770d3b5 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 18:16:43 2009 +0000 Fix this test to test what it was originally intended to test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81539 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3054c0f431010e796b0328150f93aa000f06e863 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 18:15:46 2009 +0000 give densemap iterators real iterator traits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81538 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c7d3083e7c99a22ee4803048dfb86c7a57b1006 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 18:01:28 2009 +0000 Change tests from "opt %s" to "opt < %s" so that opt doesn't see the input filename so that opt doesn't print the input filename in the output so that grep lines in the tests don't unintentionally match strings in the input filename. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8 commit a24946acb21bffc40e9054f7ac25eb9319b406d8 Author: Duncan Sands <baldrick@free.fr> Date: Fri Sep 11 17:24:29 2009 +0000 Fix PR4948 (and a leak): by not destroying the DwarfException object, the timer it creates was not being deleted. Since the timer belonged to a static timer group, the timer group would be destroyed on shutdown, and would notice and complain that not all timers it contained were destroyed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81533 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6cd70ca0ab41c5eab214b92689b072f3fe53bb37 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 17:07:27 2009 +0000 turn on -experimental-asm-printer for x86 / AT&T by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81532 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe7ed54bd19fceebdf98f3420567afacf9674904 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 17:07:01 2009 +0000 another random update git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81531 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9f609938abc0aa496f65cec8baaccca78b4af81 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 17:05:29 2009 +0000 reject attempts to take the address of an intrinsic, PR4949. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81530 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a8e2f2f2b6fc5e9c6122ab1539d56ef2198577d Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 17:02:12 2009 +0000 fix a bunch of spurious failures for people whose home directory is sabre. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81528 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c4ea8fe60cd502437e00f7e5a402329aaef79f7 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 16:49:18 2009 +0000 this test is using invalid "intrinsics". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81527 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3ad76ad92f6abf6d251e1dfa240c64c19e5bf90 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 16:47:41 2009 +0000 fix test to not get a moduleid that matches 'br' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81526 91177308-0d34-0410-b5e6-96231b3b80d8 commit 099640405eda144320bed8acb8db97153779100a Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 16:33:58 2009 +0000 default construct MCInst's ctor to 0, which is "PHI" which is invalid for MCInsts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81525 91177308-0d34-0410-b5e6-96231b3b80d8 commit d11bf276c72fb90393a1c8e04ca6ba25553d5739 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 11 15:47:24 2009 +0000 ... and fix the REQUIRES_RTTI condition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81524 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7985717063d5538f40b90c688f7da9ba8f8c2bf8 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 11 15:45:13 2009 +0000 Fix REQUIRES_RTTI while awake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81523 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e12b8277f6064a999129a526587d8e7378cb2f3 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 11 15:39:39 2009 +0000 Make REQUIRES_RTTI work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81522 91177308-0d34-0410-b5e6-96231b3b80d8 commit f207074410fd77ba40ef110b17a6442b42aed6f1 Author: Owen Anderson <resistor@mac.com> Date: Fri Sep 11 09:01:57 2009 +0000 Eliminate some unnecessary implicit constructors in generated DAG ISel code. Partial fix for PR4946. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81518 91177308-0d34-0410-b5e6-96231b3b80d8 commit c88e8254682141c4155c39a021038ea7c0c40cdd Author: Andreas Neustifter <astifter@gmx.at> Date: Fri Sep 11 08:43:15 2009 +0000 Bugfix. Sorry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81517 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2634e55f8a73b58ee7399bf55e1cbc21457d3c50 Author: Andreas Neustifter <astifter@gmx.at> Date: Fri Sep 11 08:39:33 2009 +0000 Make ProfileEstimator even more robust on general CFGs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81516 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67e71746b1a96204a9f43688df0115f6fc731bfe Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 07:03:20 2009 +0000 switch HiddenGVStubs to be a DenseMap instead of a string map, mirroring FnStubs and GVStubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81514 91177308-0d34-0410-b5e6-96231b3b80d8 commit d17abcab0f6c1ccf446a4447a269d1b2709700f8 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 06:59:18 2009 +0000 Fix a bug I introduced in FnStubs generation, switch GVStubs to be a densemap instead of StringMap to match FnStubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81513 91177308-0d34-0410-b5e6-96231b3b80d8 commit 25c61740e62d7ea5191b0d81da96102a266ef6c7 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 06:36:33 2009 +0000 change FnStubs from being a StringMap<std::string> to being a much more efficient SmallPtrSet<MCSymbol*>. This eliminates string craziness and fixes CodeGen/X86/darwin-quote.ll with the new asmprinter. Codegen is producing stubs in a nondeterminstic order, but it was doing this before anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81511 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2fdf82ddf5816c13fe660d6309e1e09c1550e6df Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 05:59:55 2009 +0000 printInstruction() no longer prints a \n after itself, do it for the two instruction MOVPC32r sequence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81509 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2eaccff47f159c4a90dc8c53f9d81898f6081bd9 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 05:58:44 2009 +0000 reimplement X86ATTAsmPrinter::GetGlobalAddressSymbol in terms of Mangler::getNameWithPrefix. In addition to avoiding some over quoting, this also is more efficient because it uses smallvector instead of std::string thrashing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81508 91177308-0d34-0410-b5e6-96231b3b80d8 commit a84c2917d3f8412b093af06801a595dcf8e00ee0 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 05:51:29 2009 +0000 fix prefix ordering, it's L_foo not _Lfoo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81506 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd7e1108fe9851970a8f9cf190defddde49ab16b Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 05:40:42 2009 +0000 add a new Mangler::getNameWithPrefix API which returns the (uniqued if unnamed) global variable name with the prefix that it is supposed to get. It doesn't do "mangling" in the sense of adding quotes and hacking on bad characters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81505 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2fe752edba6d2b52a4171262ad9281a3cf21b003 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 04:36:43 2009 +0000 convert X86ATTAsmPrinter::GetExternalSymbolSymbol to use SmallString instead of std::string and Mangler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81503 91177308-0d34-0410-b5e6-96231b3b80d8 commit e6fe945acbcf6c92f3b8e9b193f588e1404a9576 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 04:28:13 2009 +0000 rearrange some code, export a SmallString version of DecorateCygMingName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81502 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d1e4fa6fdfac2bd80e049ef298365d764553302 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 01:49:31 2009 +0000 more typos git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81499 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b7dbbf6ff503a3bd10b87ebeeed3e48e36e0d55 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 11 01:01:31 2009 +0000 Follow up to 81494. When the folded reload is narrowed to a 32-bit load then change the destination register to a 32-bit one or add a sub-register index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81496 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58f44f226573975dce94b0bd23b95c2b2df80d56 Author: Chris Lattner <sabre@nondot.org> Date: Fri Sep 11 00:41:15 2009 +0000 PHI nodes can never reach the asmprinter, assert and die instead of printing out an illegal "PHINODE" instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81495 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f0797fd72559a3066290f87c4f79a257bf64fc6 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 11 00:39:26 2009 +0000 It's not legal to fold a load from a narrower stack slot into a wider instruction. If done, the instruction does a 64-bit load and that's not safe. This can happen we a subreg_to_reg 0 has been coalesced. One exception is when the instruction that folds the load is a move, then we can simply turn it into a 32-bit load from the stack slot. rdar://7170444 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81494 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c5f55f3e68092a732e6d3fa0dac6de724461a44 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 00:36:43 2009 +0000 Make fast-isel try ISD::FNEG before resorting to bitcasts and xors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81493 91177308-0d34-0410-b5e6-96231b3b80d8 commit b144a5210c2df1b248b0c92fbf18f0cb1f9f9f91 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 00:34:46 2009 +0000 Reapply r81171 with a fix: don't try to use i64 when it isn't legal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81492 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78894ba572c0da894a177328a0b37d4e8b0cff39 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 00:05:10 2009 +0000 Fix indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81484 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6200a6ec5cb2d2474317cf7c801d242ec25595f4 Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 11 00:04:14 2009 +0000 Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and how to fold notionally-out-of-bounds array getelementptr indices instead of just doing these in lib/Analysis/ConstantFolding.cpp, because it can be done in a fairly general way without TargetData, and because not all constants are visited by lib/Analysis/ConstantFolding.cpp. This enables more constant folding. Also, set the "inbounds" flag when the getelementptr indices are one-past-the-end. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81483 91177308-0d34-0410-b5e6-96231b3b80d8 commit db050e9d9673fda33b4acbf67b1137a6a91e74b7 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 10 23:37:55 2009 +0000 Factor out the code for checking that all indices in a getelementptr are within the notional bounds of the static type of the getelementptr (which is not the same as "inbounds") from GlobalOpt into a utility routine, and use it in ConstantFold.cpp to check whether there are any mis-behaved indices. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81478 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce128857e923728587cf38bac23d9f6ba231ca01 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 10 23:07:18 2009 +0000 Give these files top-level comments that describe the current code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81473 91177308-0d34-0410-b5e6-96231b3b80d8 commit ffc801c29e1d6fa3f6ff2d4236b671b4183b67a1 Author: Devang Patel <dpatel@apple.com> Date: Thu Sep 10 22:36:12 2009 +0000 Fix whitespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81468 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13d28af8449cfa2269589ffb95b3c1d66e9e888c Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 22:14:16 2009 +0000 Fix validation errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81466 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca831f14d40e32df191244092c71e47a3b3498b0 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 22:12:50 2009 +0000 Fix validation errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81465 91177308-0d34-0410-b5e6-96231b3b80d8 commit bdebfa961d5a71ebab1e0e622dd2abb463fff8aa Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Sep 10 22:09:31 2009 +0000 Don't swap the operands of a subtraction when trying to create a post-decrement load/store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81464 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22457ddb96b05ae203164134cc748b43a120ad26 Author: Dale Johannesen <dalej@apple.com> Date: Thu Sep 10 22:01:32 2009 +0000 Fix uppercaseo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81463 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae90d09ea43ca4b0dfa02d2c6d679f81380231ed Author: Kevin Enderby <enderby@apple.com> Date: Thu Sep 10 20:51:44 2009 +0000 Added the ParseInstruction() hook for target specific assembler directives so that things like .word can be parsed as target specific. Moved parsing .word out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes for other targets that support the .word directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81461 91177308-0d34-0410-b5e6-96231b3b80d8 commit 546b28bd90852f0bea34a6dc10cf22de5a773252 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Sep 10 20:18:57 2009 +0000 Fit code within 80 columns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81459 91177308-0d34-0410-b5e6-96231b3b80d8 commit 794457a9a6c91baf493f12fe081f70924b1b7c33 Author: Sean Callanan <scallanan@apple.com> Date: Thu Sep 10 19:52:26 2009 +0000 Added XOR instructions for rAX and immediates of various widths. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81458 91177308-0d34-0410-b5e6-96231b3b80d8 commit 70953a5bee9da7718fab97c9db999041dd38666d Author: Sean Callanan <scallanan@apple.com> Date: Thu Sep 10 18:33:42 2009 +0000 Added MOV instructions between rAX and memory offsets, including segment offsets and (for 8-bit operands) absolute offsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81457 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f3c3f5e4ad869045baed502d9b041f55847f42f Author: Sean Callanan <scallanan@apple.com> Date: Thu Sep 10 18:29:13 2009 +0000 Added a variety of PUSH and POP instructions, including ones capable of accessing R/M operands instead of just registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81456 91177308-0d34-0410-b5e6-96231b3b80d8 commit f2c39f52d692834fd39bfb37e942840188554463 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 18:28:06 2009 +0000 Exit early if exception handling isn't supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81454 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7360cdd2ba9923efb70579ec60480c5408edac21 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Sep 10 17:04:32 2009 +0000 Allow llvmc to take .bc files as input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81452 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9fc3b22df49c0bce6268f337a17e196cbedee72c Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Sep 10 16:30:38 2009 +0000 Make ProfileEstimator more robust on general CFGs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81450 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d83433e2b5a37237f7cce22addd8fb1bbb92306 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 10 16:25:02 2009 +0000 add another broken version of gcc, thanks to Niels Moller for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81449 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcccb9fa64db28ccbb9bdb06341160465dc64a79 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Sep 10 16:22:02 2009 +0000 Distinguish between 'empty' and empty DAG marker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81448 91177308-0d34-0410-b5e6-96231b3b80d8 commit a125693f1475029900a6764451778cecfbbc69bf Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Sep 10 16:21:38 2009 +0000 Add a logical 'not' operator to llvmc's TableGen dialect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81447 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6df6696a9d9f9691db9498c865b3abe013cbbe37 Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Thu Sep 10 14:56:31 2009 +0000 fix leakage of Module git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81445 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90deca07b0cfa2fdceb9cba6e2abd470659444b9 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Sep 10 11:31:39 2009 +0000 Add some braces to make newer GCCs happy and update CMakeLists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81443 91177308-0d34-0410-b5e6-96231b3b80d8 commit 61a788cef4f56ff000806c0c267a7ace68e4f1e2 Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Sep 10 07:12:35 2009 +0000 Cleaned up code by factoring out common portions of edge loading into function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81438 91177308-0d34-0410-b5e6-96231b3b80d8 commit 70ae96f3e7d2070972d280cecc2ccf13bdea3974 Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Sep 10 07:02:09 2009 +0000 Correctly handle the case where a comparison is created in one BasicBlock and used by a terminator in another. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81437 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7bb50b4935836725b83eefeb1e90d0a659ef15a5 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 06:50:01 2009 +0000 Comment and whitespace cleanups. No intentional functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81436 91177308-0d34-0410-b5e6-96231b3b80d8 commit 74446ffeba3226ae63f9a437230fe0f407a308d4 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 06:27:16 2009 +0000 Revert part of my r81424 patch. I removed what looked like superfluous padding from the exception tables. However, Duncan explained why it's a can of worms to do it the GCC way. I went back to doing it the LLVM way and added Duncan's explanation so that I don't do this again in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81434 91177308-0d34-0410-b5e6-96231b3b80d8 commit a511570cf8e6859deef445efe8a0db3707e10f95 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 10 05:08:51 2009 +0000 Add a test case for r81431. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81432 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67d34bd5b31add07ba8413b05d019e22f35d9a0e Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 10 04:56:59 2009 +0000 Remove prcontext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81427 91177308-0d34-0410-b5e6-96231b3b80d8 commit e5406467385df42184feed2f03fbdab5ac38c9f5 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 10 04:36:43 2009 +0000 Add malloc call utility functions. Patch by Victor Hernandez. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81426 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c6e5ae3c8ec8cc5df9f82b4c51d67105e941e5f Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 02:07:37 2009 +0000 Don't hardcode the TType format size. In fact, rework the code so that it's more like what GCC outputs. The mysterious code to insert padding wasn't in GCC at all. I modified the TType base offset code to calculate the offset like GCC does, though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81424 91177308-0d34-0410-b5e6-96231b3b80d8 commit 50e503fc4a90ecd8e98266c4a68c566e5f3e315f Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 10 01:23:53 2009 +0000 Proper support of non-lazy indirect symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81422 91177308-0d34-0410-b5e6-96231b3b80d8 commit 630d3b5c3e116554239d4c50032d2c1b9a01738d Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 01:12:47 2009 +0000 Remove the "#if 0" that Noone loved. It wasn't really necessary, because the code within it was the same inside and out. There's still a problem of the TypeInfoSize should be the size of the TType format encoding (at least that's what GCC thinks it should be). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81417 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ba888a01e1f53c88d8a491b35cee78b170d2ff5 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 10 00:59:15 2009 +0000 MC: Give target specific parsers access to the MCStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81416 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9aadf0b01025e9a91a285fe87cf58353cc8aa61e Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Sep 10 00:49:22 2009 +0000 Revert r81171 which was causing pr4927. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81415 91177308-0d34-0410-b5e6-96231b3b80d8 commit d832f2cd021588a797c00175a894f63d652b3755 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 00:17:04 2009 +0000 Pull check for SJLJ EH into a boolean and use that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81409 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1961846a4701a5cd43a8d7f2624138da0f745e1f Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 00:13:16 2009 +0000 Use the SizeOfEncodedValue function instead of magic variables for the sizeof(DW_EH_PE_udata4). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81408 91177308-0d34-0410-b5e6-96231b3b80d8 commit f551420260bd4eb5e4ca6307eb9ae4d411154061 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 10 00:04:48 2009 +0000 Add helpful comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81406 91177308-0d34-0410-b5e6-96231b3b80d8 commit e99c6d49ea0f6f3b562af85580bdf18bd278b933 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Sep 9 23:56:55 2009 +0000 Believe it or not, this is a simplification. :-) Basically, this patch is working towards removing the hard-coded values that are output for the CIE. In particular, the CIE augmentation and the CIE augmentation size. Both of these should be calculated. In the process, I was able to make a bunch of code simpler. The encodings for the personality, LSDA, and FDE in the CIE are still not correct. They should be generated either from target-specific callbacks (blech!) or grokked from first-principles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81404 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71429f87316fc88ebe54b904c4b1326a71fbc3ec Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 9 23:55:03 2009 +0000 Fix double load / store multiple encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81403 91177308-0d34-0410-b5e6-96231b3b80d8 commit 431b4df9155bfbe94d3b50a1f1bdebfa9055cb44 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 23:46:42 2009 +0000 canonicalize namespace gymnastics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81402 91177308-0d34-0410-b5e6-96231b3b80d8 commit b53d938b38393b624f7f12269c9784cd5116c3bf Author: Dale Johannesen <dalej@apple.com> Date: Wed Sep 9 23:37:46 2009 +0000 Testcase for (llvm-gcc) 81399. Adjust an older test case to allow for different, functionally identical output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81400 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10371a5fdd1b829b3ce0cbd6d0721c700bde1e55 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 9 23:14:54 2009 +0000 Fix pr4939: Change FPCCToARMCC to translate SETOLE to ARMCC::LS. See the bug report for details. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81397 91177308-0d34-0410-b5e6-96231b3b80d8 commit 32d4cc74e1075b6d9f77c75ff6099784ad4f15b2 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 23:14:36 2009 +0000 remove DebugLoc from MCInst and eliminate "Comment printing" from the MCInst path of the asmprinter. Instead, pull comment printing out of the autogenerated asmprinter into each target that uses the autogenerated asmprinter. This causes code duplication into each target, but in a way that will be easier to clean up later when more asmprinter stuff is commonized into the base AsmPrinter class. This also fixes an xcore strangeness where it inserted two tabs before every instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81396 91177308-0d34-0410-b5e6-96231b3b80d8 commit c53c4e5693d079829a7a78d662e691217aaf190f Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 23:09:29 2009 +0000 Fix a subtle bug in "return;" generation which caused us to miss a return in one case. Instead of sprinking return handling code throughout the asmprinter generator, just treat it like any other normal statement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81395 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa50179c30d291443d10d93a7ec6eb4958ee1ac5 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Sep 9 23:01:25 2009 +0000 Add comment re: clang dependency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81393 91177308-0d34-0410-b5e6-96231b3b80d8 commit ffdf10df7ba8b1cef378d86ab11912a95b04e8d4 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 9 22:49:13 2009 +0000 Added an abstract superclass, MCDisassembler, for all disassemblers. Modified the MemoryObject to support 64-bit address spaces, regardless of the LLVM process's address width. Modified the Target class to allow extraction of a MCDisassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81392 91177308-0d34-0410-b5e6-96231b3b80d8 commit be23fd415c91d6b17149b67497316d9593305e05 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Sep 9 21:26:19 2009 +0000 Use the EOL that takes the encoding and translates it into DWARF-English. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81382 91177308-0d34-0410-b5e6-96231b3b80d8 commit c38ebcb176943ab2d8c5e0aa458f3f18990f15b8 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Sep 9 21:08:12 2009 +0000 Early exit from function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81381 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb3105b639197e0e15486fa17beeee74682a608c Author: Bill Wendling <isanbard@gmail.com> Date: Wed Sep 9 21:06:24 2009 +0000 Small amount of code clean-up: Don't use ".size()" when not necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81380 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0741b254540f2c14be367e5de6f893e6b817f35 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 20:45:42 2009 +0000 add a gross hack to get "SrcLine" comments to show up with the new asmprinter. Differently gross hack coming next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81379 91177308-0d34-0410-b5e6-96231b3b80d8 commit e34788cb7ed482bf3b51075f1b06ccc03021fbac Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 20:34:59 2009 +0000 hoist the call to processDebugLoc out of the generated asm printer into the "printInstruction" routine. This fixes a problem where the experimental asmprinter would drop debug labels in some cases, and fixes issues on ppc/xcore where pseudo instructions like "mr" didn't get debug locs properly. It is annoying that this moves the call from one place into each target, but a future set of more invasive refactorings will fix that problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81377 91177308-0d34-0410-b5e6-96231b3b80d8 commit a46d337b041e98c716269c600e3097cc5cca64ae Author: Lang Hames <lhames@gmail.com> Date: Wed Sep 9 20:14:17 2009 +0000 Removed static qualifier from a few index related methods. These methods may require a LiveIntervals instance in future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81374 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5af655e4025b57503a223cbfba2e540f5bab113f Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 9 18:19:35 2009 +0000 Reverted r81358. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81364 91177308-0d34-0410-b5e6-96231b3b80d8 commit f06a9bac9d29e83d24d667ed42f1028e493de42d Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 9 18:18:18 2009 +0000 Fix SplitCriticalEdge to properly update LCSSA form when splitting a loop exit edge -- new PHIs may be needed not only for the additional splits that are made to preserve LoopSimplify form, but also for the original split. Factor out the code that inserts new PHIs so that it can be used for both. Remove LoopRotation.cpp's code for manually updating LCSSA form, as it is now redundant. This fixes PR4934. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81363 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8aa5c72ebecdde5b86c4564ef6059faf34eb1ed7 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Sep 9 18:03:46 2009 +0000 Fix build, add missing simicolon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81362 91177308-0d34-0410-b5e6-96231b3b80d8 commit a89b291eb4dee0605e7618653dac2634fea14e92 Author: Mike Stump <mrs@apple.com> Date: Wed Sep 9 17:57:16 2009 +0000 Reflow comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81361 91177308-0d34-0410-b5e6-96231b3b80d8 commit f193e18b174a8fe51242aabb07f3c0a4f39415af Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 9 17:53:39 2009 +0000 Preserve ProfileInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81360 91177308-0d34-0410-b5e6-96231b3b80d8 commit a1eaf2a024b2338fcdf2ffab01b7169319969830 Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 9 17:52:57 2009 +0000 Add the first functions for updating ProfileInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81359 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba865fcfc00592809b38bad4e65aa5eebd9103bd Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 9 17:51:39 2009 +0000 Cleaned up code by factoring out common portions of edge loading into funcion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81358 91177308-0d34-0410-b5e6-96231b3b80d8 commit 26f6d849e4659e4bb4944359b302fd2aa0e0155b Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 9 17:44:26 2009 +0000 Take lock before removing a node from MDNodeSet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81356 91177308-0d34-0410-b5e6-96231b3b80d8 commit 44c965aed1380578a557b9367f94dee4261dd28d Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 9 17:30:04 2009 +0000 Enable MDNode uniquing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81355 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae4f2739f3a56d33a4049ca94b06021b2bd9bc7e Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 9 17:17:19 2009 +0000 Fix an 80-column violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81354 91177308-0d34-0410-b5e6-96231b3b80d8 commit 94e5001925e25df698a8372024f06bd8581e6edf Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 9 17:07:07 2009 +0000 Gracefully destroy MDNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81353 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d0ae7a4285264213962e906068c98dcf97f2b8e Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 9 16:47:12 2009 +0000 Hide all cscope files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81350 91177308-0d34-0410-b5e6-96231b3b80d8 commit 99a2c97352dfd94a4b94fc6f23f8f0dd6f1ff7be Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 9 16:45:41 2009 +0000 Updated svn:ignore to hide *.cmx files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81349 91177308-0d34-0410-b5e6-96231b3b80d8 commit 920911d1e9f01bca349c9cf90fe78712491a4766 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 16:00:57 2009 +0000 revert r81335, which breaks the build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81347 91177308-0d34-0410-b5e6-96231b3b80d8 commit da58ebcc2659fad293f11e4cd48f9d92b7fc594b Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 9 14:22:57 2009 +0000 When widening a vector load, use the correct chain. This fixes PR4891. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81343 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca1fa68f6f989937a2233797e0f7e6942c4d3b6a Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 9 13:01:03 2009 +0000 Fixed wrong storage option for ProfileVerifierDisableAssertions. Fixed non working -profile-verifier-noassert option. Fixed missing newline in debugEntry(). Cleaned up assert messages. (assert(0 && Message) is still shown, but the message is printed before.) When verifiying loaded profiles the ProfileVerifier got confused when block was a setjmp target, this is checked now. When verifiying loaded profiles the ProfileVerifier got confused when block eventually reaching an exit(), this is checked now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81338 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20bfe16d937eb797d4248dec6c2a57b691779e35 Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 9 12:48:26 2009 +0000 Updated ProfileInfo to have clean seperation between different sentinels. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81335 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7662985fce9b2ca4b60bc57321142a7149fe63d2 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Sep 9 12:09:08 2009 +0000 Add a shortcut for OS X to Path::GetMainExecutable. This gives a nice speedup on clang's testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81333 91177308-0d34-0410-b5e6-96231b3b80d8 commit c755dc57023bd41f52fa464c2fd5008b2171a0c0 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Wed Sep 9 10:14:55 2009 +0000 Copy-pasto. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81331 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00456a75b37a9e1edda5a37657037001eb2deee9 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Wed Sep 9 09:52:04 2009 +0000 Revert 81248 for now. Program objects have ownership semantics on Windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81329 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd1f9fef9648975b0a201da42797d12415eeb83a Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Wed Sep 9 09:51:47 2009 +0000 Check that the 'kill' call succeeded. Thanks to Duncan Sands for spotting this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81328 91177308-0d34-0410-b5e6-96231b3b80d8 commit ebd2da13f15d830ecbac3ffb953fc00bfde9bab2 Author: Edwin Török <edwintorok@gmail.com> Date: Wed Sep 9 09:34:43 2009 +0000 Add testcase for r81322 (PR4933). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81327 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58b79487c4ff0f1a4d6c39ce02ab323a73c20b03 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Sep 9 08:48:53 2009 +0000 Provide proper section flags for various BSS flavours git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81322 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e258a3086667213fb50e920d661bd91a7c0c134 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Sep 9 08:41:20 2009 +0000 Whitespace cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81321 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4de5778fc6ee03ef9b6f2c79a3c92f1886b90e73 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 06:19:34 2009 +0000 add a testacse for the objc problem that required required r81305 to be temporarily disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81320 91177308-0d34-0410-b5e6-96231b3b80d8 commit 965cb2f51ad0e6a8e6e22d1d348057c82a7994b6 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 06:11:14 2009 +0000 disable the new asmprinter by default. Both the Mangler and MCSymbol printing stuff are quoting symbols now, breaking objc testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81319 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52f6f63fbd1339c08b982355b62b85dc344add50 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 9 06:05:16 2009 +0000 Cast MO.getImm() to unsigned before comparing with an unsigned limit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81318 91177308-0d34-0410-b5e6-96231b3b80d8 commit 509ea0c591607793cc3fdf076b80c5743b72ef17 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Sep 9 05:04:01 2009 +0000 Make TypeBuilder's result depend on the LLVMContext it's passed. TypeBuilder was using a local static variable to cache its result. This made it ignore changes in its LLVMContext argument and always return a type constructed from the argument to the first call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81316 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00b667ca7c080da239365c2b129fa85854005ecb Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Sep 9 02:41:50 2009 +0000 Update test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81314 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8acf90f7d6f9850e5192cb6530261aa5d829663b Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Sep 9 02:41:42 2009 +0000 Count test correctly with -q. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81313 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00a068c0defbc610732b89f79904cd04e0a70dc0 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Sep 9 02:41:32 2009 +0000 Fix another refactoro. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81312 91177308-0d34-0410-b5e6-96231b3b80d8 commit c84d4d3a2e752a4ba621587c066c1177cb8d5f40 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 9 01:56:29 2009 +0000 Make sure to make stub region writable before emission, executable after emission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81311 91177308-0d34-0410-b5e6-96231b3b80d8 commit a989293ca8e2c88ac10cf6fb577a9ece58b7b845 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 9 01:47:07 2009 +0000 Fix arm jit encoding bug introduced by 75048. Some instructions', e.g. MOVi, bit 25 should be set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81310 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa04aba9a45c6870836e614150182cd487aa7af3 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 9 01:45:24 2009 +0000 Make sure the memory range is writable before memset'ing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81308 91177308-0d34-0410-b5e6-96231b3b80d8 commit 204d7688f36dfed6dd487371db80ad9140b36986 Author: Eric Christopher <echristo@apple.com> Date: Wed Sep 9 01:44:53 2009 +0000 Correct __cxa_end_catch documentation to reflect that it doesn't take any arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81307 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b3c2ad4b0e7825170e90aadb07fe99408d4046b Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 9 01:38:23 2009 +0000 Remove comments which don't add much to .s readibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81306 91177308-0d34-0410-b5e6-96231b3b80d8 commit 89e53b29fc360d43953ac7df1fbded8e33ed9956 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 00:41:36 2009 +0000 turn the mcinst asmprinter on by default for x86, tweaking two tests to expect the slight syntax differences in the generated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81305 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78c95d8c68ea762991d677773b07eb4d082bfcbc Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 00:40:31 2009 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81304 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9cecef9d4ce35724024f8df6dac209897a76d6f1 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Sep 9 00:30:25 2009 +0000 Remove failing test... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81303 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c8121fc171afe801eab440d89443985b136b53f Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 9 00:23:52 2009 +0000 Add an svn:ignore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81302 91177308-0d34-0410-b5e6-96231b3b80d8 commit d456b2e7d9e9d219e1d429104a35cb6ea5db91ab Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 00:23:32 2009 +0000 make sure to send external symbols through the mangler, this fixes mingw-alloca.ll with the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81301 91177308-0d34-0410-b5e6-96231b3b80d8 commit abe57efd23c3d7f05b01aa30be895f5ae3a41ff4 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 9 00:22:49 2009 +0000 Use "opt < %s" instead of "opt %s" to keep the testname away from the grep. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81299 91177308-0d34-0410-b5e6-96231b3b80d8 commit 44130371343172fe453917c41f74dd795e2fe85e Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 00:22:31 2009 +0000 this got merged into lea.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81298 91177308-0d34-0410-b5e6-96231b3b80d8 commit b39ffdf617c65df69bddce5d456bbfb63426060b Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 00:19:46 2009 +0000 filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81297 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98d648dc6c48b4a9cc0d8126ec22d10ccf51813e Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 00:14:09 2009 +0000 allow @ in symbol names without quoting the identifier. This allows things like @PLT without quotes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81296 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b3593ac463ad21559e0097a268888c79e4e403e Author: Bill Wendling <isanbard@gmail.com> Date: Wed Sep 9 00:11:02 2009 +0000 Fix PR4865. This syncs up the JIT's DWARF emitter with what's in the 'DwarfException.cpp' file, which changed how CIEs were emitted, the sizes of some fields, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81295 91177308-0d34-0410-b5e6-96231b3b80d8 commit 50470b55a378c023286f09325ae098496becc002 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 9 00:10:14 2009 +0000 add support for @PLT and friends on external symbols, fixes x86-64-pic-11.ll with the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81294 91177308-0d34-0410-b5e6-96231b3b80d8 commit da594cf0865888a79fe498de539e2285430674cb Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 9 00:09:15 2009 +0000 Eliminate more uses of llvm-as and llvm-dis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81293 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a063105e432e649d64d354a3ea4b295172ed6cf Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 23:54:48 2009 +0000 Eliminate more uses of llvm-as and llvm-dis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81290 91177308-0d34-0410-b5e6-96231b3b80d8 commit 801631d7291d79bf1e9381dcd07e1f2af2b9eeb7 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 23:51:06 2009 +0000 update various tests for signedness changes in .s file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81289 91177308-0d34-0410-b5e6-96231b3b80d8 commit 793df4a99f1c9c201d1d660c469eb396fd30c926 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 23:44:53 2009 +0000 adjust for signedness change. I'd appreciate it if an ARM flavored person could look at this: the top undefined bits of an immediate shouldn't affect isel (cmp vs cmp.w) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81288 91177308-0d34-0410-b5e6-96231b3b80d8 commit f104fefd323bde3c0259a290322b01883457ed5a Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 23:44:24 2009 +0000 Merge Archive/extract* tests into one; this avoids a race when tests are run in parallel (the test should really use temps for the output, though). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81287 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84be013efdfb9340a10c2f2821211423d0a962ab Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 23:41:06 2009 +0000 merge thumb2-bic2.ll into thumb2-bic.ll and update for signedness changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81285 91177308-0d34-0410-b5e6-96231b3b80d8 commit 221813a2d67821161ca4604121d3d4b9a5e3c406 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 23:32:51 2009 +0000 Add Triple::getArchTypeForDarwinArchName, which converts a "Darwin" architecture name (e.g. "ppc") to the appropriate constant. Also, StringRefize additional Triple constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81274 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee69fee764b11c7e480bb29ef351f93062bbdcca Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 23:32:40 2009 +0000 tweak this to pass on linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81273 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b349f2003f776ef5bca4e009bf0af96a884ca52 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 23:32:35 2009 +0000 Improve JIT error message for users crazy enough to use -march with JIT, and mention -version in messages about missing targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81272 91177308-0d34-0410-b5e6-96231b3b80d8 commit 75410d8bc45d8536e7a7c7acdce7b7a064256291 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 23:20:50 2009 +0000 parenthesize symbol names that start with $, fixing X86/dollar-name.ll with the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81269 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd30f56da8ae5252a5028754cbf035d4081c6cb7 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 23:16:26 2009 +0000 convert to filecheck syntax git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81267 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ac501ab8363823363bb62cba3f3bde409d8c5b5 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 23:05:44 2009 +0000 change selectiondag to add the sign extended versions of immediate operands to instructions instead of zero extended ones. This makes the asmprinter print signed values more consistently. This apparently only really affects the X86 backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81265 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa540692bfbce485b154f35b13f10748819d19e1 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 22:57:49 2009 +0000 Use "opt < %s" instead of "opt %s" so that opt doesn't print the test filename in the output, which interferes with the tests' grep lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81263 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14636a5b8822276713045b4322b1f9f9c0c7c600 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Sep 8 22:51:43 2009 +0000 Unbreak getOnesVector() / getZeroVector() to use valid ARM extended imm's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81262 91177308-0d34-0410-b5e6-96231b3b80d8 commit f15d065c6f04c706e8262c116d3d4d4040f5eb64 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 22:41:33 2009 +0000 Convert a few more opt | llvm-dis to opt -S. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81261 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9352009ee611a1443f5dca5202ffc76430fd385 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 22:38:46 2009 +0000 filecheckize some tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81259 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bb7c7c3b0d45867a9770d5468624cbefe37adad Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 22:34:10 2009 +0000 Use opt -S instead of piping bitcode output through llvm-dis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81257 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e4519c64ba34818ace9858444a66399be7eecfd Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 22:20:35 2009 +0000 Use MemoryBuffer::getBufferIdentifier() in the AsmPrinter instead of requiring a name be passed in. This makes it use "<stdin>" instead of "-" and makes it more consistent with the Bitcode reader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81256 91177308-0d34-0410-b5e6-96231b3b80d8 commit 61cf99d511f74bef0739cdbfbbcf7094d3db2303 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Sep 8 20:31:27 2009 +0000 This should unbreak the build on 64-bit Linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81252 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66b57f3a2a4891f05392bdffb6717326f99b9bc6 Author: Owen Anderson <resistor@mac.com> Date: Tue Sep 8 19:53:15 2009 +0000 Fix PR4909, patch by Jakub Staszak. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81250 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5e639c1b8eb54e0af46b3a529d0a1cac39f8ded Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Sep 8 19:51:39 2009 +0000 Const-correctness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81249 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7490029b28358b8251bf525e199b2618a7da4afa Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Sep 8 19:51:12 2009 +0000 Since Program is basically a PID, it should be copyable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81248 91177308-0d34-0410-b5e6-96231b3b80d8 commit 460b0175ff36930e7ab2a0c1e0ac1c861b704765 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Sep 8 19:50:55 2009 +0000 Get rid of the Pid_ member in the Program class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81247 91177308-0d34-0410-b5e6-96231b3b80d8 commit a28016831340436a42b077c2711e040c46cb106f Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Sep 8 19:50:27 2009 +0000 Add a Kill() function to the Program class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81246 91177308-0d34-0410-b5e6-96231b3b80d8 commit 83d45d7286b38453c8182486393dabde6f28c574 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 19:45:34 2009 +0000 another typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81243 91177308-0d34-0410-b5e6-96231b3b80d8 commit e951acadc8f81264295608f02ea3f7dcbb0e3846 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 8 18:52:20 2009 +0000 Do not specify -mmacosx-version-min if building for arm-apple-darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81240 91177308-0d34-0410-b5e6-96231b3b80d8 commit a97bc6042d8356416520f6daf9c9269c3afde89b Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 18:48:01 2009 +0000 remove an extremely dubious instcombine transformation of extractelement(load). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81239 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c440a116254922bcaeae433788bfb170a8546e1 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 8 18:14:36 2009 +0000 Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81235 91177308-0d34-0410-b5e6-96231b3b80d8 commit d873a95ab04653b72825b360c48420e6763f3da3 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 17:03:05 2009 +0000 Trim unnecessary declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81227 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b4c27779eba0ad4edeb73d1c2855345ad56f6ff Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 16:50:01 2009 +0000 Change these tests to feed the assembly files to opt directly, instead of using llvm-as, now that opt supports this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226 91177308-0d34-0410-b5e6-96231b3b80d8 commit 06db349124125c3fc5c310afeb56be0d2d81aacb Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 16:14:54 2009 +0000 Fix may-be-used-uninitialized warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81223 91177308-0d34-0410-b5e6-96231b3b80d8 commit 25de0deb077ad1db2da9b0ed3ba6c0efc07a936d Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 15:52:56 2009 +0000 llvm-as is no longer needed here, now that opt can read assembly files directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81222 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9cec4125f92b12880692c3e4a378b792a85ea67a Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 15:45:00 2009 +0000 Re-apply r80926, with fixes: keep the domtree informed of new blocks that get created during loop unswitching, and fix SplitBlockPredecessors' LCSSA updating code to create new PHIs instead of trying to just move existing ones. Also, optimize Loop::verifyLoop, since it gets called a lot. Use searches on a sorted list of blocks instead of calling the "contains" function, as is done in other places in the Loop class, since "contains" does a linear search. Also, don't call verifyLoop from LoopSimplify or LCSSA, as the PassManager is already calling verifyLoop as part of LoopInfo's verifyAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81221 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd528195c766db4211a29e0955e5f888f322dc37 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Sep 8 15:22:32 2009 +0000 Add NEON 'laned' operations. This fixes another bunch of gcc testsuite fails and makes the code faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81220 91177308-0d34-0410-b5e6-96231b3b80d8 commit c802e48f18be86250b5249a8f545fc61ae858aa6 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 15:13:16 2009 +0000 fix a couple typos pointed out by edwin and duncan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81219 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce4265b24fa707a83b564c814a66d6f4ca7e76fe Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 14:14:24 2009 +0000 Unbreak these tests. Chris, please verify that these changes are intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81217 91177308-0d34-0410-b5e6-96231b3b80d8 commit b246f53c4457fe7787ba675807eb78e8c4cdd540 Author: Richard Pennington <rich@pennware.com> Date: Tue Sep 8 12:47:30 2009 +0000 Add source debug information to the Sparc code generator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81215 91177308-0d34-0410-b5e6-96231b3b80d8 commit 99c816857be050d35719a3425f46a4ac1b1057e7 Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr> Date: Tue Sep 8 07:39:27 2009 +0000 When emitting a label for a PostCall safe point, the machine instruction to insert before can be end(). getDebugLoc on end() returns an invalid value, therefore use the debug loc of the call instruction, and give it to InsertLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81207 91177308-0d34-0410-b5e6-96231b3b80d8 commit d326c7aff924917ceb6cb9b9a788865941d8b531 Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr> Date: Tue Sep 8 07:36:18 2009 +0000 Also emit a label for TargetInstrInfo::GC_LABEL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81206 91177308-0d34-0410-b5e6-96231b3b80d8 commit a04450b1cad35ec96eb4b15d5646661232475a51 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Sep 8 07:30:03 2009 +0000 Unbreak git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81205 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f6c7da13e517fa7aacc7514bbff034365823970 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Sep 8 06:39:07 2009 +0000 When remat'ing and destination virtual register has a sub-register index. Make sure the sub-register class matches the register class of the remat'ed instruction definition register class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81204 91177308-0d34-0410-b5e6-96231b3b80d8 commit b051a8456f5c4ef77a845b6359f32cd26b6938a8 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 06:37:35 2009 +0000 Print "X-42" instead of "X+-42". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81203 91177308-0d34-0410-b5e6-96231b3b80d8 commit 914d43ea8fcbcc97cf319ce1ea86af4489797ca2 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 06:34:07 2009 +0000 make formatting of expressions more closely match the existing asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81202 91177308-0d34-0410-b5e6-96231b3b80d8 commit 44ef733215a9c96583d0d74f32b79fd2017718e5 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 06:27:48 2009 +0000 tidy whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81201 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2724d2a6913f8ec77ccd2291249cbe11d4405d2 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 06:26:40 2009 +0000 disable some irrelevant eh emission git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81200 91177308-0d34-0410-b5e6-96231b3b80d8 commit 420109d27c41cf7306706d14ca814636294f2b55 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 06:25:12 2009 +0000 add support for some missing modifiers on jumptable/constant pool entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81199 91177308-0d34-0410-b5e6-96231b3b80d8 commit c638baf0df2f24ebf41eca5f8521a69ad1a5a076 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 06:19:15 2009 +0000 add a bunch more evil lowering code to work around various :subreg32 modifiers in the .td files. This gets us down to 18 failures in codegen/x86 with the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81198 91177308-0d34-0410-b5e6-96231b3b80d8 commit bad5239b41aae2d840894165a79bd315e511d520 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 06:08:07 2009 +0000 lit needs bash for tcl-as-sh execution, we use set -o pipefail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81197 91177308-0d34-0410-b5e6-96231b3b80d8 commit 06418126b47276fa17a388ee789fdf2b65bf75e9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 06:03:07 2009 +0000 ADd support for "lowering" the X86::MOVZX16rr8/X86::MOVZX16rm8 subreg32 modifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81196 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2683c9d41df3f486f949333263ae6a1fd3e8289 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 05:49:25 2009 +0000 add a hack to lower MOV16r0 to MOV32r0 in MCInstLower, eliminating the problem with subreg32 modifiers. This gets all of Olden working with the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81195 91177308-0d34-0410-b5e6-96231b3b80d8 commit 926c3ff188a32c57f740994172fc2cde75504dfd Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 05:46:28 2009 +0000 Fix typo that worked on python 2.6. Also, fix unit tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81194 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ed791867cfb7fe82e3f9dd512efe4e33c4f6f51 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 8 05:46:15 2009 +0000 Hoist out the test+insert to CheckedTypes. This doesn't seem to affect performance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81193 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6be620e43ce72f3e7c4a0acf3f8d05020c5c536 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 05:37:51 2009 +0000 Fix a refactoro. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81192 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12ffa4de8df01f0dc0533945d05ea8466d79c104 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 05:31:44 2009 +0000 Add 'lit' support for llvm tests. - This adds 'make check-lit' from the top-level Makefile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81191 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb15e592d9d89cf2ad3949ecc601848c5d930f0f Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 8 05:31:18 2009 +0000 Add 'lit' testing tool. - make install && man $(llvm-config --prefix)/share/man/man1/lit.1 for more information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81190 91177308-0d34-0410-b5e6-96231b3b80d8 commit 599c392e8d93a229de7d1a6a7182b40e33791f3c Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 05:15:50 2009 +0000 llvm::cerr is gone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81189 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1efd4fd6a1b967fc3f0dbbd0d9c835ea5eec4f21 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 05:14:44 2009 +0000 update this to use raw_ostream git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81188 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3195875c346108303d315cac0c245d80f980dfb Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 04:55:44 2009 +0000 fix PR4767, a crash because fp stackifier visited blocks in depth first order, so it wouldn't process unreachable blocks. When compiling at -O0, late dead block elimination isn't done and the bad instructions got to isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81187 91177308-0d34-0410-b5e6-96231b3b80d8 commit d069a058917c5968774064354516f628159971c6 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 03:47:41 2009 +0000 remove a turd git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81186 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ba36b786d8c051e764fb39e0c2503ba1f19dc92 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 03:44:51 2009 +0000 instcombine transforms vector loads that are only used by extractelement operations into a bitcast of the pointer, then a gep, then a scalar load. Disable this when the vector only has one element, because it leads to infinite loops in instcombine (PR4908). This transformation seems like a really bad idea to me, as it will likely disable CSE of vector load/stores etc and can be better done in the code generator when profitable. This goes all the way back to the first days of packed types, r25299 specifically. I'll let those people who care about the performance of vector code decide what to do with this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81185 91177308-0d34-0410-b5e6-96231b3b80d8 commit a48dd11cea464022adf7c557c46b28abf148283a Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 03:39:55 2009 +0000 fix pasto git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81184 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e63feec4518f1c1d86121cd8f7957cf1211f720 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 03:32:53 2009 +0000 add getVectorOperand/getIndexOperand accessors to ExtractElementInst. Fix some const correctness problems in SelectInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81183 91177308-0d34-0410-b5e6-96231b3b80d8 commit 134e5d925b66c14c38438c0beca9b0f3bc30db47 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 8 02:02:39 2009 +0000 Simplify from my last change. Assert1 is a macro that makes its caller return, so "Assert1(isa<>); cast<>" is a valid idiom. Actually check the PHI node's odd-numbered operands for BasicBlock-ness, like the comment said. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81182 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b9f83a3e87d2b6cbcf1af525f0b1796c17fd571 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 8 01:44:02 2009 +0000 Fix an abort on a store of an empty struct member. getValue returns null in the case of an empty struct, so don't try to call getNumValues on it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81180 91177308-0d34-0410-b5e6-96231b3b80d8 commit d95bc887780e7af86abcf45c64d8772936ed6475 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Sep 8 01:23:52 2009 +0000 Verify types. Invalid types can be constructed when assertions are off. Make the verifier more robust by avoiding unprotected cast<> calls. Notably, Assert1(isa<>); cast<> is not safe as Assert1 does not terminate the program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81179 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9ac5deabfa68d437de63461d45b9c2912f527b9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 01:22:54 2009 +0000 fix PR4915, a crash in -debug mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81177 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a748b0f120835f4e83b77cfa761b504125ec817 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 00:27:14 2009 +0000 Fix PR4882, by making MemCpyOpt not dereference removed stores to get the context for the newly created operations. Patch by Jakub Staszak! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81175 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1698f255e9973fbc44b66852770e289db3abfa83 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 00:13:52 2009 +0000 fix ComputeMaskedBits handling of zext/sext/trunc to work with vectors. This fixes PR4905 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81174 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e27672525f06113d206f961212ccd7db9226240 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 8 00:06:16 2009 +0000 add some comments to describe the invariants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81173 91177308-0d34-0410-b5e6-96231b3b80d8 commit f3a08b82db22aa66dd10f9a939993c7797baf32e Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 23:54:19 2009 +0000 Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81172 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4d34a74cd602a2a0438efade40a536d67ed38a3 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 23:47:14 2009 +0000 Fix a thinko: When lowering fneg with xor, bitcast the operands from floating-point to integer first, and bitcast the result back to floating-point. Previously, this test was passing by falling back to SelectionDAG lowering. The resulting code isn't as nice, but it's correct and CodeGen now stays on the fast path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81171 91177308-0d34-0410-b5e6-96231b3b80d8 commit 466291fd5924c11599be837375214d41ef7f518a Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 7 23:33:52 2009 +0000 add some more notes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81170 91177308-0d34-0410-b5e6-96231b3b80d8 commit fda03491a5933cb61d0c6a54edba4fac12b651e2 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 23:04:59 2009 +0000 Add a testcase for the GlobalOpt inbounds fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81168 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d72cd8e173b1424d6e41eae1494268e457dc718 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 7 22:52:39 2009 +0000 describe undef semantics in some more detail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81167 91177308-0d34-0410-b5e6-96231b3b80d8 commit dabbeec685c1fa912aebc208f715ba9ee92a0899 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 22:45:41 2009 +0000 Add inbounds to these getelementptrs, now that GlobalOpt requires this, to preserve the meaning of these tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81166 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2723ad812300b525b77334a4180d3531613ae3e Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 22:44:55 2009 +0000 Don't commit stores with addresses that have indices that are not compile-time constant integers or that are out of bounds for their corresponding static array types. These can cause aliasing that GlobalOpt assumes won't happen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81165 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9524ee6fbbe252887fc957b2d5612318abed5171 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 22:42:05 2009 +0000 Don't commit addresses of aggregate values. This avoids problems with an aggregate store overlapping a different aggregate store, despite the stores having distinct addresses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81164 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c834c07335e47546df1d9ef10f79b69cfee7651 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 22:40:13 2009 +0000 Fix GlobalOpt to avoid committing a store if the address getelementptr is missing the inbounds flag. This is slightly conservative, but it avoids problems with two constants pointing to the same address but getting distinct entries in the Memory DenseMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81163 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d907d00498eaaa2bf0d176adf73f66c0c80d8e8 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 22:34:43 2009 +0000 Preserve the InBounds flag when evaluating a getelementptr instruction into a getelementptr ConstantExpr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81162 91177308-0d34-0410-b5e6-96231b3b80d8 commit 278fbe6ee2d970a5379dbeb8cf4e55a54e0421d6 Author: Dan Gohman <gohman@apple.com> Date: Mon Sep 7 22:31:26 2009 +0000 Simplify this code by using hasDefinitiveInitializer(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81161 91177308-0d34-0410-b5e6-96231b3b80d8 commit 706e47f84bb290a91bf2147c9e7f5c77deb6558f Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 7 22:15:23 2009 +0000 tighten test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81159 91177308-0d34-0410-b5e6-96231b3b80d8 commit 542cd205d82f4d38208ea64aed56c38434381539 Author: Chris Lattner <sabre@nondot.org> Date: Mon Sep 7 22:14:41 2009 +0000 tweak test, add PR# git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81158 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13c337ae0c3af6cadefd022baab370e558c00685 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Sep 7 21:50:24 2009 +0000 Express this in the canonical way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81157 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9c2f24ff7c9803f68be9a2dbf53c5157cf77c30 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Sep 7 20:44:51 2009 +0000 Homogenize whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81156 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7201b61a736089675ab6bd04bd5fe92d9b42b76d Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 7 19:26:18 2009 +0000 Use -output-prefix in bugpoint tests so that outputs go in temp directory (and we don't race on them). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81155 91177308-0d34-0410-b5e6-96231b3b80d8 commit 377b5a388198dcfdba040b77352c6b4b2c7f577a Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 7 19:26:11 2009 +0000 Add -output-prefix option to bugpoint (to change the default output name). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81154 91177308-0d34-0410-b5e6-96231b3b80d8 commit 741507d7505493a7b270ba9146f0ed6eeb1a27f8 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 7 19:26:02 2009 +0000 Don't depend on Tcl behavior of redirecting stderr for all commands in a pipeline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81153 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45983257e95b1350100ed50a1e207eb73db58ac8 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 7 19:25:54 2009 +0000 Avoid Tcl substitution, introduced %llvmgcc_only for this one little test (%llvmgcc includes a '-w' argument, and this test looks for warnings). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81152 91177308-0d34-0410-b5e6-96231b3b80d8 commit 104b3ff2dbe1f6e8f3b06f2027774ea79fca204e Author: Duncan Sands <baldrick@free.fr> Date: Mon Sep 7 05:58:25 2009 +0000 Using a signal handler that does nothing should be equivalent to SIG_IGN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81144 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b778fd333ad44d9f1a8c05bc98fd42f5afc5b42 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 7 04:19:02 2009 +0000 Update unittests for MDNode uniquing disable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81142 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41160673bbfa67301f5a3768d624a9bed81812b3 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 7 04:05:49 2009 +0000 Disable MDNode uniquing. - Hopefully this unbreaks some llvm-gcc bootstraps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81141 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c40a1e0e73319536107388601b864e004cef4ad Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Sep 7 04:03:44 2009 +0000 Document opt -S argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81140 91177308-0d34-0410-b5e6-96231b3b80d8 commit e187ef9ba5db756647acb2aff91123328e8feb38 Author: Eric Christopher <echristo@apple.com> Date: Sun Sep 6 22:20:54 2009 +0000 Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81138 91177308-0d34-0410-b5e6-96231b3b80d8 commit 978451f1282a624bc18ae4daf3a1d2a4e32912e1 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Sep 6 20:21:48 2009 +0000 Do not create calls via PLT in compilation callback - this is higly platform dependent. Hopefully, this will fix PR3801. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81132 91177308-0d34-0410-b5e6-96231b3b80d8 commit 65316a37fbf3d14b68a6f6812a429eac9ec82f3f Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 20:02:00 2009 +0000 Do not try to override non-virtual methods, especially when the new method gives the same result as the original (as far as I can see). This will hopefully pacify icc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81131 91177308-0d34-0410-b5e6-96231b3b80d8 commit 831102e53292a8cd36907a32ec96630bc5819378 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 19:29:07 2009 +0000 Remove a left over bit of code with no effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81128 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00caa72006e1ba4b2897461187fb18c060a36369 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 19:28:38 2009 +0000 Avoid warnings if assertions are off. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81127 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8297d720b3983c946376e590cfbac5918078a4af Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 19:27:53 2009 +0000 Remove unreachable code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81126 91177308-0d34-0410-b5e6-96231b3b80d8 commit 950b9861ba3a7964bc911df9b97fa8d136e0bcd5 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 18:03:32 2009 +0000 Simplify. Testing shows that this is not equivalent to BBI = CR.CaseBB + 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81124 91177308-0d34-0410-b5e6-96231b3b80d8 commit e0a6add2ae24cc9270fc5c85b16a8836d9278064 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 16:27:34 2009 +0000 Avoid an unused variable warning when assertions are disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81122 91177308-0d34-0410-b5e6-96231b3b80d8 commit fbc8e46ee99c6bc13b4cef2dabea28fa578f6c52 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 13:10:36 2009 +0000 Change "const static" to "static const", as warned about by icc (#82). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81117 91177308-0d34-0410-b5e6-96231b3b80d8 commit dc94fb91bc0e3dba99c31b3b7f3b8e5048b0e137 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 12:56:52 2009 +0000 Mark more constants unsigned, as warned about by icc (#68). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81116 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05db668fe21feee223e19fe50ddeb6456ddebafb Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 12:41:19 2009 +0000 Remove some not-really-used variables, as warned about by icc (#593, partial). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81115 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ac0e8af264c4ab82fb663d342011dfd18d4572d Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Sep 6 12:26:28 2009 +0000 More MSVC warning fixes: 1. DUPMAX is defined in regcomp.c, no need to redefine it in regutils. 2. MSVC doesn't like snprintf, use _snprintf instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81114 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd67298c9746bc1e4ac6f730f7d10122f00072c1 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 12:16:26 2009 +0000 Remove strange 'const' qualifiers, as warned about by icc (#411). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81113 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0db71af6ee5f1ed8495222226db9e4c85eef4805 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Sep 6 12:10:17 2009 +0000 It's a bool, so treat it like one. Fixes a MSVC warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81112 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6e467911587ca54f496958b9e844d566667017b Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 11:45:14 2009 +0000 Mark constants as unsigned, as pointed out by icc warnings (#174). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81111 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3872b7ec9730d0492e40ab8c279dd8d397d71d42 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 10:53:22 2009 +0000 Tweak code into an equivalent form for which icc doesn't warn about unreachable instructions. Patch by Erick Tryzelaar (#111). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81110 91177308-0d34-0410-b5e6-96231b3b80d8 commit a118e65f108d5222f359ff32d24a27bdcaf27eb1 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Sep 6 09:35:10 2009 +0000 Fix an integer truncation noticed by MSVC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81109 91177308-0d34-0410-b5e6-96231b3b80d8 commit defe7950099b9f472d0dc03d621b1c8cd72ecc4d Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Sep 6 09:29:39 2009 +0000 Remove splint hints to silence warnings from ICC and MSVC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81108 91177308-0d34-0410-b5e6-96231b3b80d8 commit e0223c296633ecaa5712c129a4cab7a0d6a3a9bf Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 08:55:57 2009 +0000 Public and private corrections, warned about by icc (#304). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81107 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c3f915679bede35de38a5702359ab5befc38b95 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 08:33:48 2009 +0000 Remove some unused variables and methods warned about by icc (#177, partial). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81106 91177308-0d34-0410-b5e6-96231b3b80d8 commit bbfc76d44f8db3457b24e4c2fdfe0f7774a815a5 Author: Duncan Sands <baldrick@free.fr> Date: Sun Sep 6 07:23:28 2009 +0000 Remove unneeded declaration, as warned about by icc (#1170). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81104 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb834e9b6313111b17d9d8ee62ffe3cdf75568f8 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 6 02:31:36 2009 +0000 Fix a possible crash call setIsInBounds. - I think there are more instances of this, but I think they are fixed in Dan's incoming patch. This one was preventing me from doing a bugpoint reduction though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81103 91177308-0d34-0410-b5e6-96231b3b80d8 commit 610b1c2a518c8aba64f3e0967b7fd5442efce0b7 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 6 02:31:26 2009 +0000 Simplify, now that gtest supports raw_ostream directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81102 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed6987d5e1669a0dec12cb470c38a0340ceabb7d Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Sep 6 02:26:10 2009 +0000 Revert r80926. It causes loop unswitch assertion and slow down some JIT tests significantly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81101 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f3451886cd728c60d38f8eec7b6608acc684cc6 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 6 00:11:24 2009 +0000 Revert "Include optional subclass flags, such as inbounds, nsw, etc., ...", this breaks MiniSAT on x86_64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81098 91177308-0d34-0410-b5e6-96231b3b80d8 commit b7fb353614ccc2574e85f2f4d972e5b452c0e6ec Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Sep 6 00:00:13 2009 +0000 Fix spacing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81097 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6fb7ceecb1b05ddf1c78d5be285fcf38499bbcdf Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Sep 5 18:27:40 2009 +0000 Now that googletest can print ConstantRange, use EXPECT_EQ when testing for equality. Prefer EXPECT_EQ(foo, Full) over EXPECT_TRUE(foo.isFullSet()) because the former will print out the contents of the constant range that failed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81094 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2539a0fd5649cc11926e0f8207c871509a064fc0 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Sep 5 18:16:17 2009 +0000 Teach googletest to use raw_ostream instead of just std::ostream. This can break when there are implicit conversions from types raw_ostream understands but std::ostream doesn't, but it increases the number of cases that Just Work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81093 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a5a153ce6ed9029a7a27f45b531a434c6139a40 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 5 12:38:44 2009 +0000 Quote another '%S' in a test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81088 91177308-0d34-0410-b5e6-96231b3b80d8 commit 568d974702d7ebfc70a6dfae1fae5d69ed6b9d7a Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 5 12:38:35 2009 +0000 Rename %S metavar to %M (clang uses %S for the basename of the test file). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81087 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6af8408bd6fa8a5517b8f282f8f4519ccf1a7d4 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 5 12:38:26 2009 +0000 Temporary test files should use %t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81086 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0edd5030da5e7f16bf7ae7728c55205bc2a45e7 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 5 11:53:06 2009 +0000 Don't depend on arch specific global prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81084 91177308-0d34-0410-b5e6-96231b3b80d8 commit b994d02f07d52dbb7876d2c273a278bf24d7cd22 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 5 11:35:16 2009 +0000 Eliminate uses of %prcontext. - I'd appreciate it if someone else eyeballs my changes to make sure I captured the intent of the test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81083 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a34ea6046da3f1645557e43e90ba92699ced486 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 5 11:34:53 2009 +0000 opt: Add -S option to print output as LLVM assembly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81082 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b4b45c440ef66927923db8c90555f4a84ad1b93 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Sep 5 11:34:46 2009 +0000 Eliminate some Tclisms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81081 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d876ee1f15217f2a537041f8d1e721dc8c20dc3 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Sep 5 08:50:14 2009 +0000 Delete unused #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81076 91177308-0d34-0410-b5e6-96231b3b80d8 commit e509b44f6964be58d9d5204589d0e68b6ed9c432 Author: Bob Wilson <bob.wilson@apple.com> Date: Sat Sep 5 01:19:16 2009 +0000 Stabilize the order of live intervals in the priority_queue used by the linear scan reg alloc. This fixes a problem I ran into where extracting a function from a larger file caused the generated code to change (masking the problem I was trying to debug) because the allocator behaved differently. This changes the results for two X86 regression checks. stack-color-with-reg is improved, with one less instruction, but pr3495 is worse, with one more copy. As far as I can tell, these tests were just getting lucky or unlucky, so I've changed the expected results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81060 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5290ac201f2bd669d8e09cfc45f98b6f39784324 Author: Devang Patel <dpatel@apple.com> Date: Sat Sep 5 00:34:14 2009 +0000 Detect VLAs. Do not use DenseMap operator[] because it inserts new entry if lookup fails. Use find() to check an entry in a DenseMap first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81058 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c03f0626103c650db38940c5edf806648f6895d Author: Devang Patel <dpatel@apple.com> Date: Fri Sep 4 23:59:07 2009 +0000 Ignore malformed global variable debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81055 91177308-0d34-0410-b5e6-96231b3b80d8 commit 239b5780eeee253127897d0bcfe0386c483b784d Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Sep 4 22:45:23 2009 +0000 Prune #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81052 91177308-0d34-0410-b5e6-96231b3b80d8 commit 92469fe6cc59a9f06e4d9f26d0047a6702dec6f3 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Sep 4 22:44:03 2009 +0000 Remove an unneeded call to c_str(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81051 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71743a46b89750f45c71aa694c103c86c247c040 Author: Kevin Enderby <enderby@apple.com> Date: Fri Sep 4 22:40:31 2009 +0000 Added AsmToken enum constants to MCAsmLexer.h for '[', ']', '{', and '}' in preparation of supporting other targets. Then changed the lexer to parse these as tokens. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81050 91177308-0d34-0410-b5e6-96231b3b80d8 commit 685689cae6703e4ca9fce5805b44e99ca8047d4e Author: Kevin Enderby <enderby@apple.com> Date: Fri Sep 4 21:45:34 2009 +0000 Added the AsmToken::Hash enum constant to MCAsmLexer.h in preparation of supporting other targets. Changed the code to pass MCAsmInfo to the parser and the lexer. Then changed the lexer to use CommentString from MCAsmInfo instead of a literal '#' character. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81046 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08fe10526f25d21437fd484b007a6ab772ef794d Author: Devang Patel <dpatel@apple.com> Date: Fri Sep 4 21:32:05 2009 +0000 While replacing an MDNode elment, properly update MDNode's operand list. MDNode's operand list does not include all elements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81045 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1573308b6dd6e548c3ac70d740579db0fb086c67 Author: Andreas Neustifter <astifter@gmx.at> Date: Fri Sep 4 21:22:04 2009 +0000 Prevent warnings on compilers for which its not clear that assert won't return. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81044 91177308-0d34-0410-b5e6-96231b3b80d8 commit 056fc97aaab9f2ae097ee243175fb21a871b5462 Author: Lang Hames <lhames@gmail.com> Date: Fri Sep 4 21:03:07 2009 +0000 Removed yet another std::ostream reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81042 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5cd57b09b71bd03b36c5d64707d50d05ca34618c Author: Lang Hames <lhames@gmail.com> Date: Fri Sep 4 20:54:51 2009 +0000 Removed some junk and a std::ostream operator that was hanging around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81041 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8f309943c6c05daa9e23f7bcb08cf5c18eb4a26 Author: Lang Hames <lhames@gmail.com> Date: Fri Sep 4 20:41:11 2009 +0000 Replaces uses of unsigned for indexes in LiveInterval and VNInfo with a new class, MachineInstrIndex, which hides arithmetic details from most clients. This is a step towards allowing the register allocator to update/insert code during allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81040 91177308-0d34-0410-b5e6-96231b3b80d8 commit d98806736fb1505ccad81879fdddb2cbd0ab4880 Author: Dale Johannesen <dalej@apple.com> Date: Fri Sep 4 20:19:09 2009 +0000 Test for llvm-gcc commit 81037. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81038 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19da904e44d1f35af13c72f0fc3bdd9ec3a0ba73 Author: Andreas Neustifter <astifter@gmx.at> Date: Fri Sep 4 17:21:59 2009 +0000 Updated tests to use ProfileVerifer to test ProfileLoader and ProfileEstimator. (Keep disabled test disabled until selfhosted build issue is resolved.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81008 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2ae05a1c31ecc161fa2ddfec4d1ce8a7fc5c2eb Author: Andreas Neustifter <astifter@gmx.at> Date: Fri Sep 4 17:15:10 2009 +0000 Cleaned up ProfileVerifierPass. (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086219.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81007 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68eca1aeb53324309e2cc7ec68a91423ec2e41e3 Author: Andreas Neustifter <astifter@gmx.at> Date: Fri Sep 4 12:34:44 2009 +0000 Converted MaximumSpanningTree algorithm to a generic template, this could go into llvm/ADT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81001 91177308-0d34-0410-b5e6-96231b3b80d8 commit 99da1c065b2d6e4c4a175ec585b7e24f0f8f453a Author: Dan Gohman <gohman@apple.com> Date: Fri Sep 4 12:08:11 2009 +0000 Include optional subclass flags, such as inbounds, nsw, etc., in the Constant uniquing tables. This allows distinct ConstantExpr objects with the same operation and different flags. Even though a ConstantExpr "a + b" is either always overflowing or never overflowing (due to being a ConstantExpr), it's still necessary to be able to represent it both with and without overflow flags at the same time within the IR, because the safety of the flag may depend on the context of the use. If the constant really does overflow, it wouldn't ever be safe to use with the flag set, however the use may be in code that is never actually executed. This also makes it possible to merge all the flags tests into a single test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80998 91177308-0d34-0410-b5e6-96231b3b80d8 commit 680c2a0652497c5b9b550a147c96e506facb854b Author: Duncan Sands <baldrick@free.fr> Date: Fri Sep 4 11:59:43 2009 +0000 Use delete[] to match new[] (found by valgrind). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80997 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9dcb760ccdb1e1418afe31c42e6b26d663b00cbf Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 4 07:47:40 2009 +0000 Run branch folding if if-converter make some transformations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80994 91177308-0d34-0410-b5e6-96231b3b80d8 commit 368ddcb5b8995476324018aed319e36085de3411 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Sep 4 07:46:30 2009 +0000 Fix comment for consistency sake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80993 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02d88831d19f9f0a81518af2db01e206aaa26473 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 4 05:07:52 2009 +0000 Remove stale greps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80986 91177308-0d34-0410-b5e6-96231b3b80d8 commit b273bb5cd6ff131f608ec09f581d7db23d8cb530 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Sep 4 05:07:44 2009 +0000 Update lib deps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80985 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d7babb3ed71916bf46f347d4ff0e0ea2a809c15 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Sep 4 04:07:19 2009 +0000 Convert tests to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80983 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c2ed5cff22b49e07be176f3d4830b5bc67739c6 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Sep 4 01:38:51 2009 +0000 Whitespace cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80978 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24fd31656faf1f70c5e4ade5b6462b2e66465748 Author: Eric Christopher <echristo@apple.com> Date: Fri Sep 4 01:14:14 2009 +0000 If there's a calling convention attach it to the rewind function call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80976 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d47c5af7087d582a2ae89641051543689e2026b Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Sep 4 00:32:31 2009 +0000 Convert a test to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80975 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe0a279423e23454b9f41d59d2a86340fdceb8a8 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 3 23:54:22 2009 +0000 Funky indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80971 91177308-0d34-0410-b5e6-96231b3b80d8 commit 146162cd340e559a31b8a3e3f67d358587a0f985 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 23:40:10 2009 +0000 Revert "--- Reverse-merging r80908 into '.':", I already "fixed" this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80970 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1046e41998ac9178d87226cb0869612c22f5c6d1 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 23:34:49 2009 +0000 Revert 80959. It isn't sufficient to solve the full problem. And it introduced regressions in the Ocaml bindings tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80969 91177308-0d34-0410-b5e6-96231b3b80d8 commit c527d7e5a814b834aaece6e67d2447b9d2d2be5e Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Thu Sep 3 23:27:31 2009 +0000 Replace ocamlc tests with ocamlopt tests since they're less noisy. There's a bug with ocamlc that uses "char*" instead of "const char*" for global string variables. This causes g++ to be very noisy when linking ocamlc programs. That's why the ocaml test used to cat to /dev/null. ocamlopt doesn't have this problem, so we can get rid of the >/dev/null, which may obscure some problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80968 91177308-0d34-0410-b5e6-96231b3b80d8 commit e76bfd9f87d7255a4f0940e3a5f911e22cba7f6c Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 3 23:13:46 2009 +0000 --- Reverse-merging r80908 into '.': D test/Analysis/Profiling --- Reverse-merging r80907 into '.': U lib/Analysis/ProfileInfoLoaderPass.cpp Attempt to remove failure in the self-hosting build bot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80966 91177308-0d34-0410-b5e6-96231b3b80d8 commit f3ff0b0ad79a27cbcfbfa456ae031b310bd64d63 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 22:57:02 2009 +0000 Add test for PR4873, which works for me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80965 91177308-0d34-0410-b5e6-96231b3b80d8 commit f154271b8e81b6fc65137b7fda7c935b9fe93203 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 22:53:57 2009 +0000 LLVM currently represents floating-point negation as -0.0 - x. Fix FastISel to recognize this pattern and emit a floating-point negation using xor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80963 91177308-0d34-0410-b5e6-96231b3b80d8 commit 598ea31a7440ad0fae45e9fd4d7d640c431ef030 Author: David Goodwin <david_goodwin@apple.com> Date: Thu Sep 3 22:48:51 2009 +0000 Don't crash when target has no itineraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80962 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9ca26dded387110e8c7520f52bd635eb483d1ec Author: Bill Wendling <isanbard@gmail.com> Date: Thu Sep 3 22:19:22 2009 +0000 If we've pushed registers onto the stack, but aren't adjusting the stack pointer (i.e., there are no local variables and stuff), we still need to output FDE information for the pushed registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80960 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f2ab4797b28ede081fda36855a26e8ec1b9357e Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 22:17:40 2009 +0000 Remove the API for creating ConstantExprs with the nsw, nuw, inbounds, and exact flags. Because ConstantExprs are uniqued, creating an expression with this flag causes all expressions with the same operands to have the same flag, which may not be safe. Add, sub, mul, and sdiv ConstantExprs are usually folded anyway, so the main interesting flag here is inbounds, and the constant folder already knows how to set the inbounds flag automatically in most cases, so there isn't an urgent need for the API support. This can be reconsidered in the future, but for now just removing these API bits eliminates a source of potential trouble with little downside. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80959 91177308-0d34-0410-b5e6-96231b3b80d8 commit 856b38c3e9341ed6667788eb3c923be358ac5b71 Author: David Goodwin <david_goodwin@apple.com> Date: Thu Sep 3 22:15:25 2009 +0000 Create our own block initializer for kill fixups as the scheduling one wasn't doing the right thing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80958 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d88e9179113826d90cfe1653b8497e59798858b Author: David Goodwin <david_goodwin@apple.com> Date: Thu Sep 3 22:12:28 2009 +0000 Calls clobber FPSCR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80956 91177308-0d34-0410-b5e6-96231b3b80d8 commit 637600a68adadef8e2f835a18a1193c6f8a1f0b5 Author: Ted Kremenek <kremenek@apple.com> Date: Thu Sep 3 22:07:30 2009 +0000 Make ImmutableMap/ImmutableSet quicker by only canonicalizing the tree after an Add or Remove operation complete, and not while building the intermediate tree. This trades a little bit more memory usage for less accesses to the FoldingSet. On a benchmark for the clang static analyzer, this shaves off another 13% of execution time when using field/array sensitivity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80955 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb45a492cfcb01b632213cf5e88f839f2ffb7a68 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 21:09:53 2009 +0000 Disable some parts of the profiling-tool-chain test, which is currently failing on a self-hosted build (although it seems to work on non-self hosted). I'll work with Andreas to figure this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80947 91177308-0d34-0410-b5e6-96231b3b80d8 commit c653c95f431b4526287d26cb7b5c16860d61ab0a Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 20:59:02 2009 +0000 Remove dead greps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80946 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa196cc6a40c2f1146f336ee904688ab37d9ac0e Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Sep 3 20:58:42 2009 +0000 Overhaul the TwoAddressInstructionPass to simplify the logic, especially for the complicated case where one register is tied to multiple destinations. This avoids the extra scan of instruction operands that was introduced by my recent change. I also pulled some code out into a separate TryInstructionTransform method, added more comments, and renamed some variables. Besides all those changes, this takes care of a FIXME in the code regarding an assumption about there being a single tied use of a register when converting to a 3-address form. I'm not aware of cases where that assumption is violated, but the code now only attempts to transform an instruction, either by commuting its operands or by converting to a 3-address form, for the simple case where there is a single pair of tied operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80945 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff6a63a57697e8f76e9188b34bc75486528e04ba Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 20:36:13 2009 +0000 Smallvectorize switchExitBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80942 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f876cd88bcf8204ec52dfb03a474a154ad60617 Author: Devang Patel <dpatel@apple.com> Date: Thu Sep 3 20:35:57 2009 +0000 There is not any need to copy metadata while merging modules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80941 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41b3f4abc695b3ce178e1db7610b34d3745ed22d Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 20:34:31 2009 +0000 Recognize more opportunities to use SSE min and max instructions, swapping the operands if necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80940 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc3c526a5b0a6c97231ab1af117053fc2c89c491 Author: Mon P Wang <wangmp@apple.com> Date: Thu Sep 3 19:57:35 2009 +0000 Test cases for vector shifts changes r80935 Changed the old vector shift test to use FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80936 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04c767e3a81142583c41927d68387f8663cda8e8 Author: Mon P Wang <wangmp@apple.com> Date: Thu Sep 3 19:56:25 2009 +0000 Fixed a few problems with vector shifts - when transforming a vector shift of a non-immediate scalar shift amount, zero extend the i32 shift amount to i64 since the vector shift reads 64 bits - when transforming i16 vectors to use a vector shift, zero extend i16 shift amount - improve the code quality in some cases when transforming vectors to use a vector shift git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80935 91177308-0d34-0410-b5e6-96231b3b80d8 commit e84197bc92efd8ee0a1ac63324783d6fcaf0ffd7 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 17:18:51 2009 +0000 Add a -disable-16bit flag and associated support for experimenting with disabling the use of 16-bit operations on x86. This doesn't yet work for inline asms with 16-bit constraints, vectors with 16-bit elements, trampoline code, and perhaps other obscurities, but it's enough to try some experiments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80930 91177308-0d34-0410-b5e6-96231b3b80d8 commit e71842bebb922af77f158cf2bb577575b51a4219 Author: Kevin Enderby <enderby@apple.com> Date: Thu Sep 3 17:15:07 2009 +0000 Removed the non-target independent AsmToken::Register enum constant from MCAsmLexer.h in preparation of supporting other targets. Changed the X86AsmParser code to reflect this by removing AsmLexer::LexPercent and looking for AsmToken::Percent when parsing in places that used AsmToken::Register. Then changed X86ATTAsmParser::ParseRegister to parse out registers as an AsmToken::Percent followed by an AsmToken::Identifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80929 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb4fa6f860001c6f6663a5c782fae0fa0e83717b Author: Devang Patel <dpatel@apple.com> Date: Thu Sep 3 17:03:47 2009 +0000 Use WeakVH to hold dead mdnodes. Check use_empty() before deleting a node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80928 91177308-0d34-0410-b5e6-96231b3b80d8 commit 024ec13192dc9720da09edad698851bddf699c70 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 16:32:58 2009 +0000 Make bugpoint use ParseIRFile instead of doing the same thing manually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80927 91177308-0d34-0410-b5e6-96231b3b80d8 commit da313a3723d8fa74893b2b902719daf1b0021e67 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 16:31:42 2009 +0000 Add a verifyAnalysis to LoopInfo, LoopSimplify, and LCSSA form that verify that these passes are properly preserved. Fix several transformation passes that claimed to preserve LoopSimplify form but weren't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80926 91177308-0d34-0410-b5e6-96231b3b80d8 commit bad01c4020d7f8048903b13ad2457323f5ab0359 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 16:11:53 2009 +0000 Remove some unnecessary -f options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80924 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c42c875f7b8a18b3f3945bf52bbab2fa59450c3 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 16:10:48 2009 +0000 Move getUniqueExitBlocks from LoopBase to Loop, since they depend on LoopSimplify form, which is currently only available on Loops (and not MachineLoops). Also, move the code out of the header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80923 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb17470d7382d820c535988315c65da4e9de0b48 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 16:00:08 2009 +0000 Use IRReader.h in opt, to support reading of LLVM Assembly files directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80922 91177308-0d34-0410-b5e6-96231b3b80d8 commit 798e541fbdd6cdc2da6e6f153b3704d350bd3167 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 15:34:35 2009 +0000 Change PHINode::hasConstantValue to have a DominatorTree argument instead of a bool argument, and to do the dominator check itself. This makes it eaiser to use when DominatorTree information is available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80920 91177308-0d34-0410-b5e6-96231b3b80d8 commit 242b4738d28335a58e08db01c2748d0488885348 Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 15:09:24 2009 +0000 Don't try to verify a LoopPass analysis if the loop has been deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80919 91177308-0d34-0410-b5e6-96231b3b80d8 commit f925d7f97fdec5c23250d06d3f93ab41f58afb3f Author: Dan Gohman <gohman@apple.com> Date: Thu Sep 3 15:00:26 2009 +0000 Remove references to expression "handles", which are no longer used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80918 91177308-0d34-0410-b5e6-96231b3b80d8 commit d809156d5c860a90cf7b1a8dfb9db62dcc5e6f06 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Sep 3 14:58:24 2009 +0000 CppBackend: avoid printing unnecessary whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80917 91177308-0d34-0410-b5e6-96231b3b80d8 commit c50fa7ec0a396461d9addda9b078560e0a7d0e41 Author: Duncan Sands <baldrick@free.fr> Date: Thu Sep 3 13:37:16 2009 +0000 Keep track of how many memmove calls were turned into memcpy calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80915 91177308-0d34-0410-b5e6-96231b3b80d8 commit 551c462cc936f64e1462b7a973e54e340ae657a4 Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Sep 3 09:11:10 2009 +0000 Fix build warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80912 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34dd111c5c8a54d2b512999eb5179d42a746cf30 Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Sep 3 08:52:52 2009 +0000 Code Cleanup. Removed inverted flag form MaximumSpanningTree, also do not handle so much information to MaximumSpanningTree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80911 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b8513dd94dfd5246166b2762638c05bb5b3a01a Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 08:41:19 2009 +0000 Filter out -fno-rtti from CXXFLAGS as well (in an expensive checks build). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80910 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36079a8ecc6c65b737304e18dce9c336704a0200 Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Sep 3 08:41:05 2009 +0000 Code Cleanup. (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086139.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80909 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b503ff0f62f1359cfc0f35ad36a376296c43b32 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 07:38:00 2009 +0000 Reapply profiling tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80908 91177308-0d34-0410-b5e6-96231b3b80d8 commit df7d5b1736f8fc99a8f5bedcd96559d099793d92 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 07:37:42 2009 +0000 Remove undefined behavior when loading optimal edge profile info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80907 91177308-0d34-0410-b5e6-96231b3b80d8 commit b55972f828465055a2e144cf74733abad3132534 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 07:36:42 2009 +0000 don't call getOffset() on jump tables, this fixes three failing olden benchmarks with the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80906 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02c96d78837bceaecb699bbd4e404403f8188c14 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 07:30:56 2009 +0000 Implement support for X86II::MO_GOT_ABSOLUTE_ADDRESS. We get very different formatting from the old asmprinter, but it should be semantically the same. We used to get: popl %eax addl $_GLOBAL_OFFSET_TABLE_ + [.-.Lllvm$6.$piclabel], %eax ... Now we get: popl %eax .Lpicbaseref6: addl $(_GLOBAL_OFFSET_TABLE_ + (.Lpicbaseref6 - .Lllvm$6.$piclabel)), %eax ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80905 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba2cf3d635dcc68ac416f56b767fd79d77ea7c83 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 3 07:04:02 2009 +0000 Reference to hidden symbols do not have to go through non-lazy pointer in non-pic mode. rdar://7187172. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80904 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04791af064e508422996148f33ef1f5f48c29e5b Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Sep 3 06:43:15 2009 +0000 Remove VISIBILITY_HIDDEN from this file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80903 91177308-0d34-0410-b5e6-96231b3b80d8 commit 93d228067020d3f32f6b45799ad394fa34b9b160 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 06:29:23 2009 +0000 merge all the basic linux/32 pic tests together into one test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80902 91177308-0d34-0410-b5e6-96231b3b80d8 commit c420c6c39eae9503d0a3054400fc5615b02bbf1c Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 06:16:49 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80901 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53d76257db225c1ecc3de84096aae77c4493a962 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 06:15:11 2009 +0000 use a darwin triple git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80900 91177308-0d34-0410-b5e6-96231b3b80d8 commit c13d5b47266168db627ade3cf5a4157d61949af0 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 06:13:54 2009 +0000 TAI -> MAI git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80899 91177308-0d34-0410-b5e6-96231b3b80d8 commit fba9e5022d361fa9d772c6b00881c8f1478f09ae Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 06:13:45 2009 +0000 adjust expected lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80898 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5b06e6b2786ec34435e46720ba44a909193c018 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 06:00:00 2009 +0000 improve comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80897 91177308-0d34-0410-b5e6-96231b3b80d8 commit 648353a52f524287325e5f5af31aa88f40ed0f76 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 05:57:47 2009 +0000 fix MCSymbol printing to exactly match the normal mangler rules so we can diff .s files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80894 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90c1949efa972a6078654f6b766ff6b7808b3798 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 05:54:00 2009 +0000 remove extraneous hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80893 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9cc58801a61ba37f4a90b6093ced685fa0197ff6 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 05:47:34 2009 +0000 Make these functions static and local. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80892 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43ba45cb0f893fd58a0a9f4e80bc455f36b6e46d Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 05:47:22 2009 +0000 Tweak comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80891 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fe3a1ed4567dfdd45125c95beed6c6b77be2088 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 05:46:51 2009 +0000 Thread an MCAsmInfo pointer through the various MC printing APIs, and fix a few things using << on MCSymbols to use ->print(). No functionality change other than unbreaking my previous patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80890 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad1950e0138c65a6e0d329055b4f60402bc36cbb Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 05:39:09 2009 +0000 just use dump() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80889 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c75f8d66dd9d6a2ff443ab2fbe16c4d30a8ea1e Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 05:33:01 2009 +0000 inline insertion operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80888 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2342099f65d7f45542126efa911117c0099a4f5d Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 05:19:59 2009 +0000 In C++, code is not allowed to call main. In C it is, this simplifylibcalls optimization is thus valid for C++ but not C. It's not important enough to worry about for C++ apps, so just remove it. rdar://7191924 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80887 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3dccf61c7f1d8dbb338f4c0afa20408f53a095c8 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 05:06:07 2009 +0000 merge globaladdress symbol processing stuff into other stuff. Now all global variable operand flag processing stuff is shared between different operand types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80886 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b6365ff99c7c321926f0c5b46536665a97f8676 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 3 05:01:00 2009 +0000 Unbreak x86_64 build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80885 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5750f44c1063978fa51a46362c8c6a1c52445817 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 04:56:20 2009 +0000 Split the "operand -> symbol" logic from the "get offset and other munging from operand" logic. GlobalAddress still todo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80884 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9fb70d6e3120d738d14e0b8fa26e3e492cba6e5a Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 04:44:53 2009 +0000 implement lowering support for constant pool index operands, this gets a bunch more olden programs working. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80881 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5746a94642c6f34c8476fd113ad7913c27a5bc38 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Sep 3 04:37:05 2009 +0000 X86JITInfo::getLazyResolverFunction() should not read cpu id to determine whether sse is available. Just use consult subtarget. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80880 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc699fcbd21999eeee0e6659b6aee4f7a9d8c8ec Author: Ted Kremenek <kremenek@apple.com> Date: Thu Sep 3 04:21:34 2009 +0000 Set the 'cached digest' flag after computing the digest for an ImutAVLTree. This was accidentally left out, and essentially caused digest caching to be ignored in ImmutableMap and ImmutableSet (this bug was detected from shark traces that showed ComputeDigest was in the hot path in the clang static analyzer). This reduces the running time of the clang static analyzer on an example benchmark by ~32% for both RegionStore (field-sensitivty) and BasicStore (without field-sensitivity). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80877 91177308-0d34-0410-b5e6-96231b3b80d8 commit 613e05408626a631c011a3f141eff2d6eea9f1f2 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 04:03:44 2009 +0000 update test for alignment value in hex git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80876 91177308-0d34-0410-b5e6-96231b3b80d8 commit 27f44adc3b16ead29795d1a06e6be88d8de21471 Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 04:01:10 2009 +0000 output alignment value in hex so that we get: .align 3, 0x90 instead of, .align 3, 144 suggested by eric. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80875 91177308-0d34-0410-b5e6-96231b3b80d8 commit 862164990329cfcc3dc83d595cb8304913f1218d Author: Chris Lattner <sabre@nondot.org> Date: Thu Sep 3 03:54:02 2009 +0000 simplify this by using SmallString::str(), much nicer! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80874 91177308-0d34-0410-b5e6-96231b3b80d8 commit e86b0df8fc92fdeb05d03897afe4802ee5108dae Author: Lang Hames <lhames@gmail.com> Date: Thu Sep 3 02:52:02 2009 +0000 Fixed a test that ensures the LocalRewriter does not attempt to avoid reloads by reusing clobbered registers. This was causing issues in 256.bzip2 when compiled with PIC for a while (starting at r78217), though the problem has since been masked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80872 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a6b6b43459b875e88d598c232ddef7b805fe107 Author: Gabor Greif <ggreif@gmail.com> Date: Thu Sep 3 02:02:59 2009 +0000 back out my recent commit (r80858), it seems to break self-hosting buildbot's stage 2 configure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80871 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0cb8b7ce425011e4caedfb841fdfc0aa38e6cff Author: Devang Patel <dpatel@apple.com> Date: Thu Sep 3 01:39:20 2009 +0000 Now Bitcode reader bug is fixed. Reapply 80839. Use CallbackVH, instead of WeakVH, to hold MDNode elements. Use FoldingSetNode to unique MDNodes in a context. Use CallbackVH hooks to update context's MDNodeSet appropriately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80868 91177308-0d34-0410-b5e6-96231b3b80d8 commit deda3956ac6e8af372398bd9f4fd64c9cdf02711 Author: Devang Patel <dpatel@apple.com> Date: Thu Sep 3 01:38:02 2009 +0000 Add new value for given index in MDValuePtrs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80867 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e48cf651240e745819e2cbf5cd837b4c24141b1 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Sep 3 01:10:13 2009 +0000 Improve llvm::getHostTriple for some cases where the LLVM_HOSTTRIPLE is not reliable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80863 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe15ce4a51f0d83bd2a0bb788af70663fc8713aa Author: Gabor Greif <ggreif@gmail.com> Date: Thu Sep 3 00:18:58 2009 +0000 re-commit r66920 (which has been backed out in r66953) I may have more luck this time. I'll back out if needed... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80858 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66fdfa0595d378249f8ff71168d0fe923a828b9a Author: Sean Callanan <scallanan@apple.com> Date: Thu Sep 3 00:04:47 2009 +0000 Added opaque 32-, 48-, and 80-bit memory operand types to the X86 instruction tables to support segmented addressing (and other objects of obscure type). Modified the X86 assembly printers to handle these new operand types. Added JMP and CALL instructions that use segmented addresses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80857 91177308-0d34-0410-b5e6-96231b3b80d8 commit 401011eae07426d5669af7c96bb06e92cff60cfe Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Sep 2 23:52:38 2009 +0000 Show derived host triple in --version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80855 91177308-0d34-0410-b5e6-96231b3b80d8 commit eba47222d28036cebbd582e4dc84fefa3f76de49 Author: Shantonu Sen <ssen@apple.com> Date: Wed Sep 2 23:52:23 2009 +0000 Improve support for cross-hosted builds of LLVM. --build=triple and other configure options are passed to the BuildTools/ sub-invocation more consistently git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80854 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66284fca05a7b78636f9f99a14bddf2e16f4f570 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Sep 2 22:45:31 2009 +0000 Unbreak my CMake build. Say you'll link again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80842 91177308-0d34-0410-b5e6-96231b3b80d8 commit 03ebfa2ba332dcf86a3233b11397f6699c6ac157 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 2 21:49:26 2009 +0000 Revert 80839 for now. It causes test failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80841 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22d00c4b5b0845531feead561116ede02a7354b9 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 2 21:22:09 2009 +0000 Use CallbackVH, instead of WeakVH, to hold MDNode elements. Use FoldingSetNode to unique MDNodes in a context. Use CallbackVH hooks to update context's MDNodeSet appropriately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80839 91177308-0d34-0410-b5e6-96231b3b80d8 commit b261a1986acd86bb414d8e9e190a4e15742efc44 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Sep 2 21:21:28 2009 +0000 More missed vdup patterns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80838 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22f2b1c131b207894d8167b516b11aa4c0776e90 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 2 19:35:19 2009 +0000 Switch llc from ParseBitcodeFile to ParseIRFile. This lets llc transparently read either LLVM Assembly or LLVM Bitcode files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80829 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bbc7078b1f3d61b52af07ff6ab8344c26d179a6 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 2 19:21:56 2009 +0000 Add a comment noting the memory ownership rules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80827 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56747f2521918e90a939a2db2d8c8e88f9688b89 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 2 17:54:06 2009 +0000 Add convenience functions for reading in LLVM IR that autodetect and LLVM Assembly and LLVM Bitcode and automatically call the corresponding reader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80809 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8f1df36008dbe45eb80c218979020088c800283 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 17:37:38 2009 +0000 switch from std::string to SmallString + raw_svector_ostream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80807 91177308-0d34-0410-b5e6-96231b3b80d8 commit b16f72e48e2ca32c5e795f7f302c1a7448c56b19 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 17:35:12 2009 +0000 split mcinst lowering stuff out to its own file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80806 91177308-0d34-0410-b5e6-96231b3b80d8 commit b3b034848455f9961fd34ec9cb6108095c8302cf Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 2 17:31:42 2009 +0000 Fix the syntax of add/sub/mul nsw/nuw and sdiv exact. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80805 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f603892701d4630990e7a552354c8cf2b6374dd Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 2 17:21:29 2009 +0000 Add const qualifiers for isBitcodeWrapper, and add new functions isRawBitcode and isBitcode to allow clients to test whether a given memory buffer holds a bitcode image. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80804 91177308-0d34-0410-b5e6-96231b3b80d8 commit 18721d0596e31317458834d4d6bb0cbdd9d9a332 Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 2 17:18:19 2009 +0000 Refactor common code from ParseAssemblyString and ParseAssemblyFile, to expose a low-level interface for parsing from an existing MemoryBuffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80803 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c7b1d9dd31abf15bdeb32ec2dd09b666114da7e Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 2 17:05:05 2009 +0000 Add const qualifiers to dominates' arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80801 91177308-0d34-0410-b5e6-96231b3b80d8 commit c53892f60f8828b82695fff8895223bf6abdc1a4 Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 2 16:47:24 2009 +0000 Removed temporarily because of breaking Darwin builds. (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086214.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80799 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa2d3271d5e771007cf55840bb4eae119c02818c Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Sep 2 16:35:35 2009 +0000 Rearrange code to eliminate redundancy and avoid gotos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80798 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58837339ac130fbb4a0d1c6456584d7b6d933b71 Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Wed Sep 2 15:02:57 2009 +0000 plug another leak in LLParser::PerFunctionState::SetInstName() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80792 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c6e434dc05bbb5cf3eac56dce1ad05d6c97e77f Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 2 14:24:08 2009 +0000 Changed profiling-tool-chain.ll test to use optimal-edge-profiling instead of edge-profiling, this is more useful since the loading of the optimal-edge-profiling is more complicated. The edge-profiling is tested in edge-profiling.ll where only the instrumentation is tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80791 91177308-0d34-0410-b5e6-96231b3b80d8 commit f50aecf1cc4ff2b3272d1f4ed6c1783220152875 Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Wed Sep 2 14:22:03 2009 +0000 plug memory leak in LLParser::PerFunctionState::SetInstName() by deleting a value after replacing it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80790 91177308-0d34-0410-b5e6-96231b3b80d8 commit 46ef7bea5c421a06f05d376742413c18d82e35f6 Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 2 14:03:11 2009 +0000 Sort edges in MaximumSpanningTree more stable in case of equal weight. (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085890.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80789 91177308-0d34-0410-b5e6-96231b3b80d8 commit f73818861a527851de1f63c34803548dc4844416 Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 2 13:59:05 2009 +0000 Changed set of BlocksToInstrument to set of InsertedBlocks that do not have to be instrumented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80788 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98004cce823f3ae209052fb1229d516dfc0b22df Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Sep 2 12:38:39 2009 +0000 Code cleanups and added comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80781 91177308-0d34-0410-b5e6-96231b3b80d8 commit b65febdbf1a37695e2dea5cee9e5dca9e181fb14 Author: Edwin Török <edwintorok@gmail.com> Date: Wed Sep 2 12:23:05 2009 +0000 Opaque types didn't work if llvm_is_multithreaded(). AlwaysOpaqueTy is always NULL at this point, and it causes an assertion failure. Fix it by using the just constructed tmp instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80780 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1298be5a7cc8edb31e1e825a7ddbc755a39bf2f0 Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Wed Sep 2 11:58:01 2009 +0000 set svn:ignore git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80779 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0aebd0cd8b56b87682114d314e77f13a5920f9db Author: Edwin Török <edwintorok@gmail.com> Date: Wed Sep 2 11:13:56 2009 +0000 Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in r80406, and readd a -print-dbginfo test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80778 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5838baa4a8aedfd453a5b0663425979c77e4e285 Author: Sandeep Patel <deeppatel1987@gmail.com> Date: Wed Sep 2 08:44:58 2009 +0000 Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80773 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c3d6c1f0cacdc5a01a66ce5f99e09848f0d58f3 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 06:34:22 2009 +0000 Fix month. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80769 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47ecca719dca162477c10e787bb1ab0c4c571ece Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 06:31:02 2009 +0000 fix PR4815: some cases where DeleteDeadInstruction can delete the instruction BBI points to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80768 91177308-0d34-0410-b5e6-96231b3b80d8 commit 77f1627b24f4256e414864513212cc4648e89dcc Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 06:15:37 2009 +0000 clean up this code a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80767 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa2d1ba102a74ecb0444957e0e5e1e99b064bfc3 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 06:11:42 2009 +0000 eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80766 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84a6720fa162828ccf52531135afc2449662a2cd Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 05:57:00 2009 +0000 refactor select 'sched insertion' out to its own method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80764 91177308-0d34-0410-b5e6-96231b3b80d8 commit 556464fc42a499f616530d6c9ec3ab698a05aa90 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 05:53:04 2009 +0000 Add support for modeling whether or not the processor has support for conditional moves as a subtarget feature. This is the easy part of PR4841. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80763 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12aaa0197524bcbf878774e442335813667b8518 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 05:35:45 2009 +0000 fix PR4848 an infinite loop when indexing down through a recursive gep and we get the original pointer type. This doesn't mean that we're at the first pointer being indexed. Correct the predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80762 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41c09930cfb4e36227f5f73bb618d2a7aa4da884 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 05:12:37 2009 +0000 fix PR4837, some bugs folding vector compares. These return a vector of i1, not i1 itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80761 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc05eef1c31d86b525f0d80429a13344b13192a2 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 04:39:04 2009 +0000 revert my patch, duncan points out what is wrong with my logic. Add a comment so that I don't change this in the future :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80760 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d256f1e48cf074e739f478a48f9619797cbe4c1 Author: Chris Lattner <sabre@nondot.org> Date: Wed Sep 2 04:34:06 2009 +0000 one more try at making this simpler, hopefully it won't break everything :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80759 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1585abba762e44ee70734e77dded04d3a6a77a7 Author: Duncan Sands <baldrick@free.fr> Date: Wed Sep 2 03:48:41 2009 +0000 Complicate Chris's simplification, avoiding complaints about singular iterators when building with expensive checks turned on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80757 91177308-0d34-0410-b5e6-96231b3b80d8 commit d7a9a27a450dce545da94ffc43df64c776eabaeb Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Sep 2 02:43:11 2009 +0000 Don't force the triple or data layout in this test. We just have to get them from the host and hope that works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80751 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b5cdc094c42b788e1c0d6708ba5fa077eca7f8a Author: Dan Gohman <gohman@apple.com> Date: Wed Sep 2 01:14:16 2009 +0000 Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80749 91177308-0d34-0410-b5e6-96231b3b80d8 commit 251676e7beab341460c562976a1f3f4a2f873929 Author: Sean Callanan <scallanan@apple.com> Date: Wed Sep 2 00:55:49 2009 +0000 Fixed the asmstrings for 8-bit, 16-bit, and 32-bit ADD %rAX, imm instructions. Added a 64-bit ADD %RAX, imm32 instruction. Added all 4 forms for AND %rAX, imm and CMP %rAX, imm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80746 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5f0d0810c3224d8296a90ee7c504d19f6b99ea89 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Sep 2 00:19:03 2009 +0000 Fix PR4845: r77946 completely broke x86_64 Darwin (or any situation where the desired triplet is a sub-target, e.g. thumbv7 vs. arm host). Reverting the patch isn't quite right either since the previous behavior does not allow the triplet to be overridden with -march. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80742 91177308-0d34-0410-b5e6-96231b3b80d8 commit aae9da7d74762fa1aef3d9e9b3eba4657eb5bfd8 Author: Devang Patel <dpatel@apple.com> Date: Wed Sep 2 00:16:33 2009 +0000 Disable uniqueness test for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80741 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd93206d2cd5cfc5482b8b9d17a9d7e2862fe26b Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 1 23:56:42 2009 +0000 For now disable MDNode uniquing. This fixes llvm-gcc bootstrap failure on certain Mac OS X 10.5. I am working on a proper fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80738 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a073840a9863f7fde14aba104621ce546f35510 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 1 23:18:46 2009 +0000 Avoid calling removeVirtualRegisterKilled which iterates over the operands to find the kill, since we already have the operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80736 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4868b2482d56166b836de78a4b35607a799f7958 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 1 22:51:08 2009 +0000 Refactor some code into separate functions. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80733 91177308-0d34-0410-b5e6-96231b3b80d8 commit 432d176192c6a1707a9f714ea00ea500f1d9a6ee Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 1 22:19:00 2009 +0000 Move use of LV inside condition that guards for null LV. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80731 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7cc00874d5de3b00205dcce03e05205916697d38 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 1 22:07:12 2009 +0000 Fix build warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80730 91177308-0d34-0410-b5e6-96231b3b80d8 commit 064aca1f4cb7a3ac916d665db62056008ecde927 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 1 22:07:06 2009 +0000 Simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80729 91177308-0d34-0410-b5e6-96231b3b80d8 commit 914bc71e34cfa976d86bcd7c95fafd794dcc2020 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 1 22:07:00 2009 +0000 Fix what I believe is a copy-n-pasto introduced in r78129. - Bruno, please check!! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80728 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ac6c04c49a83ce12779ca42416fe5512e69a01e Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 1 22:06:53 2009 +0000 X86/Encoding: Support ExternalSymbol operands in emitDisplacementField (for consistency). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80727 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f086b93c3bb001b72590024114ac8c19f5abdaa Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 1 22:06:46 2009 +0000 Remove Offset from ExternalSybmol MachineOperands, this is unused (and at least partly unsupported, in X86 encoding at least). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80726 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3dfe01d21e412c113b13e222c0fde9970d258af2 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 21:37:50 2009 +0000 debug intrinsics do not go in the callgraph, this fixes a couple clang regtest failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80724 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0934baa37a70c413600ebc3f2219822cbaf90830 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 20:33:43 2009 +0000 Fix a regression I introduced in r80708, found by llvm-test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80718 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c971ca2967e9dd20f26d8d68cacb131dd2fb7ca Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Tue Sep 1 19:25:52 2009 +0000 Fix ELF Writter related memory leaks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80717 91177308-0d34-0410-b5e6-96231b3b80d8 commit 231d73422a43624472e0ff74a1d9ec30740c7adb Author: Andreas Neustifter <astifter@gmx.at> Date: Tue Sep 1 19:08:51 2009 +0000 OptimalEdgeProfiling: Reading in Profiles. This enables LLVM to read the OptimalEdgeProfiles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80715 91177308-0d34-0410-b5e6-96231b3b80d8 commit 595887666dae3198db047b6e718129fdcf45ab8a Author: Andreas Neustifter <astifter@gmx.at> Date: Tue Sep 1 19:05:58 2009 +0000 Addedum to r80712, forgot to add files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80713 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10dd7a2d9c1c123260c8afd730be1c109a20bb2c Author: Andreas Neustifter <astifter@gmx.at> Date: Tue Sep 1 19:03:44 2009 +0000 OptimalEdgeProfiling: Creation of profiles. This adds the instrumentation and runtime part of OptimalEdgeProfiling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80712 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8093b5dc9a1e310a79fc7af83c1fc2e1867c2ef7 Author: Andreas Neustifter <astifter@gmx.at> Date: Tue Sep 1 19:01:59 2009 +0000 Small fix in ProfileEstimator that eliminates duplicated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80711 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5496d944b0095cfd0d1cc93386a3c569b7f06d5 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 1 18:55:08 2009 +0000 reduce size of SmallString to something more reasonable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80710 91177308-0d34-0410-b5e6-96231b3b80d8 commit b980f057d2ea2119836fbf39040ca8e49386d297 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 18:52:39 2009 +0000 remove CallGraphNode::replaceCallSite, it is redundant with other APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80708 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2d6585e5e77e5b44a9440f7cb821dada5009692 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 1 18:51:56 2009 +0000 Add support for generating code for vst{234}lane intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80707 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b6ab543047eac94f4155297b7b12af78e0e6a6d Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 18:50:55 2009 +0000 cleanup/simplify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80706 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10d150b7c19caf36e4dbe6505c0b43cf62c0a858 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 1 18:50:43 2009 +0000 Fix incorrect declarations of intrinsics in this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80705 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e58780928c42ba7c34deb7bbb35c17391b3d36e Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 1 18:49:12 2009 +0000 Use raw_ostream instead of sstream git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80704 91177308-0d34-0410-b5e6-96231b3b80d8 commit ecd40faa95e178986ff2fec6c7eaae10692be6f9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 18:44:06 2009 +0000 remove a bunch of explicit code previously needed to update the callgraph. This is now dead because RAUW does the job. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80703 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b023dd6936966cce0cfea28c5148168f7a5b40e Author: David Goodwin <david_goodwin@apple.com> Date: Tue Sep 1 18:34:03 2009 +0000 Add hidden flags to allow binary search of post-RA scheduling errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80702 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02b0e35f988abea2d6e5a07a854b4c6192872355 Author: David Goodwin <david_goodwin@apple.com> Date: Tue Sep 1 18:32:09 2009 +0000 RRX reads CPSR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80699 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c79378308526587066ea216550858e780fd6423 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 18:32:03 2009 +0000 doxygenate RefreshCallGraph, add a new 'verification mode', and run it after CGSCC passes make change to ensure they are updating the callgraph correctly (when assertions are enabled). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80698 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96d7ddc073ae2bdbf5e0bda96a5d7d8f7185ecb4 Author: Dan Gohman <gohman@apple.com> Date: Tue Sep 1 18:29:01 2009 +0000 Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80697 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3e4b1a34d5b499ec5547537b59505158e643305c Author: Sean Callanan <scallanan@apple.com> Date: Tue Sep 1 18:14:18 2009 +0000 Added TEST %rAX, $imm instructions to the Intel tables. These are required for the X86 disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80696 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2507c18bfc58d649a6ddd20b3e3ce41b2ed0793f Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 18:13:40 2009 +0000 simpler solution to iterator invalidation "problem" found by expensive checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80695 91177308-0d34-0410-b5e6-96231b3b80d8 commit d23a9667c9e7f88f4cdb2befc3adc08a5b7df776 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 17:56:32 2009 +0000 enhance memcpy opt to turn memmoves into memcpy when the src/dest don't alias. Remove an old and poorly reduced testcase that fails with this transform for reasons unrelated to the original test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80693 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f43b86c52646711a6906e516e17b32224f1a104 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Tue Sep 1 17:27:58 2009 +0000 Reapply 80278 Add MO flags to simplify the printing of relocations. Remove the support for printing large code model relocs (which aren't supported anyway). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80691 91177308-0d34-0410-b5e6-96231b3b80d8 commit 598082b1dd506ca0d6540f2bcaded867bfbf77af Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 1 17:19:13 2009 +0000 revert inadvertant change from previous commit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80689 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2e8a8c4cb8746fbe3d199d69b1efcabe557eec3f Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 17:09:55 2009 +0000 random code cleanups, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80682 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3efbb51978df6a37350f8d9d8c67ff3a988ad585 Author: Ted Kremenek <kremenek@apple.com> Date: Tue Sep 1 17:01:02 2009 +0000 Update CMake files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80680 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90cc01b4e49618f75a3cb899cefaa0abe9ca7066 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 1 16:43:35 2009 +0000 Simply LSDA lable emission to use a direct special-case output instead of EmitLabel() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80677 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce59c1a172148acb3140cd46dcb94a9d225f31d5 Author: Duncan Sands <baldrick@free.fr> Date: Tue Sep 1 15:13:02 2009 +0000 Do not manipulate invalid iterators. This fixes the llvm-gcc build when expensive checking is turned on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80671 91177308-0d34-0410-b5e6-96231b3b80d8 commit 724c3211128a50b60e5e479d0e6b66de710a6470 Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Tue Sep 1 10:47:31 2009 +0000 Further refactoring of PIC16 Obj file code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80670 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba2ab19fb3bd60795d5e5c84d5ada7121ab5d282 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Sep 1 10:24:10 2009 +0000 Update CMakeLists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80669 91177308-0d34-0410-b5e6-96231b3b80d8 commit 204b27e24b13676075ab11b149b3a67db3c59f03 Author: Andreas Neustifter <astifter@gmx.at> Date: Tue Sep 1 10:08:39 2009 +0000 Preparation for Optimal Edge Profiling: Add statistics for regular edge profiling, this enables the comparation of the number of edges inserted by regular and optimal edge profiling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80668 91177308-0d34-0410-b5e6-96231b3b80d8 commit 09ae6e0d77d7eb3339a20c613a6f0a9c391dc9f3 Author: Andreas Neustifter <astifter@gmx.at> Date: Tue Sep 1 10:06:05 2009 +0000 Preparation for Optimal Edge Profiling: Optimal edge profiling is only possible when blocks with no predecessors get an virtual edge (BB,0) that counts the execution frequencies of this function-exiting blocks. This patch makes the necessary changes before actually enabling optimal edge profiling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80667 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76448f751688349d8dc7330dbe56ba0165878790 Author: Andreas Neustifter <astifter@gmx.at> Date: Tue Sep 1 08:48:42 2009 +0000 Preparation for Optimal Edge Profiling: This adds a pass to verify the current profile against the flow conditions. This is very helpful when later on trying to perserve the profiling information during all passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80666 91177308-0d34-0410-b5e6-96231b3b80d8 commit aabe25ea1ff3a49b6daa2e643cdb92ac8cc285f5 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 06:33:49 2009 +0000 testcase for PR3601 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80664 91177308-0d34-0410-b5e6-96231b3b80d8 commit a59b5decad2d3e3b9e2f565ff5d4e1857b9202a1 Author: Chris Lattner <sabre@nondot.org> Date: Tue Sep 1 06:31:31 2009 +0000 Change CallGraphNode to maintain it's Function as an AssertingVH for sanity. This didn't turn up any bugs. Change CallGraphNode to maintain its "callsite" information in the call edges list as a WeakVH instead of as an instruction*. This fixes a broad class of dangling pointer bugs, and makes CallGraph have a number of useful invariants again. This fixes the class of problem indicated by PR4029 and PR3601. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80663 91177308-0d34-0410-b5e6-96231b3b80d8 commit e18cb0735189d79b73d3643f9bfda482a82f498d Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 1 05:04:28 2009 +0000 Add virtual destructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80660 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56c573ec8f87ef5fe2d507b7fc1446efa1df0043 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 1 04:27:10 2009 +0000 Add test for vld{234}_lane instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80658 91177308-0d34-0410-b5e6-96231b3b80d8 commit d14b8b63b3557e85950beb061a1d8b01cff4eadf Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 1 04:26:28 2009 +0000 Generate code for vld{234}_lane intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80656 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13099514dad37eb4e6f270fc84fb749c3eaeb487 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Sep 1 04:18:40 2009 +0000 Fix pr4843: When an instruction has multiple destination registers that are tied to different source registers, the TwoAddressInstructionPass needs to be smarter. Change it to check before replacing a source register whether that source register is tied to a different destination register, and if so, defer handling it until a subsequent iteration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80654 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef0f63722ac72a66dd4486e6ac8a1719d12e6e13 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Sep 1 04:09:03 2009 +0000 llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80652 91177308-0d34-0410-b5e6-96231b3b80d8 commit 843c2a2675a78ce65e781d180fd284d4f4a2ff84 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 1 02:34:49 2009 +0000 SJLJ is arm/darwin only for now. force the triple for the test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80651 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b673ee8fb5f7351de61d8bc06fb8958aa846d93 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 1 02:05:03 2009 +0000 Fix compiler warnings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80650 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e0257f9b7567c8c285ee3115c10d552c7c037fb Author: Jim Grosbach <grosbach@apple.com> Date: Tue Sep 1 01:57:56 2009 +0000 Clean up LSDA name generation and use for SJLJ exception handling. This makes an eggregious hack somewhat more palatable. Bringing the LSDA forward and making it a GV available for reference would be even better, but is beyond the scope of what I'm looking to solve at this point. Objective C++ code could generate function names that broke the previous scheme. This fixes that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80649 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a6a4f5d031875716e06bf7339708874e97d915b Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 1 01:14:15 2009 +0000 Introduce DILocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80648 91177308-0d34-0410-b5e6-96231b3b80d8 commit d4794f1da6e32d0eda205da2f994a25d1632aea9 Author: Devang Patel <dpatel@apple.com> Date: Tue Sep 1 00:53:21 2009 +0000 Add getDirectory() and getFilename() interface to DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80647 91177308-0d34-0410-b5e6-96231b3b80d8 commit 318d70da84dd9c3371774284695e2f96613d68a9 Author: Devang Patel <dpatel@apple.com> Date: Mon Aug 31 22:47:13 2009 +0000 Subprogram is a scope. Derive DISubprogram from DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80637 91177308-0d34-0410-b5e6-96231b3b80d8 commit a53768e1e514ec9184b3e17c465b19f9334c1e5c Author: Devang Patel <dpatel@apple.com> Date: Mon Aug 31 22:00:15 2009 +0000 Rename DIBlock as DILexicalBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8b451fceb3e26addeda713ec01dbaf1fa183711 Author: Dan Gohman <gohman@apple.com> Date: Mon Aug 31 21:58:28 2009 +0000 Don't use an iterator which is potentially invalidated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80632 91177308-0d34-0410-b5e6-96231b3b80d8 commit acce6ef067e3e784306ea3e13c30913722a2207c Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Aug 31 21:54:55 2009 +0000 Use early exit and reduce indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80631 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce99fa7903584a25dd332004f3dcf639bbba91f6 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Aug 31 21:54:16 2009 +0000 If the tied registers are already the same, there is no need to change them. Move the code to make that change inside the conditional. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80630 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b3e9544a8c01d83bb746e80ef380e570db47be6 Author: Richard Osborne <richard@xmos.com> Date: Mon Aug 31 21:51:36 2009 +0000 Add triple parsing support for XCore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80629 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a47c2447110c5163806b46ee1be881adf70ce38 Author: Devang Patel <dpatel@apple.com> Date: Mon Aug 31 21:34:44 2009 +0000 Derive DICompileUnit from DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80627 91177308-0d34-0410-b5e6-96231b3b80d8 commit 248d5579576fdfb0f1dca59bc3c6cebb8a6976fc Author: Caroline Tice <ctice@apple.com> Date: Mon Aug 31 21:19:37 2009 +0000 Add flag to mark structs for Apple Block "byref" variables; also add code to modify the type and location debug information for these variables to match the programmer's expectations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80625 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30e24e0e6f8e94a50ef6f08911724ef5d43762d7 Author: Dan Gohman <gohman@apple.com> Date: Mon Aug 31 21:15:23 2009 +0000 Extend the ValuesAtScope cache to cover all expressions, not just SCEVUnknowns, as the non-SCEVUnknown cases in the getSCEVAtScope code can also end up repeatedly climing through the same expression trees, which can be unusably slow when the trees are very tall. Also, add a quick check for SCEV pointer equality to the main SCEV comparison routine, as the full comparison code can be expensive in the case of large expression trees. These fix compile-time problems in some pathlogical cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80623 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21dde52e1976411d2f85eb2505d98d6b8d23baa6 Author: Gabor Greif <ggreif@gmail.com> Date: Mon Aug 31 20:54:23 2009 +0000 restore semantics of operator* (removing a FIXME I had to introduce in r80224) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80622 91177308-0d34-0410-b5e6-96231b3b80d8 commit 864c4b83472a97397039240f7d5e9c6e269174b1 Author: David Goodwin <david_goodwin@apple.com> Date: Mon Aug 31 20:47:02 2009 +0000 Don't mark a register live at an undef use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80621 91177308-0d34-0410-b5e6-96231b3b80d8 commit 94f536e037d399e79afa64c060da2ac0d4d6b4a7 Author: Devang Patel <dpatel@apple.com> Date: Mon Aug 31 20:44:45 2009 +0000 Introduce DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80620 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9db7a5b14625f78cbd619582db31a985eeddd7d Author: Devang Patel <dpatel@apple.com> Date: Mon Aug 31 20:27:49 2009 +0000 Oops. Fix inverted logic in assertion check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80618 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08ed20d6841e1879cff1c6b7717b64fd400dc913 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Aug 31 20:14:07 2009 +0000 Remove .n suffix for some 16-bit opcodes now that Darwin assembler is fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80615 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34a26db1f0520916f9f5d8a0f31fc9c34119bb05 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Aug 31 19:14:05 2009 +0000 X86/exp-asm-printer: Lower MachineOperand::MO_JumpTableIndex to MCOperand. - Down to 7 failures on 403.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80605 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59c42d00cd177c318a10364ddea06290b1f9f320 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Aug 31 19:13:56 2009 +0000 Stop printing old asm printing code inline with -experimental-asm-printer (this allows diffing and assembling the .s) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80604 91177308-0d34-0410-b5e6-96231b3b80d8 commit befe952c385a9e2f26212b3cdea6439323964a46 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Aug 31 19:13:47 2009 +0000 Avoid unnecessary +0 in experimental-asm-printer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80603 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56843af6f90e5bdf7d79a271d2406f57e6674122 Author: Devang Patel <dpatel@apple.com> Date: Mon Aug 31 18:49:10 2009 +0000 Simplify isDerivedType() and other predicate interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80602 91177308-0d34-0410-b5e6-96231b3b80d8 |