mirror of https://github.com/Cisco-Talos/clamav
Tag:
Branch:
Tree:
0dd40a5490
0.95
0.96
0.97
0.98
0.98.1
0.98.2
0.98.3
0.98.4
0.98.5
0.98.6
0.98.7
0.99
0.99.1
0.99.2
0.99.3
CLAM-2277-ExtractImagesFromOle2
CLAM-2787-pdf-rendering-pdfium
dev/0.103.12
dev/1.0.6
dev/1.0.7
dev/1.0.8
dev/1.2.3
dev/1.3.1
dev/1.3.2
dev/1.4.1
dev/1.4.2
feature/integrate-clamav-sys
main
rel/0.100
rel/0.101
rel/0.102
rel/0.103
rel/0.104
rel/0.105
rel/0.99
rel/1.0
rel/1.1
rel/1.2
rel/1.3
rel/1.4
0.93.3
0.94.1rc1
CLAMAV_090RC1
CLAMAV_090RC2
CLAMAV_090RC3
CLAMAV_0_70
CLAMAV_0_71
CLAMAV_0_80
CLAMAV_0_80RC
CLAMAV_0_80RC1
CLAMAV_0_80RC3
CLAMAV_0_80RC4
CLAMAV_0_81
CLAMAV_0_84RC1
clamav-0.100-beta
clamav-0.100.0
clamav-0.100.0-rc
clamav-0.100.1
clamav-0.100.2
clamav-0.100.3
clamav-0.101.0
clamav-0.101.0-beta
clamav-0.101.0-rc
clamav-0.101.1
clamav-0.101.2
clamav-0.101.3
clamav-0.101.4
clamav-0.101.5
clamav-0.102.0
clamav-0.102.0-beta
clamav-0.102.0-rc
clamav-0.102.1
clamav-0.102.2
clamav-0.102.3
clamav-0.102.4
clamav-0.103.0
clamav-0.103.0-rc
clamav-0.103.0-rc2
clamav-0.103.1
clamav-0.103.10
clamav-0.103.11
clamav-0.103.12
clamav-0.103.2
clamav-0.103.3
clamav-0.103.4
clamav-0.103.5
clamav-0.103.6
clamav-0.103.7
clamav-0.103.8
clamav-0.103.9
clamav-0.104.0
clamav-0.104.0-rc2
clamav-0.104.1
clamav-0.104.2
clamav-0.104.3
clamav-0.104.4
clamav-0.105.0
clamav-0.105.0-rc
clamav-0.105.0-rc2
clamav-0.105.1
clamav-0.105.2
clamav-0.70
clamav-0.70@2754
clamav-0.70@502
clamav-0.71
clamav-0.71@2754
clamav-0.71@565
clamav-0.72
clamav-0.72@594
clamav-0.73
clamav-0.73@612
clamav-0.74
clamav-0.74@643
clamav-0.75
clamav-0.75.1
clamav-0.80
clamav-0.80@1021
clamav-0.80@2754
clamav-0.80rc
clamav-0.80rc1
clamav-0.80rc1@1265
clamav-0.80rc1@2754
clamav-0.80rc3
clamav-0.80rc3@2754
clamav-0.80rc3@939
clamav-0.80rc4
clamav-0.80rc4@2754
clamav-0.80rc4@988
clamav-0.80rc@2754
clamav-0.80rc@909
clamav-0.81
clamav-0.81@1286
clamav-0.81@2754
clamav-0.82
clamav-0.83
clamav-0.84
clamav-0.84rc1
clamav-0.84rc1@1466
clamav-0.84rc1@2754
clamav-0.84rc2
clamav-0.85
clamav-0.85.1
clamav-0.86
clamav-0.86.1
clamav-0.86.2
clamav-0.86rc1
clamav-0.87
clamav-0.87.1
clamav-0.88
clamav-0.88.1
clamav-0.88.2
clamav-0.88.3
clamav-0.88.4
clamav-0.88.5
clamav-0.88.6
clamav-0.88.7
clamav-0.90
clamav-0.90.1
clamav-0.90@2749
clamav-0.90rc1
clamav-0.90rc1@2403
clamav-0.90rc1@2754
clamav-0.90rc2
clamav-0.90rc2@2468
clamav-0.90rc2@2754
clamav-0.90rc3
clamav-0.90rc3@2666
clamav-0.90rc3@2754
clamav-0.91
clamav-0.91rc2
clamav-0.92
clamav-0.92_sf
clamav-0.92rc1
clamav-0.92rc2
clamav-0.93
clamav-0.93.1rc1
clamav-0.94
clamav-0.94.1
clamav-0.94.1rc1
clamav-0.94.2
clamav-0.94rc1
clamav-0.95
clamav-0.95.1
clamav-0.95.2
clamav-0.95.3
clamav-0.95rc1
clamav-0.95rc2
clamav-0.96
clamav-0.96.1
clamav-0.96.2
clamav-0.96.3
clamav-0.96.4
clamav-0.96.5
clamav-0.96rc1
clamav-0.96rc2
clamav-0.97
clamav-0.97.1
clamav-0.97.2
clamav-0.97.3
clamav-0.97.4
clamav-0.97.5
clamav-0.97.6
clamav-0.97.7
clamav-0.97.8
clamav-0.97rc
clamav-0.98
clamav-0.98-dmgxar
clamav-0.98.1
clamav-0.98.1rc
clamav-0.98.2
clamav-0.98.3
clamav-0.98.4
clamav-0.98.4-rc1
clamav-0.98.5
clamav-0.98.5-rc1
clamav-0.98.5-rc2
clamav-0.98.5beta
clamav-0.98.6
clamav-0.98.7
clamav-0.98rc
clamav-0.98rc2
clamav-0.99
clamav-0.99-beta1
clamav-0.99-beta2
clamav-0.99-rc1
clamav-0.99-rc2
clamav-0.99.1
clamav-0.99.1-beta1
clamav-0.99.2
clamav-0.99.3
clamav-0.99.3-beta1
clamav-0.99.3-beta2
clamav-0.99.4
clamav-1.0.0
clamav-1.0.0-rc
clamav-1.0.0-rc2
clamav-1.0.1
clamav-1.0.2
clamav-1.0.3
clamav-1.0.4
clamav-1.0.5
clamav-1.0.6
clamav-1.0.7
clamav-1.0.8
clamav-1.1.0
clamav-1.1.0-rc
clamav-1.1.1
clamav-1.1.2
clamav-1.1.3
clamav-1.2.0
clamav-1.2.0-rc
clamav-1.2.1
clamav-1.2.2
clamav-1.2.3
clamav-1.3.0
clamav-1.3.0-rc
clamav-1.3.0-rc2
clamav-1.3.1
clamav-1.3.2
clamav-1.4.0
clamav-1.4.0-rc
clamav-1.4.1
clamav-1.4.2
clamav-1.5.0-beta
clamav-20080204
merge-llvm-79908
merge-llvm-80601
merge-llvm-83242
merge-llvm-90002
merge-llvm-91214
merge-llvm-91428
merge-llvm-92222
merge-llvm-94539
merge-llvm-97877
r5076
start
test_prefilter_enable
test_prefilter_enable2
test_prefiltering_disable
${ noResults }
5767 Commits (0dd40a5490c631a28ad37b9e03137ebe879c8e7c)
Author | SHA1 | Message | Date |
---|---|---|---|
![]() |
f728ee7f09 |
Update autogenerated files after LLVM import.
|
15 years ago |
![]() |
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 |
15 years ago |
![]() |
c80f26a2b8 |
distcheck
|
15 years ago |
![]() |
a45651d4cb |
add another missing file
|
15 years ago |
![]() |
9c062bee97 |
Add missing file.
|
15 years ago |
![]() |
067456f106 |
update win32 proj.
|
15 years ago |
![]() |
f451cc9ac0 |
fix loading of bytecode into intepreter.
|
15 years ago |
![]() |
3ff41e32b1 |
fix globals in interpreter.
|
15 years ago |
![]() |
5b74e89a35 |
enable prefiltering, and add to dconf.
Also downgrade some warnings to debug messages. |
15 years ago |
![]() |
6eeadbfeda |
dconf for bytecode.
|
15 years ago |
![]() |
1e30496d2a |
runtime checks verifier.
|
15 years ago |
![]() |
d4c9f766ce |
fix clambc's printing of source code, and add separate cmdline for it.
Also disable debug by default, --debug can be used to enable. |
15 years ago |
![]() |
039af772c8 |
Don't fail if bytecode was skipped due to functionality level.
|
15 years ago |
![]() |
0eb864b461 |
update unit tests.
|
15 years ago |
![]() |
cc4b3fca6c |
fix memory leak in prefiltering code.
|
15 years ago |
![]() |
236fb13647 |
New pointer handling rules.
|
15 years ago |
![]() |
0ee3904bd9 |
drop cli_pdf internal cache
|
15 years ago |
![]() |
2587dbab71 |
call checkfp before unmapping - just in case
|
15 years ago |
![]() |
32b1e04e64 |
simplify checkfp
|
15 years ago |
![]() |
a6cbdba9a3 |
binhex: scan partially extracted files
|
15 years ago |
![]() |
c5bfb52e1a |
purge message.c binhex parser
|
15 years ago |
![]() |
ddcd9ea6c6 |
binhex minor fixes
|
16 years ago |
![]() |
b4b2b93619 |
Merge branch 'master' of git.clam.sourcefire.com:/var/lib/git/clamav-devel
|
16 years ago |
![]() |
d46cdd59ea |
libclamav: add cl_countsigs() (bb#1473)
|
16 years ago |
![]() |
124ba12d7b |
one pass binhex
|
16 years ago |
![]() |
8cf6cab95d |
chk prefix_length
|
16 years ago |
![]() |
7b4c4c8ad1 |
ignore compatibility limit for bytecode
|
16 years ago |
![]() |
8d278b95eb |
Merge branch 'master' of ssh://git.clam.sourcefire.com/var/lib/git/clamav-devel
|
16 years ago |
![]() |
f6d4d6e769 |
handle bytecode's version in TXT record
|
16 years ago |
![]() |
9be6a33415 |
fix distcheck
|
16 years ago |
![]() |
3e527c3487 |
one & too much
|
16 years ago |
![]() |
3ef137af1b |
fix fmap stuff in sigtool
|
16 years ago |
![]() |
3e975a6042 |
missing #include.
|
16 years ago |
![]() |
2c8d0eb3f1 |
fix init of hook_lsig_matches.
Initing with null, and creating a bitset that is never assigned is obviously not what was intended here. |
16 years ago |
![]() |
380ae30458 |
fix prefiltering build.
|
16 years ago |
![]() |
02eabc6d1e |
Add the rest of the prefiltering glue code.
This is still disabled for now (see the & 0). |
16 years ago |
![]() |
2125a9c9fa |
Fix win32 build (bb #1824).
|
16 years ago |
![]() |
5d22e28905 |
missing close
|
16 years ago |
![]() |
adf27b936e |
bb#1684
|
16 years ago |
![]() |
7af2e27c9d |
Merge branch 'prefiltering4'
* prefiltering4: fix build move matching code to matcher_run. matcher-ac: move leaf checks inside IS_FINAL. Prepare for prefiltering: add new files. |
16 years ago |
![]() |
9446925330 |
fix build
|
16 years ago |
![]() |
461a7bd902 |
Merge branch 'prefiltering_split' into prefiltering3
* prefiltering_split: move matching code to matcher_run. matcher-ac: move leaf checks inside IS_FINAL. Conflicts: libclamav/matcher.c |
16 years ago |
![]() |
2a94c08e19 |
move matching code to matcher_run.
No functionality change. |
16 years ago |
![]() |
551e73b783 |
matcher-ac: move leaf checks inside IS_FINAL.
All other were removed during ac_maketrans. |
16 years ago |
![]() |
5a72fce685 |
fix gzip handler
|
16 years ago |
![]() |
8d89487c2e |
Show more details about zlib when inflateinit fails.
|
16 years ago |
![]() |
86cec97d2d |
fix empty output for check in configure summary.
|
16 years ago |
![]() |
40103a3004 |
Merge branch 'tmp' into prefiltering2
* tmp: Prepare for prefiltering: add new files. Conflicts: libclamav/Makefile.am libclamav/Makefile.in libclamav/libclamav.map libclamav/regex_list.c |
16 years ago |
![]() |
e0ac80ab38 |
Prepare for prefiltering: add new files.
Move SO_search to filtering.c as filtering_search. Add unit test. |
16 years ago |
![]() |
ada793857b |
Update unit tests after Phishing.Heuristics -> Heuristics.Phishing change.
|
16 years ago |