mirror of https://github.com/Cisco-Talos/clamav
Tag:
Branch:
Tree:
b8fd8f0748
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/1.4.4
dev/1.5.1
dev/1.5.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
rel/1.5
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.0.9
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.4.3
clamav-1.5.0
clamav-1.5.0-beta
clamav-1.5.0-rc
clamav-1.5.1
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 }
5379 Commits (b8fd8f0748d65d001c35e29ad91ac7c701f01ae3)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
b8fd8f0748 |
Update Makefile for new LLVM.
|
16 years ago |
|
|
ae1be98809 |
Update to LLVM upstream r92222.
Squashed commit of the following:
commit 4d06dfc51403e0e54eb688a3a9fb1839ea2136a6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Mon Dec 28 12:27:56 2009 +0000
Add missing include (for inline PATypeHolder::get).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92222 91177308-0d34-0410-b5e6-96231b3b80d8
commit e05a9ea766a0b81c710a044887cfc22d6f36a664
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 09:32:10 2009 +0000
avoid a completely unneeded linear walk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92221 91177308-0d34-0410-b5e6-96231b3b80d8
commit 104369f82cb166e9c446c3e844136811466916b3
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 09:24:53 2009 +0000
Eliminate two bits of ugliness in MDNode::replaceElement:
eliminate the temporary smallvector, and only do FindNodeOrInsertPos
twice if the first one succeeds and we delete a node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92220 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7bbe9111b1caea1c424c73bbba6338eedd96d65
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 09:12:35 2009 +0000
rearrange some methods, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92219 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc1d027f0654706031bf0e6d7c57ede4dfc41373
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 09:10:16 2009 +0000
avoid temporary CallbackVH's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92218 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3716bc64a3ee906a6e40e6847ac915daa01e4919
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 09:07:21 2009 +0000
Rewrite the function-local validation logic for MDNodes (most of r91708).
Among other benefits, this doesn't leak the SmallPtrSet, has the verifier
code in the verifier pass, actually does the verification at the end,
and is considerably simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92217 91177308-0d34-0410-b5e6-96231b3b80d8
commit 894c992754b4095a0546181a0701674a3a696477
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 08:48:12 2009 +0000
rename MDNode instance variables to something meaningful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92216 91177308-0d34-0410-b5e6-96231b3b80d8
commit a89d238baa1ac500515df35491d0c7480ec87bf0
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 08:30:43 2009 +0000
snip one more #include from Metadata.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92214 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4ba716d8d60ff7b6e0e07bce48bcb68bcffa1388
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 08:26:43 2009 +0000
prune #includes more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92213 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62a41720e49584820202799556c757518e23d3cf
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 08:24:16 2009 +0000
prune some #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92212 91177308-0d34-0410-b5e6-96231b3b80d8
commit 749a4129c976d4895f231f0fbfddf9c54c17ac1b
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 08:20:46 2009 +0000
Metadata.h doesn't need to include ValueHandle.h anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92211 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c8fe40711f3cf363831d95a63322a5963233f0a
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 08:14:54 2009 +0000
change the strange MetadataContext::getMDs function to expose less
irrelevant internal implementation details to clients.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92210 91177308-0d34-0410-b5e6-96231b3b80d8
commit febd655fa44c568fa3a80af56aed9955ff797157
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 08:07:14 2009 +0000
change NamedMDNode to use a pimpl for its operand list instead
of making it a declared part of the value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92209 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f465e4a2ed122934f187b6e0761c9268a200cb0
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 07:57:01 2009 +0000
eliminate the elem_* iterator stuff from NamedMDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92208 91177308-0d34-0410-b5e6-96231b3b80d8
commit da60d2e518af314a29eb38402e70a77b05fc5d32
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 07:41:54 2009 +0000
move ElementVH out of the MDNode class into the MDNode.cpp file. Among
other things, this avoids vtable and rtti data for it being splatted in
every translation unit that uses it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92207 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2df342071750e4ecc7dfec0fc108efd69967401d
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 28 07:41:18 2009 +0000
move these out of their own timer groups into the 'uncategorized' groups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92206 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4f6dce81500015dbe2f7763bc88a74df9dc177f7
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Mon Dec 28 04:53:24 2009 +0000
Fixed llc crash for zext (i1 -> i8) loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92201 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2f6348092dd3411c4bf41fb146945b6f5f387562
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Mon Dec 28 02:40:33 2009 +0000
Allow targets to specify the return type of libcalls that are generated for floating point comparisons, rather than hard-coding them as i32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92199 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4ab9372471bf169547c6c11eb1432d2c3fa06615
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 02:07:00 2009 +0000
Mark variable used by 'assert' as 'unused'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92198 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e0224c4aa4b517723e2e950c00850422a7f083a
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 02:05:36 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92197 91177308-0d34-0410-b5e6-96231b3b80d8
commit 39dd182871d4a9068a18d8d84e63983fc3a9d256
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 02:04:53 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92196 91177308-0d34-0410-b5e6-96231b3b80d8
commit f7e76f7cae0da2b59d8e6173723007f69a769f70
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 02:01:06 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92195 91177308-0d34-0410-b5e6-96231b3b80d8
commit 83e5f56eb04727ac461cfa6354882bd9649f6f7f
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 02:00:30 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92194 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0077d08de74578e474f611872454275c125a0656
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:57:39 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92193 91177308-0d34-0410-b5e6-96231b3b80d8
commit e9c887a2902d05fa600b59ccda2b22f2af1ed76d
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:54:15 2009 +0000
Remove dead store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92192 91177308-0d34-0410-b5e6-96231b3b80d8
commit a18ebc30a2abf0fe66b55af79518ed8c4b06f7c6
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:53:00 2009 +0000
Remove dead store and simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92191 91177308-0d34-0410-b5e6-96231b3b80d8
commit 70ef837cf7e36be18d866d67bf374ed62a58f6fb
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:51:30 2009 +0000
Remove dead store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92190 91177308-0d34-0410-b5e6-96231b3b80d8
commit a6d452859e652c22b193c00abadb48aefc427ef4
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:48:56 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92189 91177308-0d34-0410-b5e6-96231b3b80d8
commit 96d90c5c9b8a19e5e4f902e28430353fda2a2dd0
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:47:48 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92188 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a223745a9f77c21863ca8b2725836092b38977a
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:44:39 2009 +0000
Remove dead store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92187 91177308-0d34-0410-b5e6-96231b3b80d8
commit c3e9be4e2bd703b642872ad835a93ebf79f8f465
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:42:12 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92186 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94fff552bffee0a421218b26f228ebd0d1f7a7d0
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:41:12 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92185 91177308-0d34-0410-b5e6-96231b3b80d8
commit da097dc64ce517757c11b1345dab55dfa19bb14e
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:36:02 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92184 91177308-0d34-0410-b5e6-96231b3b80d8
commit b537cbf815f7aa6a62504cb9b69ec0402a1313f5
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:34:57 2009 +0000
Mark some debug variables as 'unused' to quiet compiler and analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92183 91177308-0d34-0410-b5e6-96231b3b80d8
commit dc6c4ad2c7f1b207357abbe2f954c4df14b6f455
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:31:11 2009 +0000
Remove dead store. The initial value was never used, but always overridden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92182 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1e55ab7b75ee6d8bc8418f06b36fa77234276a8
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:20:29 2009 +0000
Add an "ATTRIBUTE_UNUSED" macro (and use it). It's for variables which are
mainly used in debugging and/or assert situations. It should make the compiler
and the static analyzer stop nagging us about them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92181 91177308-0d34-0410-b5e6-96231b3b80d8
commit 89b41234a06c9062f112e6f9f9b2a0311c8166ff
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:02:21 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92180 91177308-0d34-0410-b5e6-96231b3b80d8
commit 26af2111a96acb02a4f7dfa6815381a1979336eb
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:01:14 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92179 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8eb19339daa81669e709d65a479c1e837874a5b1
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 28 01:00:12 2009 +0000
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92178 91177308-0d34-0410-b5e6-96231b3b80d8
commit c53dde98400a169d8a2aee60fd9e9749a0f1de3f
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 26 22:58:39 2009 +0000
lit: Add setuptools support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92169 91177308-0d34-0410-b5e6-96231b3b80d8
commit c989d308a138180b0188cbe3d3c89497167a1a0b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 26 22:58:23 2009 +0000
lit: Sink code into a 'lit' package.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92168 91177308-0d34-0410-b5e6-96231b3b80d8
commit 824050a388d1beb1428686ea886b1ea77d4dee94
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sat Dec 26 20:08:30 2009 +0000
PR5886: Make sure IMUL32m is marked as setting EFLAGS, so scheduling doesn't
do illegal stuff around it. No testcase because the issue is very fragile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92167 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c5c0b12976c75ccdfd95a241525281e6061908c
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 25 13:50:18 2009 +0000
Avoid assigning to Changed when it won't be used after the return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92160 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0f0db31d8ee1ee48e20755a0fa6d4da5100aade2
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 25 13:45:50 2009 +0000
Remove dead store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92159 91177308-0d34-0410-b5e6-96231b3b80d8
commit 90cd35e334e96b73cb0e68b126377e8f65d519fc
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 25 13:44:36 2009 +0000
Remove dead store from copy-pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92158 91177308-0d34-0410-b5e6-96231b3b80d8
commit d5cc74ccc7b1398736393e1634fa1e37a22ea2c3
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 25 13:39:58 2009 +0000
Remove dead store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92157 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea340ea46c96dec8ba5dcb655474a3e811e956ca
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 25 13:37:27 2009 +0000
Remove dead store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92156 91177308-0d34-0410-b5e6-96231b3b80d8
commit 220675b0f99b21cf7cb8a92f77d581708787ac3e
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 25 13:35:40 2009 +0000
Use the 'MadeChange' variable instead of returning 'false' all of the time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92155 91177308-0d34-0410-b5e6-96231b3b80d8
commit a1c4df64381a1795a44ac6f6342a40b024fa07e1
Author: John McCall <rjmccall@apple.com>
Date: Thu Dec 24 23:18:09 2009 +0000
Implement support for converting to string at "natural precision", and fix some
major bugs in long-precision conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92150 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9825c55a5a3a557c54c1af48bfb5954ddfbafc6c
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Thu Dec 24 21:15:37 2009 +0000
Move the two definitions of operator<< into namespace llvm, so they
will be found by argument-dependent lookup. As with the previous
commit, GCC is allowing ill-formed code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92146 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1e69877669f44c5efd3b1f989aa32cdb362f3d27
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Thu Dec 24 21:11:45 2009 +0000
Define the new operator<< for sets into namespace std, so that
argument-dependent lookup can find it. This is another case where an
LLVM bug (not making operator<< visible) was masked by a GCC bug
(looking in the global namespace when it shouldn't).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92144 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3e573a9f0b82197ece967593d38d55799ada0572
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Dec 24 17:49:28 2009 +0000
Don't emit trailing semicolon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92133 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08cdb8a64f60f7737892f16ccab52acd1057d8e1
Author: John McCall <rjmccall@apple.com>
Date: Thu Dec 24 12:16:56 2009 +0000
Substantially optimize APFloat::toString() by doing a single large divide to
cut the significand down to the desired precision *before* entering the
core divmod loop. Makes the overall algorithm logarithmic in the exponent.
There's still a lot of room for improvement here, but this gets the
performance back down to acceptable-for-diagnostics levels, even for
long doubles.
negligible, even on long doubles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92130 91177308-0d34-0410-b5e6-96231b3b80d8
commit f7d9cb2b8c27f4785f1d5a50a13fbb74b9a6e028
Author: John McCall <rjmccall@apple.com>
Date: Thu Dec 24 08:56:26 2009 +0000
Add accessors for the largest-magnitude, smallest-magnitude, and
smallest-normalized-magnitude values in a given FP semantics.
Provide an APFloat-to-string conversion which I am quite ready to admit could
be much more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92126 91177308-0d34-0410-b5e6-96231b3b80d8
commit c77cc1794d1e2f70ad0b1b8ccd5e1661cd1c55c2
Author: John McCall <rjmccall@apple.com>
Date: Thu Dec 24 08:52:06 2009 +0000
Set Remainder before Quotient in case Quotient and LHS alias. The new
order should be immune to such problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92124 91177308-0d34-0410-b5e6-96231b3b80d8
commit f35785f5df44d1908b82d87c9edd3d2b93f84022
Author: Dale Johannesen <dalej@apple.com>
Date: Thu Dec 24 01:10:43 2009 +0000
Testcase for llvm-gcc checkin 92108.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92110 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1d0ad3b99ec52705b0256dfd0421344511028b32
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 24 01:07:17 2009 +0000
handle equality memcmp of 8 bytes on x86-64 with two unaligned loads and a
compare. On other targets we end up with a call to memcmp because we don't
want 16 individual byte loads. We should be able to use movups as well, but
we're failing to select the generated icmp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92107 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d922b408462129adb924b960e81ac65077fab5a
Author: David Greene <greened@obbligato.org>
Date: Thu Dec 24 00:39:02 2009 +0000
Change errs() to dbgs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92099 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a34688bac4bb0ec549e82da03d912282d364492
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 24 00:37:38 2009 +0000
move an optimization for memcmp out of simplifylibcalls and into
SDISel. This optimization was causing simplifylibcalls to
introduce type-unsafe nastiness. This is the first step, I'll be
expanding the memcmp optimizations shortly, covering things that
we really really wouldn't want simplifylibcalls to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92098 91177308-0d34-0410-b5e6-96231b3b80d8
commit 55f2a677a444fb3db1cf6b679f261d242b8636d1
Author: David Greene <greened@obbligato.org>
Date: Thu Dec 24 00:34:21 2009 +0000
Change errs() to dbgs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92097 91177308-0d34-0410-b5e6-96231b3b80d8
commit 259191f8260ce170bac8eba3e221c35e93d2778e
Author: David Greene <greened@obbligato.org>
Date: Thu Dec 24 00:31:35 2009 +0000
Change errs() to dbgs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92096 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32c864e1d29d12c6156ce242458f4668e5acb211
Author: David Greene <greened@obbligato.org>
Date: Thu Dec 24 00:27:55 2009 +0000
Change errs() to dbgs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92094 91177308-0d34-0410-b5e6-96231b3b80d8
commit c0e0771a5c8a082bffed6d4bcea8d6f41b186bfb
Author: David Greene <greened@obbligato.org>
Date: Thu Dec 24 00:14:25 2009 +0000
Change errs() to dbgs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92093 91177308-0d34-0410-b5e6-96231b3b80d8
commit 081d4ccced881523716f5017bf619546a2e7ab43
Author: David Greene <greened@obbligato.org>
Date: Thu Dec 24 00:06:26 2009 +0000
Change errs() to dbgs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92092 91177308-0d34-0410-b5e6-96231b3b80d8
commit b74668684da4ed870af49851ef26b0d526c77401
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:47:53 2009 +0000
Change errs() to dbgs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92091 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3a94535216c37f5c33a40b1a88a32a735077c3ff
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:38:28 2009 +0000
Change errs() to dbgs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92088 91177308-0d34-0410-b5e6-96231b3b80d8
commit ff374c2b59fe114b6910a40285deed40230f1208
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:29:28 2009 +0000
Change dbgs() back to errs() as Chris requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92086 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4151dd0bbf6a685586b8fecf4037a7a27456f944
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:27:15 2009 +0000
Change dbgs() back to errs() as Chris requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92085 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5878b32788cee3c581890e775e1d8fcc8d55ccc5
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 23 23:24:51 2009 +0000
reorder to follow a normal fall-through style, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92084 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa3571123711181442ca28841946762622336a2b
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:23:15 2009 +0000
Clarify how dbgs() operates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92083 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5e0a6b7dfd1f5ea140018bf1e30f1924d0a1c87e
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:19:43 2009 +0000
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92082 91177308-0d34-0410-b5e6-96231b3b80d8
commit 702481a81b95fed36e43478d719bf0f0deebd262
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:14:41 2009 +0000
Change dbgs() back to errs() for assert messages as Chris requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92081 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6350f81d59920edcfd8b44ac6b66af0c7ff18113
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:09:39 2009 +0000
Change dbgs() back to errs() for assert messages as Chris requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92080 91177308-0d34-0410-b5e6-96231b3b80d8
commit aeeb42419cc76d1fd44b1fe3fd4f4140ee2c3961
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 23 23:03:24 2009 +0000
sizeof(char) is always 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92079 91177308-0d34-0410-b5e6-96231b3b80d8
commit d5fad3b9406fcfda51c31bd559edd61d7ef44d27
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 23:00:50 2009 +0000
Change dbgs() back to errs() for assert messages as Chris requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92077 91177308-0d34-0410-b5e6-96231b3b80d8
commit dfea7e628a030fc5f15cbdd757ff661b7d834fd8
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 22:59:29 2009 +0000
Change dbgs() back to errs() for assert messages as Chris requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92076 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce4d5136399a6a07388495c762e294986895d926
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 22:58:38 2009 +0000
Remove dump routine and the associated Debug.h from a header. Patch up
other files to compensate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92075 91177308-0d34-0410-b5e6-96231b3b80d8
commit 053e91a4308e9fa66c1af1a7019ce45c71606f28
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 22:49:57 2009 +0000
Change dbgs() back to errs() as Chris requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92073 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0a32a9d73bc8035a13c6241433d6e70a2d4290fb
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 22:35:10 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92071 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9561c821ce2afaad4926e2830ed9f30cb27f29d7
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 22:28:01 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92068 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6778bc905cce16db6b5b1be049a42ad1e0c9fddb
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 22:18:14 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92067 91177308-0d34-0410-b5e6-96231b3b80d8
commit dc874baf87b0799d6f6c576b718b33691d7259dd
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 22:10:20 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92066 91177308-0d34-0410-b5e6-96231b3b80d8
commit 96a47017353e6883b2484cc5811c72118fbbd404
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 21:58:29 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92063 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce32cf00cc1f35e1d4cc5e00d611bcde720ce9da
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 21:48:18 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92060 91177308-0d34-0410-b5e6-96231b3b80d8
commit 01295bc07f8f0a55e3498827a5bfc3ee0a386f50
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Dec 23 21:34:03 2009 +0000
Move kill flags when the same register occurs more than once in a sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92058 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2a98a2f5a8b106b2abfcb2b1e8b6c2cb49311951
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Dec 23 21:28:42 2009 +0000
Handle undef operands properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92054 91177308-0d34-0410-b5e6-96231b3b80d8
commit ecae21aaf03469b5b0dd06b256425ae03a560b47
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Dec 23 21:28:37 2009 +0000
Make insert position available to MergeOpsUpdate.
Rearrange arguments.
No functional changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92053 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07be4590c1626617747d7b7922e17273a73e4c17
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Dec 23 21:28:31 2009 +0000
Perform kill flag calculations in new method. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92052 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c119d7d49e4c86b04e942d8ae5ac8721e2ca9a4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Dec 23 21:28:23 2009 +0000
Move repeated code to a new method. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92051 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07cc79a1623ca8414da9255543762abe8a8037d9
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 21:27:29 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92050 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6ff267f2711ec600d9458749bef022b8a6476ab4
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 21:16:54 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92048 91177308-0d34-0410-b5e6-96231b3b80d8
commit a80ab14e95be6b6ea2c7fa2b57398b830fe6beb5
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 21:06:14 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92046 91177308-0d34-0410-b5e6-96231b3b80d8
commit 00532a28dca9a915557626b73b4d089108ce85cb
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 20:52:41 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92042 91177308-0d34-0410-b5e6-96231b3b80d8
commit d120239be2123affddcadf85d9ce6cdf75e4f064
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 20:43:58 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92040 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad44e7d5a9e226bf9b3aa54763e83fc51273a969
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 20:34:27 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92039 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a60d180d7fe86436196abb37f8b767da07cd30d
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 20:20:46 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92037 91177308-0d34-0410-b5e6-96231b3b80d8
commit db4dd0d7e4a22a5c0ae0ca9970b649fc5ad0082a
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 23 20:13:44 2009 +0000
Remove an XFAIL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92036 91177308-0d34-0410-b5e6-96231b3b80d8
commit f17f28ba4b1067d125d577d52864810ef7733e61
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 20:10:59 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92035 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa7455dbb5c01cac91b9a254981cb381324a1b9f
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 20:03:58 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92034 91177308-0d34-0410-b5e6-96231b3b80d8
commit 13e07bacee394735a7a604ffd4fdaf15b8384c95
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 19:51:44 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92033 91177308-0d34-0410-b5e6-96231b3b80d8
commit d02176108f777e643dd1b34e70675c3c3892fe21
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 19:45:49 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92032 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb782751a0a6c7f4997f8afc75124241b0a07f94
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 19:27:59 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92029 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8323720790f8a7b2ccb57d0ed927c406c7ada2ff
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 19:21:19 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92026 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9177c9c21f5bade02492fdb1b1cae0d772108f21
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 19:15:13 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92024 91177308-0d34-0410-b5e6-96231b3b80d8
commit 514e97429ecef0dd9f8a483e2dbe3dc8de47b73d
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Wed Dec 23 19:12:50 2009 +0000
Alternative fix to make sure that the extern declarations used by
DynamicLibrary::SearchForAddressOfSymbol refer to declarations in the
global namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92023 91177308-0d34-0410-b5e6-96231b3b80d8
commit afaefaaf3d83a920746492a48e70c7343f2df5e1
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Wed Dec 23 19:04:10 2009 +0000
Revert 92020 until I figure out a more portable fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92021 91177308-0d34-0410-b5e6-96231b3b80d8
commit 852b0c0e84467eab2076b2014b54843b15b06b1e
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Wed Dec 23 18:56:27 2009 +0000
Move the extern symbol declarations outside of
DynamicLibrary::SearchForAddressOfSymbol and force them to have "C"
linkage.
Interestingly, GCC treats the block-scoped "extern" declarations we
previously had as if they were extern "C" declarations (or, at least,
were in the global namespace), so that GCC bug papered over this LLVM
bug. Clang and EDG get the linkage correct; this new variant seems to
work for both GCC and Clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92020 91177308-0d34-0410-b5e6-96231b3b80d8
commit a21b0c41a131b8eaf95cc441e519923a380ea19c
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Wed Dec 23 18:27:13 2009 +0000
Fix another -Wmismatched-tags warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92017 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7cc2dbba20994329d71739adc9e54d63e95f37a5
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 18:25:37 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92016 91177308-0d34-0410-b5e6-96231b3b80d8
commit a28b20c236ba2ec1c466f612a84c8b965f60ea81
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 17:55:11 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92013 91177308-0d34-0410-b5e6-96231b3b80d8
commit dc8b5720c49dd593865b6ed1e18928e5e038000e
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date: Wed Dec 23 17:48:10 2009 +0000
move a few more symbols to .rodata
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92011 91177308-0d34-0410-b5e6-96231b3b80d8
commit d25af07faae782ffd616b13b2d8dadd1e229a0f9
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 17:24:22 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92006 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2531b82af471667ff2ffcab9eb801b77f04ec0f6
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 17:18:22 2009 +0000
Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92005 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa80e75a467dd54a9e2007f29ff99aa8fd42626d
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Wed Dec 23 17:05:07 2009 +0000
Fix struct/class mismatch for LTOModule and LTOCodeGenerator, detected by Clang
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92004 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5efd48c6c7c43ed1d8eadb79c17260b15f472f38
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Wed Dec 23 17:03:46 2009 +0000
De-bork CMake build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92003 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb6f927871a16e14c3b78ec1382d75fe82197bd4
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 16:39:06 2009 +0000
Provide dbgs(), a circular-buffering debug output stream. By default it
simply passes output to errs(). If -debug-buffer-size=N is set N > 0,
dbgs() buffers its output until program termination and dumps the last N
characters sent to it. This is handy when debugging very large inputs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92002 91177308-0d34-0410-b5e6-96231b3b80d8
commit 825e4b5c9261d0c2ee58c5a771c1331fbfdc8885
Author: David Greene <greened@obbligato.org>
Date: Wed Dec 23 16:08:15 2009 +0000
Add circular_raw_ostream, which buffers its output in a circular queue
and outputs it when explicitly flushed. The intent is to use it in
situations such as debug output logging where a signal handler can take
care of flushing the buffer at program termination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92001 91177308-0d34-0410-b5e6-96231b3b80d8
commit 236c4bde3fd5143cf9ea997a9863e4a3caaf9210
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Wed Dec 23 12:50:03 2009 +0000
Make it easier to regenerate docs when srcdir != objdir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92000 91177308-0d34-0410-b5e6-96231b3b80d8
commit 388266107e740ca794485b3a585def2883956f6f
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Wed Dec 23 12:49:51 2009 +0000
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91999 91177308-0d34-0410-b5e6-96231b3b80d8
commit 509f9240d37ecbdcabf1d3157a6140322030706b
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Wed Dec 23 12:49:41 2009 +0000
Cosmetic issue: more consistent naming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91998 91177308-0d34-0410-b5e6-96231b3b80d8
commit 27d15f58084d6b25bdec9c65eacc2821cb1b9d73
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Wed Dec 23 12:49:30 2009 +0000
Allow (set_option SwitchOption, true).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91997 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5bb804eb2f89c971a5860a6e0bb0f6f5d58a8ef7
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Wed Dec 23 11:19:09 2009 +0000
Reapply 91904.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91996 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1f01e330bad7cb24d966bf9e51cfa8c4afbdb4d1
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Wed Dec 23 10:56:02 2009 +0000
Added missing patterns for subtract instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91995 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5316fa5d7262c48b511104e64664f7b8938a5d6b
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Wed Dec 23 10:35:24 2009 +0000
deleting empty file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91994 91177308-0d34-0410-b5e6-96231b3b80d8
commit 391ab2127fb765c0c3fedd0e8db7ac440524353e
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Wed Dec 23 09:46:01 2009 +0000
Reverting back 91904.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91993 91177308-0d34-0410-b5e6-96231b3b80d8
commit f81e44d0fe15207bd331798aee58a3c95c39a4b8
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Dec 23 07:32:51 2009 +0000
Use more sensible type for flags in asms. PR 5570.
Patch by Sylve`re Teissier (sorry, ASCII only).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91988 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb2367dd4da70f93d7b83b41c6c00d857358b139
Author: Eric Christopher <echristo@apple.com>
Date: Wed Dec 23 02:51:48 2009 +0000
Update objectsize intrinsic and associated dependencies. Fix
lowering code and update testcases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91979 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25a9b18b58d5c85ad531ca50ac8e81acdf3ffd76
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 23 01:46:40 2009 +0000
really remove the instruction, don't just comment it out
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91976 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e34f628addb0a70b0f28ada176693cd30f9349a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 23 01:45:04 2009 +0000
completely eliminate the MOV16r0 'instruction'. The only
interesting part of this is the divrem changes, which are
already tested by CodeGen/X86/divrem.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91975 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a8951e0e3247ddcfa1b0b4486cb77ceb1985a9a
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Dec 23 01:32:29 2009 +0000
More fixes for Visual C++. Replaced several very small
static inline functions with macros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91973 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ef8bc9fb5cb8ea6d404809565bdc7088b85f948
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 23 01:30:26 2009 +0000
stop pattern matching 16-bit zero's of a register to MOV16r0,
instead use the appropriate subreggy thing. This generates identical
code on some large apps (thanks to Evan's cross class coalescing
stuff he did back in july). This means that MOV16r0 can go away
completely in the future soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91972 91177308-0d34-0410-b5e6-96231b3b80d8
commit f70c94554077d2291b6867a2f24e1cd40f2337d1
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 23 01:28:19 2009 +0000
Remove superfluous SDNode ordering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91971 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2be082890768917e7360194b667a7fdb81b140b3
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Dec 23 00:58:02 2009 +0000
Disable JITTest.FunctionIsRecompiledAndRelinked on ARM where it's not
implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91963 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1e5b9ec2b938c3eb3ef527f254d7200a720e351c
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 23 00:47:20 2009 +0000
Remove node ordering from inline asm nodes. It's not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91961 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac0bfeb8b0af333e4167dbe6e15ff335ce7b67e1
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 23 00:45:10 2009 +0000
Suppress compiler warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91959 91177308-0d34-0410-b5e6-96231b3b80d8
commit 92b889c9eb3ea14a43dcc2ec7ee64d319a3156d3
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 23 00:44:51 2009 +0000
Remove node ordering from VA nodes. It's not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91958 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9b4cefa1b947151b3f2178cf3aabec2642e7582b
Author: Eric Christopher <echristo@apple.com>
Date: Wed Dec 23 00:29:49 2009 +0000
Update docs for bitcode changes. For object size checking we won't
work with partial objects so just count the type as a boolean. Update
appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91954 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b000faeb29370a0c4cb395368f4d026b74c1db7
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 23 00:28:23 2009 +0000
Revert r91949 r91942 and r91936.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91953 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25ae075ab2194cfc445b001c65fa3bf73d65fa93
Author: Gabor Greif <ggreif@gmail.com>
Date: Wed Dec 23 00:18:40 2009 +0000
restore 'make update' functionality by not ignoring 'clang' here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91950 91177308-0d34-0410-b5e6-96231b3b80d8
commit b24f6e8dd614f6e99af0caeedcbb79160d09e09c
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 23 00:05:09 2009 +0000
Finish up node ordering in ExpandNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91949 91177308-0d34-0410-b5e6-96231b3b80d8
commit f55eba02e15f4dce951d3aef8e1e83c2c9fed762
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Dec 22 23:54:54 2009 +0000
Add coalescer asserts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91945 91177308-0d34-0410-b5e6-96231b3b80d8
commit c6986e5d47b2c955e77994fb40bcd2f6c2f2038e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Dec 22 23:54:44 2009 +0000
Add a SPR register class to the ARM target.
Certain Thumb instructions require only SP (e.g. tSTRspi).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91944 91177308-0d34-0410-b5e6-96231b3b80d8
commit daad0b43625ca69376938361b466ef42fbdd9776
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Dec 22 23:47:23 2009 +0000
Partially revert r91626. Materializing extra functions to determine whether
they're available_externally broke VMKit, which was relying on the fact that
functions would only be materialized when they were first called. We'll have
to wait for http://llvm.org/PR5737 to really fix this.
I also added a test for one of the F->isDeclaration() calls which wasn't
covered by anything else in the test suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91943 91177308-0d34-0410-b5e6-96231b3b80d8
commit c969f4b0e7b5df3a854b3d41285a26dc34c4b855
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 23:44:56 2009 +0000
Assign ordering to nodes created in ExpandNode. Only roughly 1/2 of the function
is finished.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91942 91177308-0d34-0410-b5e6-96231b3b80d8
commit 14a5e3e29709da3c3297a739a06127f367628bef
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Dec 22 23:18:18 2009 +0000
Fix a crash in JIT::recompileAndRelinkFunction(). It doesn't pass the MCI
argument to runJITOnFunction(), which caused a null pointer dereference at
every call.
Patch by Gianluca Guida!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91939 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0ee0a9f4d4ac6941cb03bb0e9bd88520221a0b45
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 22:53:39 2009 +0000
Assign ordering to SDNodes in PromoteNode. Also fixing a subtle bug where BSWAP
was using "Tmp1" in the first getNode call instead of Node->getOperand(0).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91936 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7043d80affa413b00d8ec2e205e26772e29c2429
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Dec 22 22:51:40 2009 +0000
Removed the "inline" keyword from the disassembler decoder,
because the Visual C++ build does not build .c files as C99
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91935 91177308-0d34-0410-b5e6-96231b3b80d8
commit 34879e45cd8129131ce21558aa92cc2f8876574d
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 22:50:29 2009 +0000
rename HexDisassembler -> Disassembler, it works on any input
integer encoding (0123, 0b10101, 42, etc).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91934 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6913818399687ea52e6cce639dcf4e17fbd232c6
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 22:47:43 2009 +0000
just discard the debug output from the disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91933 91177308-0d34-0410-b5e6-96231b3b80d8
commit 70abd22a14353cb48d63cc24c311343ce2bb5a7a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Tue Dec 22 22:37:23 2009 +0000
Add testcase for PR5703
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91931 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc48d238c088e790bf368544b45ba3f43b632877
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Dec 22 21:52:27 2009 +0000
Remove minimal CFG sanity checks from verifier.
These checks would often trigger on unreachable statements inserted by
bugpoint, leading it astray.
It would be nice if we could distinguish unreachable blocks from errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91923 91177308-0d34-0410-b5e6-96231b3b80d8
commit f040bcb2c5d8edb446938db365ad2cc031822a9b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Dec 22 21:48:20 2009 +0000
Allow explicit %reg0 operands beyond what the .td file describes.
ARM uses these to indicate predicates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91922 91177308-0d34-0410-b5e6-96231b3b80d8
commit 798c23dcf69e484ae19906869e940bc6b7872117
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 21:35:02 2009 +0000
Allow 0 as an order number. Don't assign an order to formal arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91920 91177308-0d34-0410-b5e6-96231b3b80d8
commit b53da77b6aaf950b6a59166ddaa5541326c4e43b
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Dec 22 21:12:55 2009 +0000
Fixes to the X86 disassembler:
Made LEA memory operands emit only 4 MCInst operands.
Made the scale operand equal 1 for instructions that have no
SIB byte.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91919 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1e2dadd738efd7725ad8de7e064c2d67384f7ed4
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Tue Dec 22 20:11:00 2009 +0000
Restore snprintf weirdness for VCPP only
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91918 91177308-0d34-0410-b5e6-96231b3b80d8
commit 42806e669ce6482a6268d64ab4d0b53c07ccea70
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 19:33:28 2009 +0000
Fix the Convert to scalar to not insert dead loads in the store case. The
load is needed when we have a small store into a large alloca (at which
point we get a load/insert/store sequence), but when you do a full-sized
store, this load ends up being dead.
This dead load is bad in really large nasty testcases where the load ends
up causing mem2reg to insert large chains of dependent phi nodes which only
ADCE can delete. Instead of doing this, just don't insert the dead load.
This fixes rdar://6864035
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91917 91177308-0d34-0410-b5e6-96231b3b80d8
commit b0798ce7b64a048bb502c7cf954cd89484940e46
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 19:23:33 2009 +0000
fix some fixme's by using twines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91916 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd628a53c45c84a9b6058a26fb58ac8063d7f937
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Dec 22 18:49:55 2009 +0000
Use proper move instructions. Make the verifier happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91914 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8e4381a943076f3c22a07729e3e2fc528d13a369
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Dec 22 18:34:19 2009 +0000
Report an error for bad inline assembly, where the value passed for an
"indirect" operand is not a pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91913 91177308-0d34-0410-b5e6-96231b3b80d8
commit f8420485b61d066ed0a876a35cf3098769e1905c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 22 17:47:23 2009 +0000
Remove target attribute break-sse-dep. Instead, do not fold load into sse partial update instructions unless optimizing for size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91910 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1c794cc4f30e9b35a9d2aec6f5b6e05dce42a2b7
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Tue Dec 22 17:25:11 2009 +0000
Include based on the current path, since we already -I the X86 target's path. Fixes CMake build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91908 91177308-0d34-0410-b5e6-96231b3b80d8
commit c3828a78a14f37cdf98db1a905ea51fdbd03a5b4
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Tue Dec 22 14:25:37 2009 +0000
While converting one of the operands to a memory operand, we need to check if it is Legal and does not result into a cyclic dep.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91904 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7dafc1537eed6c94009aca694090c5a7d280d1ea
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 07:03:21 2009 +0000
specify what is invalid about it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91901 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b67a19c78e9d7936eedd0d607dd56a849a5ae88
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 07:01:12 2009 +0000
specify a triple to use, fixing the test on non-x86-64 hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91900 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e0dc43e679050600081a316ea18a09d292d47e8
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 06:58:29 2009 +0000
reject invalid input with a caret, e.g.:
simple-tests.txt:16:1: error: invalid instruction
0xff 0xff
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91898 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf24dfc6ea2873cce92ad5c10e8ec8c26e4b40f1
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Dec 22 06:57:14 2009 +0000
Generalize SROA to allow the first index of a GEP to be non-zero. Add a
missing check that an array reference doesn't go past the end of the array,
and remove some redundant checks for in-bound array and vector references
that are no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91897 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a30eb39c8801739c9a3cc139ea00a16d38140f9
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 06:56:51 2009 +0000
various cleanups, make the disassemble reject lines with too much
data on them, for example:
addb %al, (%rax)
simple-tests.txt:11:5: error: excess data detected in input
0 0 0 0 0
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91896 91177308-0d34-0410-b5e6-96231b3b80d8
commit e409a0ed6b8c66f9f4f0f3cef584af8d6dd013a0
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 06:45:48 2009 +0000
If you thought that it didn't make sense for the disassembler
to not produce caret diagnostics, you were right!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91895 91177308-0d34-0410-b5e6-96231b3b80d8
commit d57f7cd43e80255b87f213e58611407add7b335d
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 06:37:58 2009 +0000
rewrite the file parser for the disassembler, implementing support for
comments. Also, check in a simple testcase for the disassembler,
including a test for r91864
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91894 91177308-0d34-0410-b5e6-96231b3b80d8
commit 713e9712579faccc6f8760586bf6cbb777c5e2ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 06:24:00 2009 +0000
don't crash on blank lines, rename some variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91892 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d4f9105490cb5cad700f117ffa1b84c9a3e6b0a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 06:07:30 2009 +0000
Implement PR5795 by merging duplicated return blocks. This could go further
by merging all returns in a function into a single one, but simplifycfg
currently likes to duplicate the return (an unfortunate choice!)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91890 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7d85a53fad48d627c6e4a17771ebcd46cfc4db6e
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 06:04:26 2009 +0000
convert to filecheck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91889 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c85d89d85046de478b62c7448927db2e4b87121
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 04:47:41 2009 +0000
don't run GVN at -O1, GCC doesn't do it's equivalent at that optimization level.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91886 91177308-0d34-0410-b5e6-96231b3b80d8
commit 873e26746bd3c642fbc9947a6dcf500c0995f3cb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 04:25:02 2009 +0000
The phi translated pointer can be computed when returning a partially cached result
instead of stored. This reduces memdep memory usage, and also eliminates a bunch of
weakvh's. This speeds up gvn on gcc.c-torture/20001226-1.c from 23.9s to 8.45s (2.8x)
on a different machine than earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91885 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf9d0f9154274adb84a66c0581dd9529f0b83ea1
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 02:10:19 2009 +0000
Add more plumbing. This time in the LowerArguments and "get" functions which
return partial registers. This affected the back-end lowering code some.
Also patch up some places I missed before in the "get" functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91880 91177308-0d34-0410-b5e6-96231b3b80d8
commit 919f267795692f9df06fef0ee620411534c819aa
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Dec 22 02:07:42 2009 +0000
Changed REG_* to MODRM_REG_* to avoid conflicts
with symbols in AuroraUX's global namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91879 91177308-0d34-0410-b5e6-96231b3b80d8
commit 42c4404dd4b7162b06f56fd82dc779b0b3d13837
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Dec 22 01:41:37 2009 +0000
Fix some may-be-uninitialized var warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91878 91177308-0d34-0410-b5e6-96231b3b80d8
commit 16ded292991e3e288f1d9deb3e33a5268f1cd6fb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 01:38:23 2009 +0000
fix unit test that I broke.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91877 91177308-0d34-0410-b5e6-96231b3b80d8
commit b22e7af680a571467d80a6b5fd5661525010ded5
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 01:25:10 2009 +0000
Add SDNode ordering to inlined asm and VA functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91876 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7581e0c8ad813a3f6c6c0d357b7ced37ed3dfb67
Author: Eric Christopher <echristo@apple.com>
Date: Tue Dec 22 01:23:51 2009 +0000
Whitespace fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91875 91177308-0d34-0410-b5e6-96231b3b80d8
commit f1bed4b1cef55bb83753e34e0929c4b10bcc0074
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 01:17:43 2009 +0000
types don't need atomic inc/dec, they are local to an llvmcontext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91873 91177308-0d34-0410-b5e6-96231b3b80d8
commit 05a245f41d40f8be120b7d131a7ce16c17dc47d3
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 01:11:43 2009 +0000
Adding more assignment of ordering to SDNodes. This time in the "call" and
generic copy functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91872 91177308-0d34-0410-b5e6-96231b3b80d8
commit a116e5e520689a75baf513fa8d2cba65e0be743a
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Dec 22 01:11:26 2009 +0000
Fixed library dependencies between the X86 disassembler and
X86 codegen that were causing circular symbol dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91871 91177308-0d34-0410-b5e6-96231b3b80d8
commit fc86f8cc6c57cb3329675f4fc8ec868fed7a1fe1
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 01:00:32 2009 +0000
avoid calling extractMallocCall when it's obvious we don't have
a call. This speeds up memdep ~1.5%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91869 91177308-0d34-0410-b5e6-96231b3b80d8
commit d42a013740b839251387f41e40bad6a80552dae8
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 00:51:57 2009 +0000
comment fix: weakvh -> tracking vh
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91867 91177308-0d34-0410-b5e6-96231b3b80d8
commit 16c7988cb5516a7686c51c2387eb3eef3858893c
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 00:50:32 2009 +0000
Add ordering of SDNodes to LowerCallTo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91866 91177308-0d34-0410-b5e6-96231b3b80d8
commit 437f3c269851340bf66d9f5b64f04df846781e13
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 22 00:44:05 2009 +0000
print pcrel immediates as signed values instead of unsigned so that we
get things like this out of the disassembler:
0x100000ecb: callq -96
instead of:
0x100000ecb: callq 4294967200
rdar://7491123
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91864 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3b72641d65a254c01921e4f767003279383daba4
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 00:40:51 2009 +0000
Now add ordering to SDNodes created by the massive intrinsic lowering function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91863 91177308-0d34-0410-b5e6-96231b3b80d8
commit f406ec5e612f8958fb8ea7c6b5b129753b0b8064
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 22 00:12:37 2009 +0000
To make things interesting, I added MORE code to set the ordering of
SDNodes. This time in the load/store and limited-precision code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91860 91177308-0d34-0410-b5e6-96231b3b80d8
commit 87476f66ef1998ff5d93a2cb413ba10a1413d21b
Author: Lang Hames <lhames@gmail.com>
Date: Tue Dec 22 00:11:50 2009 +0000
Changed slot index ranges for MachineBasicBlocks to be exclusive of endpoint.
This fixes an in-place update bug where code inserted at the end of basic blocks may not be covered by existing intervals which were live across the entire block. It is also consistent with the way ranges are specified for live intervals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91859 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1c01aa9daf0ba64f48ab7c3ffe81a7c51b2006fa
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 21 23:47:40 2009 +0000
Add more plumbing to assign ordering to SDNodes. Have the "getValue" method
assign the ordering when called. Combine some of the ordering assignments to
keep things simple.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91857 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4137a8aa60914101aa1ad7f1a7dfe12c0b35607c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Dec 21 23:27:57 2009 +0000
Add suggested parentheses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91853 91177308-0d34-0410-b5e6-96231b3b80d8
commit 79479fcf0a878ea487fd745920c106d5c860a723
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 23:15:48 2009 +0000
Add a fastpath to Load GVN to special case when we have exactly one dominating
load to avoid even messing around with SSAUpdate at all. In this case (which
is very common, we can just use the input value directly).
This speeds up GVN time on gcc.c-torture/20001226-1.c from 36.4s to 16.3s,
which still isn't great, but substantially better and this is a simple speedup
that applies to lots of different cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91851 91177308-0d34-0410-b5e6-96231b3b80d8
commit b8d65d5bf97d41881148b3ce93f634a9ac3903ab
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 21 23:10:19 2009 +0000
More ordering plumbing. This time for GEP. I need to remember to assign
orderings to values returned by getValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91850 91177308-0d34-0410-b5e6-96231b3b80d8
commit fe213dba0d5785b3dfa97a22f0d20aaf9982e3f3
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 23:04:33 2009 +0000
refactor some code out to a new helper method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91849 91177308-0d34-0410-b5e6-96231b3b80d8
commit b702ceab37bdb90e32041f6ae1b5085a82abd4c8
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 22:43:03 2009 +0000
improve indentation avoid a pointless conversion from weakvh to trackingvh,
no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91848 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2a33d37c9f1e5ef0c7f5bcdb1c488540d42f3f67
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 21 22:42:14 2009 +0000
Another incremental check-in for assigning ordering to SDNodes. This time for
shuffle and insert vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91847 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef4620fe2846df5790119fd45e62e28f6f490b3e
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 21 22:30:11 2009 +0000
Assign ordering to more instructions. Incremental check-in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91846 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4852546f88da1386e3f36ad7c0e270f0798a3dea
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 21 21:59:52 2009 +0000
- Add a bit more plumbing assigning an order to SDNodes.
- Modify the "dump" method to emit the order of an SDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91845 91177308-0d34-0410-b5e6-96231b3b80d8
commit 29296e63554a23d2e8a7ccc7c1b776dd52346e1c
Author: David Greene <greened@obbligato.org>
Date: Mon Dec 21 21:21:34 2009 +0000
Fix a bug in !subst where TableGen would go and resubstitute text it had
just substituted. This could cause infinite looping in certain
pathological cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91843 91177308-0d34-0410-b5e6-96231b3b80d8
commit df70e60850a5c0b905cd23e84e44e677dc6c03e7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Dec 21 20:19:37 2009 +0000
Remove uber-gross hack. The define _snprintf to snprintf is invalid due to two reasons: 1. Accroding to C++ standard snprintf should be available in std namespace (and __gnu_cxx in case of GCC to). Such ifdef will change all snprintf's to _snprintf's, but won't bring snprintf to all necessary namespaces. Thus e.g. any locale-using code on mingw will yield an error (include this file + string to see the result) 2. MSVCRT's _snprintf does not comply with C99 standard. Standard one is snprintf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91842 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38150fc924f6aa5ba056d738d8ecd75cbc4f8778
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Dec 21 20:18:49 2009 +0000
Mark FPW as allocable when frame address is taken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91841 91177308-0d34-0410-b5e6-96231b3b80d8
commit 708808ae99856d00af548177ea42e18d4ad32dc8
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 21 19:59:38 2009 +0000
First wave of plumbing for assigning an ordering to SDNodes. This takes care of
a lot of the branching instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91838 91177308-0d34-0410-b5e6-96231b3b80d8
commit e35f67f9527538257e684574bdf21392be2c92bf
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Dec 21 19:53:39 2009 +0000
Delete the instruction just before the function terminates for consistency sake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91836 91177308-0d34-0410-b5e6-96231b3b80d8
commit d58e7f8655f246d9bbda9ba4933e1906a5690dc8
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 21 19:34:59 2009 +0000
Place SDNodeOrdering.h in the directory it's used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91834 91177308-0d34-0410-b5e6-96231b3b80d8
commit 962018b8231c524caba670c9dd19427eafd6f1fd
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Dec 21 18:39:47 2009 +0000
Remove special-case SROA optimization of variable indexes to one-element and
two-element arrays. After restructuring the SROA code, it was not safe to
do this without adding more checking. It is not clear that this special-case
has really been useful, and removing this simplifies the code quite a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91828 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7f5262f3ef1729d48a3e03f90192c053d27fa1e9
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Dec 21 17:31:59 2009 +0000
XFAIL these tests on powerpc, under the assumption that no one cares. If you care, feel free to fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91826 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c6ab9595c06e46bd1670ce7a0a52852d9ff669f
Author: Eric Christopher <echristo@apple.com>
Date: Mon Dec 21 08:15:29 2009 +0000
Fix setting and default setting of code model for jit. Do this
by allowing backends to override routines that will default
the JIT and Static code generation to an appropriate code model
for the architecture.
Should fix PR 5773.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91824 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76f683191bd6137f9177dca4686ead7d6944981b
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Mon Dec 21 08:03:16 2009 +0000
A couple minor README updates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91823 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7abdd670070ff4c05b8e79c8d393b252e9cbf4d6
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 07:52:40 2009 +0000
improve compatibility with SWIG, patch by James Knight!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91822 91177308-0d34-0410-b5e6-96231b3b80d8
commit 860471ea8a2cf7e68285dd1351c51152518bd8e1
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 07:45:57 2009 +0000
revert r89298, which was committed without a testcase. I think
the underlying PHI node insertion issue in SSAUpdate is fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91821 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2bf5b030a6357c2fb9ee937c0a7b907f9d995052
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 07:16:11 2009 +0000
fix PR5837 by having SSAUpdate reuse phi nodes for the
'GetValueInMiddleOfBlock' case, instead of inserting
duplicates.
A similar fix is almost certainly needed by the machine-level
SSAUpdate implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91820 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8785545bcf2d1e861969bdf0cdc3c506abf7163
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 07:15:15 2009 +0000
add a helper ctor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91819 91177308-0d34-0410-b5e6-96231b3b80d8
commit ccdbd097759b1f3feaa10a39b7cc23341da58dbd
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Mon Dec 21 06:49:24 2009 +0000
Change StringRef::startswith and StringRef::endswith to versions which are a
bit more verbose, but optimize to much shorter code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91817 91177308-0d34-0410-b5e6-96231b3b80d8
commit f171d4bff6fe4500beb60a3525e2c1e3b76d46b7
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 06:08:50 2009 +0000
add check lines for min/max tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91816 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c88fd376d17c371454f88795bc0a6bb4b2e30e3
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 06:06:10 2009 +0000
really convert this to filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91815 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ae148ac3895cc2204d32b84361bbebbb42384fb
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 06:03:05 2009 +0000
give instcombine some helper functions for matching MIN and MAX, and
implement some optimizations for MIN(MIN()) and MAX(MAX()) and
MIN(MAX()) etc. This substantially improves the code in PR5822 but
doesn't kick in much elsewhere. 2 max's were optimized in
pairlocalalign and one in smg2000.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91814 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3ee8750e43a6c4fd3baf29b50ff2f5144161f7eb
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 05:53:13 2009 +0000
filecheckize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91813 91177308-0d34-0410-b5e6-96231b3b80d8
commit eecd79c9182748a08fa05cb57b410f45a894432a
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 04:04:05 2009 +0000
enhance x-(-A) -> x+A to preserve NUW/NSW.
Use the presence of NSW/NUW to fold "icmp (x+cst), x" to a constant in
cases where it would otherwise be undefined behavior.
Surprisingly (to me at least), this triggers hundreds of the times in
a few benchmarks: lencode, ldecode, and 466.h264ref seem to *really*
like this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91812 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2dce671f9422bce436c74ad48a2b964d08bf2af9
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 03:19:28 2009 +0000
Optimize all cases of "icmp (X+Cst), X" to something simpler. This triggers
a bunch in lencode, ldecod, spass, 176.gcc, 252.eon, among others. It is
also the first part of PR5822
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91811 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd6df61746f769d9195f057199a9d16a215c2396
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 21 03:11:05 2009 +0000
convert to filecheck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91810 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2e4b507f989730839d48a1ea77845b3a4d8b3aa9
Author: Lang Hames <lhames@gmail.com>
Date: Sat Dec 19 23:32:32 2009 +0000
Fixed use of phi param in SlotIndex constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91790 91177308-0d34-0410-b5e6-96231b3b80d8
commit d452037790a4653227a51c854409e3a151d9ca3d
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Dec 19 21:29:22 2009 +0000
fix an overly conservative caching issue that caused memdep to
cache a pointer as being unavailable due to phi trans in the
wrong place. This would cause later queries to fail even when
they didn't involve phi trans.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91787 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6fade252c5089e35a484d16b67dc3193d4744590
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 19 21:27:30 2009 +0000
CMake: Update lib deps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91786 91177308-0d34-0410-b5e6-96231b3b80d8
commit cae7a4ce386dd7b01264acd17fce0453ce671e66
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Dec 19 20:56:53 2009 +0000
.llx is no more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91784 91177308-0d34-0410-b5e6-96231b3b80d8
commit d19bb92ed1e9b879ed5ad87ab0021bed0b21d1b9
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Dec 19 20:44:43 2009 +0000
fix inconsistent use of tabs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91783 91177308-0d34-0410-b5e6-96231b3b80d8
commit 70c75b50f227c44043294c642734da957925df59
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 19 18:58:49 2009 +0000
Remove unused variable (noticed by clang++).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91780 91177308-0d34-0410-b5e6-96231b3b80d8
commit 05e9f7410481592f66c6169923d903f9c592d3c4
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 19 17:11:53 2009 +0000
#if 0 out X86 disassembler for now, it is breaking the build in multiple places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91778 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5bdef5b8ec8fd24804c3017e27417788d03c3e3b
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Sat Dec 19 13:52:01 2009 +0000
Emit direction operand in binary insns that stores in memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91777 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4b40abc73cf4280ee01a3c40ecaab7834aa76796
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Sat Dec 19 13:13:29 2009 +0000
Adding a bunch of options to the mcc16 driver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91776 91177308-0d34-0410-b5e6-96231b3b80d8
commit 333f2f2612d193b17a373c2643bf6033719e6998
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date: Sat Dec 19 12:07:00 2009 +0000
rename dprintf to dbgpritnf, in order to fix build with glibc (which already defines dprintf in stdio.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91775 91177308-0d34-0410-b5e6-96231b3b80d8
commit c6adb84d954dd57766b7f3dd1454dfe3e05f83b7
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date: Sat Dec 19 11:52:18 2009 +0000
fix build and while at it remove a redudant include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91774 91177308-0d34-0410-b5e6-96231b3b80d8
commit d31fb873f66238f8ccd0edd157b1451e83ad796e
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Sat Dec 19 11:38:14 2009 +0000
Test cases for changes done in 91768.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91773 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6758957e00103d5df70147ac3552efcf4a28c3b5
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Sat Dec 19 08:26:25 2009 +0000
1. In indirect load/store insns , the name of fsr should be emitted as INDF.
2. include standard asmbly headers in generated asmbly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91768 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9731ea6739a2acc4c0b437f168dc6769f3808a98
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Sat Dec 19 07:05:23 2009 +0000
Fix a bunch of little errors that Clang complains about when its being pedantic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91764 91177308-0d34-0410-b5e6-96231b3b80d8
commit 42becae4234059212beb68cfdd09ddf0e9ff7377
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Dec 19 07:01:15 2009 +0000
fix PR5827 by disabling the phi slicing transformation in a case
where instcombine would have to split a critical edge due to a
phi node of an invoke. Since instcombine can't change the CFG,
it has to bail out from doing the transformation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91763 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b827d0d4b3e378a70b894d130235274c56d4697
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Dec 19 06:53:17 2009 +0000
Update my SROA changes in response to review.
* change FindElementAndOffset to return a uint64_t instead of unsigned, and
to identify the type to be used for that result in a GEP instruction.
* move "isa<ConstantInt>" to be first in conditional.
* replace some dyn_casts with casts.
* add a comment about handling mem intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91762 91177308-0d34-0410-b5e6-96231b3b80d8
commit e38b949bc7db6805bb2a77ca4d6068037cd8c2d5
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 19 04:16:57 2009 +0000
More bzero -> memset that I missed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91757 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6861faed9cba02c3a49b856a4e728dce8c1b651d
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 19 04:16:48 2009 +0000
Add missing newlines at EOF (for clang++).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91756 91177308-0d34-0410-b5e6-96231b3b80d8
commit 299fdcebe71c89b3fc73923b44c4f0a9169e340d
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 19 03:31:50 2009 +0000
Use memset instead of bzero, its more portable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91754 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7566a55acf4fe9a69ad17887fea806d846ba7e98
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Sat Dec 19 03:21:36 2009 +0000
Remove spurious semicolon. Thanks, Clang
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91752 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1a4f32c3c2eba982b658ac52f37f1d667960acea
Author: Sean Callanan <scallanan@apple.com>
Date: Sat Dec 19 02:59:52 2009 +0000
Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit
incarnations), integrated into the MC framework.
The disassembler is table-driven, using a custom TableGen backend to
generate hierarchical tables optimized for fast decode. The disassembler
consumes MemoryObjects and produces arrays of MCInsts, adhering to the
abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).
The disassembler is documented in detail in
- lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime)
- utils/TableGen/DisassemblerEmitter.cpp (table emitter)
You can test the disassembler by running llvm-mc -disassemble for i386
or x86_64 targets. Please let me know if you encounter any problems
with it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91749 91177308-0d34-0410-b5e6-96231b3b80d8
commit 232149a85f22b513b690ce6386cc8922b66b659b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sat Dec 19 02:04:23 2009 +0000
Bump alignment requirements for windows targets to achieve compartibility with vcpp.
Based on patch by Michael Beck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91745 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6a0bb8172b4327b725fd609028c9f8ceb8086d8d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sat Dec 19 02:04:00 2009 +0000
Use 4-arg getVTList) variant instead of generic one, when possible
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91744 91177308-0d34-0410-b5e6-96231b3b80d8
commit a3e53b706108ada456d24d6f2090b6a96b153569
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 19 01:47:13 2009 +0000
Delete unused code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91743 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6a1afd606983941b9db6a41029c238b2df0b520a
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 19 01:46:34 2009 +0000
Fix a spello in a comment that Nick spotted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91742 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9cae1100652da2ac306c7b9d11446d8e4639b6d7
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 19 01:46:09 2009 +0000
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91741 91177308-0d34-0410-b5e6-96231b3b80d8
commit 09e76650fe1e6c21a06f0ef7f43b15c1f433e546
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Dec 19 01:38:42 2009 +0000
Make some methods const. The only interesting change here is that
it changes raw_fd_ostream::preferred_buffer_size to return zero on
a scary stat failure instead of setting the stream to an error state.
This method really should not mutate the stream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91740 91177308-0d34-0410-b5e6-96231b3b80d8
commit 28039a48aebce267d2472eb5e143f19c68354ac9
Author: John McCall <rjmccall@apple.com>
Date: Sat Dec 19 00:55:12 2009 +0000
Qualify a bunch of explicit template instantiations to satisfy clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91736 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb0624b1443a68698a41e40e479b6910e6a18a57
Author: John McCall <rjmccall@apple.com>
Date: Sat Dec 19 00:51:42 2009 +0000
Put TypesEqual and TypeHasCycleThroughItself in namespace llvm so ADL from
the templates in TypesContext.h can find them. Caught by clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91735 91177308-0d34-0410-b5e6-96231b3b80d8
commit f3b3032dc132f8386dde8aa6ecbc6c8d92d35876
Author: Bill Wendling <isanbard@gmail.com>
Date: Sat Dec 19 00:05:07 2009 +0000
Forgot forward declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91732 91177308-0d34-0410-b5e6-96231b3b80d8
commit f169e657ed99eca80912bd00c06489556091a826
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 23:42:08 2009 +0000
Eliminate unnecessary LLVMContexts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91729 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3a8afc0ed526b8b49af2c089ba600193f8b708c4
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 18 23:32:53 2009 +0000
Changes from review:
- Move DisableScheduling flag into TargetOption.h
- Move SDNodeOrdering into its own header file. Give it a minimal interface that
doesn't conflate construction with storage.
- Move assigning the ordering into the SelectionDAGBuilder.
This isn't used yet, so there should be no functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91727 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2a0bb8e3f58a6f09316801bcaf043d34b048605c
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 23:18:03 2009 +0000
Make this comment more precise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91722 91177308-0d34-0410-b5e6-96231b3b80d8
commit 52cda8c8d86f40c6e2cab28f54367bf7c64ba804
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Fri Dec 18 21:38:44 2009 +0000
Fix an issue in googletest where a name was used before it was defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91718 91177308-0d34-0410-b5e6-96231b3b80d8
commit d26b552b438a1b4ba2d60bbf715f0286aa22d780
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 18 21:31:31 2009 +0000
Increase opportunities to optimize (brcond (srl (and c1), c2)).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91717 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6a4a08546569962a0a1929d1eda9fd46bffbde75
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Fri Dec 18 21:07:18 2009 +0000
Fix gcc warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91715 91177308-0d34-0410-b5e6-96231b3b80d8
commit d59ead6cba177414008b14ccbab2d86cd1e8cf3f
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Fri Dec 18 20:35:38 2009 +0000
Catch more cases of a pointer being marked garbage twice. This helps when
debugging some leaks (PR5770 in particular).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91713 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a3d620799aa212d3ef04231e0bace426cb4eb29
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Dec 18 20:14:40 2009 +0000
Reapply 91459 with a simple fix for the problem that broke the x86_64-darwin
bootstrap. This also replaces the WeakVH references that Chris objected to
with normal Value references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91711 91177308-0d34-0410-b5e6-96231b3b80d8
commit a6e122fd8ed8e60cc79a1fbaef1658fe5aca160a
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Dec 18 20:12:14 2009 +0000
Fix another parallel make race condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91709 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3e7564c22ba1e674327fc5c92540bb67bedaf292
Author: Victor Hernandez <vhernandez@apple.com>
Date: Fri Dec 18 20:09:14 2009 +0000
Formalize MDNode's function-localness:
- an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR
- function-localness is designated via lowest bit in SubclassData
- getLocalFunction() descends MDNode tree to see if it is consistently function-local
Add verification of MDNodes to checks that MDNodes are consistently function-local.
Update AsmWriter to use isFunctionLocal().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91708 91177308-0d34-0410-b5e6-96231b3b80d8
commit 80441befe44d1fc2d8c7c26536b4b0e582ccbcfd
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Dec 18 19:59:48 2009 +0000
Fix Win32 Path.inc for API update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91706 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb4a07928cea4c2e4b9406665669c7062018280e
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 18:45:31 2009 +0000
Revert this use of NUW/NSW also. Overflow-undefined multiplication isn't
associative either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91701 91177308-0d34-0410-b5e6-96231b3b80d8
commit bd9dd2b40d94c3846795ed176ea5d3b641006625
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Fri Dec 18 16:59:39 2009 +0000
Fix libstdc++ build on ARM linux and part of PR5770.
MI was not being used but it was also not being deleted, so it was kept in the garbage list. The memory itself was freed once the function code gen was done.
Once in a while the codegen of another function would create an instruction on the same address. Adding it to the garbage group would work once, but when another pointer was added it would cause an assert as "Cache" was about to be pushed to Ts.
For a patch that make us detect problems like this earlier, take a look at
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091214/092758.html
With that patch we assert as soon and the new instruction is added to the garbage set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91691 91177308-0d34-0410-b5e6-96231b3b80d8
commit ffb71a4733c04874b5d47320507eea7e6a083791
Author: Tilmann Scheller <tilmann.scheller@googlemail.com>
Date: Fri Dec 18 13:00:34 2009 +0000
Fix wrong frame pointer save offset in the 64-bit PowerPC SVR4 ABI.
Patch contributed by Ken Werner of IBM!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91681 91177308-0d34-0410-b5e6-96231b3b80d8
commit b2615b51f6c845fc7376f9bf3c773f5d1028e294
Author: Tilmann Scheller <tilmann.scheller@googlemail.com>
Date: Fri Dec 18 13:00:15 2009 +0000
Add support for calls through function pointers in the 64-bit PowerPC SVR4 ABI.
Patch contributed by Ken Werner of IBM!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91680 91177308-0d34-0410-b5e6-96231b3b80d8
commit e931a13acc5d5dd31e3ec33ccc4b7438e8a5afca
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Fri Dec 18 11:27:26 2009 +0000
Make 'set_option' work with list options.
This works now: (set_option "list_opt", ["val_1", "val_2", "val_3"])
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91679 91177308-0d34-0410-b5e6-96231b3b80d8
commit 21e40b731446c720069c0929bdfa590c946232a5
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Fri Dec 18 08:22:35 2009 +0000
Optimize icmp of null and select of two constants even if the select has
multiple uses. (The construct in question was found in gcc.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91675 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31d9e33e0d4b4b815ec6002aaab2f280d450c21a
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 18 07:40:29 2009 +0000
On recent Intel u-arch's, folding loads into some unary SSE instructions can
be non-optimal. To be precise, we should avoid folding loads if the instructions
only update part of the destination register, and the non-updated part is not
needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these instructions breaks
the partial register dependency and it can improve performance. e.g.
movss (%rdi), %xmm0
cvtss2sd %xmm0, %xmm0
instead of
cvtss2sd (%rdi), %xmm0
An alternative method to break dependency is to clear the register first. e.g.
xorps %xmm0, %xmm0
cvtss2sd (%rdi), %xmm0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91672 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8a33c1c3ea5a45185dbfd0046b79c14f9821b4a
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 03:57:04 2009 +0000
Revert this use of NSW; this one isn't actually safe. NSW addition
is not reassociative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91667 91177308-0d34-0410-b5e6-96231b3b80d8
commit c7d9c3baf89ad6e2a3162daf524f1d4d4c9e9090
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 03:25:51 2009 +0000
Eliminte unnecessary uses of <cstdio>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91666 91177308-0d34-0410-b5e6-96231b3b80d8
commit 532e3f52901265414842dbe21e106f9b32c5b182
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 03:10:26 2009 +0000
Add utility routines for NSW multiply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91664 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbe0132963a2021bcabd9fe92cd0b1c257614ab8
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 02:58:50 2009 +0000
Add utility routines for creating integer negation operators with NSW set.
Integer negation only overflows with INT_MIN, but that's an important case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91662 91177308-0d34-0410-b5e6-96231b3b80d8
commit 18256c45ce2016abbde91d2c738609dea2225561
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 02:14:37 2009 +0000
Delete an unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91659 91177308-0d34-0410-b5e6-96231b3b80d8
commit eadde674855dc5d1e1bee25aa2c621d982b6d8d6
Author: Eric Christopher <echristo@apple.com>
Date: Fri Dec 18 02:12:53 2009 +0000
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91657 91177308-0d34-0410-b5e6-96231b3b80d8
commit 620156de509db9f3d1a1130c33c680e92b722b3a
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 02:09:29 2009 +0000
Preserve NSW information in more places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91656 91177308-0d34-0410-b5e6-96231b3b80d8
commit b3099793f471d4ca8845cb922da8a7052bd2d619
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 18 01:59:21 2009 +0000
Re-apply 91623 now that I actually know what I was trying to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91655 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf4c33d434849ca17d8624a77c56b94085d84954
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 01:24:09 2009 +0000
Add Loop contains utility methods for testing whether a loop
contains another loop, or an instruction. The loop form is
substantially more efficient on large loops than the typical
code it replaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91654 91177308-0d34-0410-b5e6-96231b3b80d8
commit 36dcb6d0219b2c549638bddb9b8c6d46d9877406
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 01:20:44 2009 +0000
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91653 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb8c8533ea5b7e620324138fb647b1b968ff5cae
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 01:14:11 2009 +0000
Whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91651 91177308-0d34-0410-b5e6-96231b3b80d8
commit fa5054b14df7bdc8da0f9e20c771d7d3b599c8d9
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 01:05:06 2009 +0000
Tidy up this testcase and add test for tailcall optimization
with unreachable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91650 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc841d457d517cc8af00f08be3c7bdf803c1eb98
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Dec 18 01:03:29 2009 +0000
Handle ARM inline asm "w" constraints with 64-bit ("d") registers.
The change in SelectionDAGBuilder is needed to allow using bitcasts to convert
between f64 (the default type for ARM "d" registers) and 64-bit Neon vector
types. Radar 7457110.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91649 91177308-0d34-0410-b5e6-96231b3b80d8
commit 82dff7d94faf98ea406305388528b0d459987172
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 01:02:18 2009 +0000
Remove "tail" keywords. These calls are not intended to be tail calls.
This protects this test from depending on codegen not performing the
tail call optimization by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91648 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33922e093855021c4516c58b25d2a97321d7ec9f
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 00:38:08 2009 +0000
Don't pass const pointers by reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91647 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4d6a53b925c6331b45c191fd1e8dfa4af3ce2fc8
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 00:28:43 2009 +0000
Update a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91645 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9b781ff887e6ce97d55151debf0a6c91f4545344
Author: John McCall <rjmccall@apple.com>
Date: Fri Dec 18 00:27:18 2009 +0000
Pass the error string directly to llvm_unreachable instead of the residual
(0 && "error"). Rough consensus seems to be that g++ *should* be diagnosing
this because the pointer makes it not an ICE in c++03. Everyone agrees that
the current standard is silly and null-pointer-ness should not be based on
ICE-ness. Excellent fight scene in Act II, denouement weak, two stars.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91644 91177308-0d34-0410-b5e6-96231b3b80d8
commit e28a5aeb1044f710d929732875a68072d157fdb4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Dec 18 00:11:44 2009 +0000
Add test case for the phi reuse patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91642 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8eba23b792b47890c4d973ad6df31fdedfd25088
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 00:06:20 2009 +0000
Reapply LoopStrengthReduce and IVUsers cleanups, excluding the part
of 91296 that caused trouble -- the Processed list needs to be
preserved for the livetime of the pass, as AddUsersIfInteresting
is called from other passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91641 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2366772de3db53fc74f19a184140687c2ac7d9bf
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 18 00:03:58 2009 +0000
Add an svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91639 91177308-0d34-0410-b5e6-96231b3b80d8
commit 10bd00cf60fd21ca257127ded9684b48aa22abc1
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Dec 18 00:01:26 2009 +0000
Instruction fixes, added instructions, and AsmString changes in the
X86 instruction tables.
Also (while I was at it) cleaned up the X86 tables, removing tabs and
80-line violations.
This patch was reviewed by Chris Lattner, but please let me know if
there are any problems.
* X86*.td
Removed tabs and fixed 80-line violations
* X86Instr64bit.td
(IRET, POPCNT, BT_, LSL, SWPGS, PUSH_S, POP_S, L_S, SMSW)
Added
(CALL, CMOV) Added qualifiers
(JMP) Added PC-relative jump instruction
(POPFQ/PUSHFQ) Added qualifiers; renamed PUSHFQ to indicate
that it is 64-bit only (ambiguous since it has no
REX prefix)
(MOV) Added rr form going the other way, which is encoded
differently
(MOV) Changed immediates to offsets, which is more correct;
also fixed MOV64o64a to have to a 64-bit offset
(MOV) Fixed qualifiers
(MOV) Added debug-register and condition-register moves
(MOVZX) Added more forms
(ADC, SUB, SBB, AND, OR, XOR) Added reverse forms, which
(as with MOV) are encoded differently
(ROL) Made REX.W required
(BT) Uncommented mr form for disassembly only
(CVT__2__) Added several missing non-intrinsic forms
(LXADD, XCHG) Reordered operands to make more sense for
MRMSrcMem
(XCHG) Added register-to-register forms
(XADD, CMPXCHG, XCHG) Added non-locked forms
* X86InstrSSE.td
(CVTSS2SI, COMISS, CVTTPS2DQ, CVTPS2PD, CVTPD2PS, MOVQ)
Added
* X86InstrFPStack.td
(COM_FST0, COMP_FST0, COM_FI, COM_FIP, FFREE, FNCLEX, FNOP,
FXAM, FLDL2T, FLDL2E, FLDPI, FLDLG2, FLDLN2, F2XM1, FYL2X,
FPTAN, FPATAN, FXTRACT, FPREM1, FDECSTP, FINCSTP, FPREM,
FYL2XP1, FSINCOS, FRNDINT, FSCALE, FCOMPP, FXSAVE,
FXRSTOR)
Added
(FCOM, FCOMP) Added qualifiers
(FSTENV, FSAVE, FSTSW) Fixed opcode names
(FNSTSW) Added implicit register operand
* X86InstrInfo.td
(opaque512mem) Added for FXSAVE/FXRSTOR
(offset8, offset16, offset32, offset64) Added for MOV
(NOOPW, IRET, POPCNT, IN, BTC, BTR, BTS, LSL, INVLPG, STR,
LTR, PUSHFS, PUSHGS, POPFS, POPGS, LDS, LSS, LES, LFS,
LGS, VERR, VERW, SGDT, SIDT, SLDT, LGDT, LIDT, LLDT,
LODSD, OUTSB, OUTSW, OUTSD, HLT, RSM, FNINIT, CLC, STC,
CLI, STI, CLD, STD, CMC, CLTS, XLAT, WRMSR, RDMSR, RDPMC,
SMSW, LMSW, CPUID, INVD, WBINVD, INVEPT, INVVPID, VMCALL,
VMCLEAR, VMLAUNCH, VMRESUME, VMPTRLD, VMPTRST, VMREAD,
VMWRITE, VMXOFF, VMXON) Added
(NOOPL, POPF, POPFD, PUSHF, PUSHFD) Added qualifier
(JO, JNO, JB, JAE, JE, JNE, JBE, JA, JS, JNS, JP, JNP, JL,
JGE, JLE, JG, JCXZ) Added 32-bit forms
(MOV) Changed some immediate forms to offset forms
(MOV) Added reversed reg-reg forms, which are encoded
differently
(MOV) Added debug-register and condition-register moves
(CMOV) Added qualifiers
(AND, OR, XOR, ADC, SUB, SBB) Added reverse forms, like MOV
(BT) Uncommented memory-register forms for disassembler
(MOVSX, MOVZX) Added forms
(XCHG, LXADD) Made operand order make sense for MRMSrcMem
(XCHG) Added register-register forms
(XADD, CMPXCHG) Added unlocked forms
* X86InstrMMX.td
(MMX_MOVD, MMV_MOVQ) Added forms
* X86InstrInfo.cpp: Changed PUSHFQ to PUSHFQ64 to reflect table
change
* X86RegisterInfo.td: Added debug and condition register sets
* x86-64-pic-3.ll: Fixed testcase to reflect call qualifier
* peep-test-3.ll: Fixed testcase to reflect test qualifier
* cmov.ll: Fixed testcase to reflect cmov qualifier
* loop-blocks.ll: Fixed testcase to reflect call qualifier
* x86-64-pic-11.ll: Fixed testcase to reflect call qualifier
* 2009-11-04-SubregCoalescingBug.ll: Fixed testcase to reflect call
qualifier
* x86-64-pic-2.ll: Fixed testcase to reflect call qualifier
* live-out-reg-info.ll: Fixed testcase to reflect test qualifier
* tail-opts.ll: Fixed testcase to reflect call qualifiers
* x86-64-pic-10.ll: Fixed testcase to reflect call qualifier
* bss-pagealigned.ll: Fixed testcase to reflect call qualifier
* x86-64-pic-1.ll: Fixed testcase to reflect call qualifier
* widen_load-1.ll: Fixed testcase to reflect call qualifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91638 91177308-0d34-0410-b5e6-96231b3b80d8
commit 20ec3073cae13b5c8a1661dabdfdb97500e6e26c
Author: John McCall <rjmccall@apple.com>
Date: Thu Dec 17 23:49:16 2009 +0000
Sundry dependent-name fixes flagged by clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91636 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4ca952ac3fa90cc373192bb96a3ddbdfd71f9f21
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Dec 17 23:45:18 2009 +0000
Revert accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91635 91177308-0d34-0410-b5e6-96231b3b80d8
commit af37dac175cdf3ea8698ecc653c0f4d978a352f0
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Dec 17 23:42:32 2009 +0000
Turn off critical edge splitting for landing pads. The introduction of a
non-landing pad basic block as the successor to a block that ends in an
unconditional jump will cause block folding to remove the added block as a
successor. Thus eventually removing it AND the landing pad entirely. Critical
edge splitting is an optimization, so we can safely turn it off when dealing
with landing pads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91634 91177308-0d34-0410-b5e6-96231b3b80d8
commit b246171d0203ce94b4403d68fd8aa7eead2c998a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Dec 17 22:44:34 2009 +0000
Revert r91623 to unbreak the buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91632 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf3381db96461b1fd215fae3feaf559e7aeb3f96
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Thu Dec 17 22:42:29 2009 +0000
Allow instcombine to combine "sext(a) >u const" to "a >u trunc(const)".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91631 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9bc1fde05ecc916e64ad0f39feb6c5d14fb5cfe4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Dec 17 21:35:29 2009 +0000
Don't codegen available_externally functions. Fixes http://llvm.org/PR5735.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91626 91177308-0d34-0410-b5e6-96231b3b80d8
commit 459ca567824a4f39cf8ad280401de1ec15d5bc2b
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Thu Dec 17 21:27:47 2009 +0000
Make the ptrtoint comparison simplification work if one side is a global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91624 91177308-0d34-0410-b5e6-96231b3b80d8
commit fe77cf2b9eda42bd7f805e0f1c853ffae9739c10
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 17 21:23:58 2009 +0000
Remove an unused option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91623 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8f109efcd44af6875cd87dc939bbcf2f6777ea9a
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 17 21:23:46 2009 +0000
tabs -> spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91622 91177308-0d34-0410-b5e6-96231b3b80d8
commit f1ff2c77af0c898a7673f1ff16e8ecda1a443357
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Thu Dec 17 21:07:31 2009 +0000
Slightly generalize transformation of memmove(a,a,n) so that it also applies
to memcpy. (Such a memcpy is technically illegal, but in practice is safe
and is generated by struct self-assignment in C code.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91621 91177308-0d34-0410-b5e6-96231b3b80d8
commit 15408333ed53187bf1c886db1756b38c9aac9c6d
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Dec 17 21:02:39 2009 +0000
Make Path use StringRef instead of std::string where possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91620 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3da0d8c2d10e49cd7df0e2ba33247580dcf57645
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Dec 17 20:41:01 2009 +0000
Temporarily revert 91337. It's causing testcase failures.
$ svn merge -c -91337 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91337 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91618 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1898b53fca4fe2862b5404a3a80a802620060020
Author: Steve Naroff <snaroff@apple.com>
Date: Thu Dec 17 20:39:34 2009 +0000
Fix Windows build breakage...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91617 91177308-0d34-0410-b5e6-96231b3b80d8
commit afb4e48b3b1ab458736885d32d33ff550bb4a503
Author: Ken Dyck <cfe-commits@cs.uiuc.edu>
Date: Thu Dec 17 20:09:43 2009 +0000
Introduce EVT::getHalfSizedIntegerVT() for use in ExpandUnalignedStore() in
LegalizeDAG.cpp. Unlike the code it replaces, which simply decrements the simple
type by one, getHalfSizedIntegerVT() searches for the smallest simple integer
type that is at least half the size of the type it is called on. This approach
has the advantage that it will continue working if a new value type (such as
i24) is added to MVT.
Also, in preparation for new value types, remove the assertions that
non-power-of-2 8-bit-mutiple types are Extended when legalizing extload and
truncstore operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91614 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfb5c54ba03e4b004314dfce5eeec919471a5fb9
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 17 20:00:21 2009 +0000
finish cleaning up StructLayoutMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91612 91177308-0d34-0410-b5e6-96231b3b80d8
commit f3c8e732244684983ee5f9526d71ae636d5823c0
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Dec 17 19:55:06 2009 +0000
This fixes a memory leak in OpaqueType found by Google's internal heapchecker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91611 91177308-0d34-0410-b5e6-96231b3b80d8
commit 878ec1002b2f3232687cd932ef029b403b46feda
Author: Eric Christopher <echristo@apple.com>
Date: Thu Dec 17 19:07:19 2009 +0000
Fix unused variable warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91609 91177308-0d34-0410-b5e6-96231b3b80d8
commit 11f4e3ba76bd0cce3d9e4ad622c294b23b6c0db9
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Dec 17 18:34:24 2009 +0000
Re-revert 91459. It's breaking the x86_64 darwin bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91607 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0bbe84e28cb5f73f1a84c487086144b39b257358
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 17 18:03:12 2009 +0000
Remove debugging code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91604 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5a461bf3a0e2b3e4cffa9fd3130d5fbcfe1ada8e
Author: Jim Grosbach <grosbach@apple.com>
Date: Thu Dec 17 17:18:11 2009 +0000
Add more detail for getting started on Windows.
Patch from jon.forums at gmail.com
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91603 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5f7bbf56080ea6adfaeac4cea32a6934bfeb81ee
Author: Ken Dyck <cfe-commits@cs.uiuc.edu>
Date: Thu Dec 17 15:31:52 2009 +0000
In LowerEXTRACT_VECTOR_ELT, force an i32 value type for PEXTWR instead of
incrementing the simple value type of the 16-bit type, which would give the
wrong type if an intemediate MVT (such as i24) were introduced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91602 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38e52386fcf379c1a97c557bf81c345fd1233a04
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 17 09:39:49 2009 +0000
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91598 91177308-0d34-0410-b5e6-96231b3b80d8
commit 75192f45c3fe86b5afe94a303a0cbbe0dbed923c
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Thu Dec 17 07:49:26 2009 +0000
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91595 91177308-0d34-0410-b5e6-96231b3b80d8
commit 098d20a0ba341dd7f3db8ffbf3ec908fb60b0be1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Thu Dec 17 07:49:16 2009 +0000
Add a 'set_option' action for use in OptionPreprocessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91594 91177308-0d34-0410-b5e6-96231b3b80d8
commit 410ace8ad7a9495dc9ab4a111bc220426ecf17fd
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Thu Dec 17 07:48:49 2009 +0000
Refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91593 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4bd5523d989fddfb885d2b4c33058530919b21af
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Thu Dec 17 07:48:34 2009 +0000
s/TokenizeCmdline/TokenizeCmdLine/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91592 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c3da9b61ecc4532780f2503832dd9f1e18f4130
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Thu Dec 17 06:35:17 2009 +0000
Update CMake build to include HexDisassembler.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91589 91177308-0d34-0410-b5e6-96231b3b80d8
commit a06cd190d48a95b42f2226fb6bcfbe263ffc2dc3
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Thu Dec 17 06:07:04 2009 +0000
Aggressively flip compare constant expressions where appropriate; constant
folding in particular expects null to be on the RHS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91587 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3c06eac1ead1ee19d5da7f6244fc1eba2ca17240
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Dec 17 05:07:36 2009 +0000
Fix a comment grammaro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91584 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1d966ed5e666c21c6bef2178778f11b006e8211
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Dec 17 05:05:36 2009 +0000
BIT_CONVERT nodes are used for vector types, too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91582 91177308-0d34-0410-b5e6-96231b3b80d8
commit 72af3d737fd75f62999dec911911103f41aba75a
Author: Sean Callanan <scallanan@apple.com>
Date: Thu Dec 17 01:49:59 2009 +0000
Test harness for the LLVM disassembler. When invoked
with -disassemble, llvm-mc now accepts lines of the
form
0x00 0x00
and passes the resulting bytes to the disassembler for
the chosen (or default) target, printing the result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91579 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7d8baee6a05ca3383f39a5745c3c93aeb09aa749
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 17 00:40:05 2009 +0000
Revert this dag combine change:
Fold (zext (and x, cst)) -> (and (zext x), cst)
DAG combiner likes to optimize expression in the other way so this would end up cause an infinite looping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91574 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8ae68e420a7fd0e4bc77674860a3d2fb619a3b15
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Dec 16 23:36:52 2009 +0000
Renamed "tCMNZ" to "tCMNz" to be consistent with other similar namings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91571 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0be22d12589480b482126c2d8eb816a9590d54d8
Author: John McCall <rjmccall@apple.com>
Date: Wed Dec 16 20:31:50 2009 +0000
Silence a clang warning about the deprecated (but perfectly reasonable in
context) increment-of-bool idiom.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91564 91177308-0d34-0410-b5e6-96231b3b80d8
commit b3fc6a97363135cc1bf0f825a2424b1faf53eb26
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 16 20:10:05 2009 +0000
Reapply r91392, it was only unmasking the bug, and since TOT is still broken having it reverted does no good.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91560 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1c9fe58fab7095cbd17c99970631f5c3c9044a94
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 16 20:09:53 2009 +0000
Reapply r91459, it was only unmasking the bug, and since TOT is still broken having it reverted does no good.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91559 91177308-0d34-0410-b5e6-96231b3b80d8
commit 724d7a167ac9c576db2e9217adfbee9ac8cd7b24
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Dec 16 19:44:06 2009 +0000
Mark STREX* as earlyclobber for the success result register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91555 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef786f2f846f89ff2675dd29e74c517d24db0d24
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Dec 16 19:43:02 2009 +0000
Add @earlyclobber TableGen constraint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91554 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e7896b88c383b5c64ddf574995fbafb4105884c
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 16 19:36:42 2009 +0000
Remove superfluous 'extern' variable that was causing a warning with clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91552 91177308-0d34-0410-b5e6-96231b3b80d8
commit 87450c87ff52d57481df9e6263f9a1b68cc8005a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Dec 16 18:55:53 2009 +0000
Reuse lowered phi nodes.
Tail duplication produces lots of identical phi nodes in different basic
blocks. Teach PHIElimination to reuse the join registers when lowering a phi
node that is identical to an already lowered node. This saves virtual
registers, and more importantly it avoids creating copies the the coalescer
doesn't know how to eliminate.
Teach LiveIntervalAnalysis about the phi joins with multiple uses.
This patch significantly reduces code size produced by -pre-regalloc-taildup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91549 91177308-0d34-0410-b5e6-96231b3b80d8
commit 903dc204e38ab5efaef573815ac96a6c2028c495
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 16 11:38:03 2009 +0000
Fix one more missing this-> to placate that picky clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91536 91177308-0d34-0410-b5e6-96231b3b80d8
commit 53dee55036da98a51831d75dfc9f704a91cd5f48
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 16 10:56:17 2009 +0000
Revert "Reapply 91184 with fixes and an addition to the testcase to cover the
problem", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.
This reverts commit db22309800b224a9f5f51baf76071d7a93ce59c9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91534 91177308-0d34-0410-b5e6-96231b3b80d8
commit e95e6c2b9690abed80c74de593f537d230318a98
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 16 10:56:02 2009 +0000
Revert "Initial work on disabling the scheduler. This is a work in progress, and
this", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91533 91177308-0d34-0410-b5e6-96231b3b80d8
commit 325984d0b8274e8b0b891df078f74f8330a24a2e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 09:32:05 2009 +0000
reapply my strstr optimization. I have reproduced the x86-64 bootstrap
miscompile (i386.o miscompares) but it happens both with and without
this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91532 91177308-0d34-0410-b5e6-96231b3b80d8
commit a967657dbc081c7a72a734688e073bead60492f5
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 09:17:12 2009 +0000
fix more missing this->'s to placate clang++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91531 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1306a7b58af44ff7d4d3d55fb55f05d90dc17b51
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 09:09:54 2009 +0000
Fix a missing this-> that clang++ notices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91530 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb29769774962df2dcb7a31f8bd158a0f6871ceb
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 08:44:24 2009 +0000
now that libsystem no longer uses SmallVector, we can move
SmallVectorBase::grow_pod out of line, finally satisfying PR3758.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91529 91177308-0d34-0410-b5e6-96231b3b80d8
commit a01522ef1c2bb894f01f20481aeec71b41760c2a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 08:40:44 2009 +0000
remove use of SmallVector from Path::makeUnique. Path::makeUnique
is not used by anything performance sensitive, so just use std::string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91528 91177308-0d34-0410-b5e6-96231b3b80d8
commit 75d7b5b99547063514152db411a60befc99f5302
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 08:35:54 2009 +0000
eliminate an extraneous use of SmallVector in a case where
a fixed size buffer is perfectly fine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91527 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3ab8c0e1d42d4ee44349b7b1f51e5130b9c12530
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 08:34:40 2009 +0000
factor out the grow() method for all pod implementations into one
common function. It is still an inline method, which will be fixed next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91526 91177308-0d34-0410-b5e6-96231b3b80d8
commit dd44d1b21d8f77f7d3015d258383337dc6646780
Author: Victor Hernandez <vhernandez@apple.com>
Date: Wed Dec 16 08:10:57 2009 +0000
Use different name for argument and field
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91524 91177308-0d34-0410-b5e6-96231b3b80d8
commit b9e74f2cb039a0d6581861171f4c7f42d0880f25
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 08:09:23 2009 +0000
pull destroy_range and uninitialized_copy up to the
SmallVectorTemplateBase class, which allows us to statically
dispatch on isPodLike instead of dynamically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91523 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8d02743d04afde76e9bfa7ba918911f40a9b1cb
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 08:05:48 2009 +0000
sink most of the meat in smallvector back from SmallVectorTemplateCommon
down into SmallVectorImpl. This requires sprinking a ton of this->'s in,
but gives us a place to factor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91522 91177308-0d34-0410-b5e6-96231b3b80d8
commit 59ebf30b613ebf2617a1519fbd0dbc1f2b4aeb13
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Wed Dec 16 07:35:25 2009 +0000
Make this test pass on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91521 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3521fb7b3e549c489faebd76084d86a1c30cba8a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 06:55:45 2009 +0000
substantial refactoring of SmallVector, now most code is in SmallVectorTemplateCommon,
and there is a new SmallVectorTemplateBase class in between it and SmallVectorImpl.
SmallVectorTemplateBase can be specialized based on isPodLike.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91518 91177308-0d34-0410-b5e6-96231b3b80d8
commit a6b8642f72c98125b56e34469baaed50819ef2a2
Author: Victor Hernandez <vhernandez@apple.com>
Date: Wed Dec 16 02:52:09 2009 +0000
MDNodes that refer to an instruction are local to a function; in that case, explicitly keep track of the function they are local to
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91497 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa640d3fc7563e889ef2ef93994b4c6ff38933f1
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Dec 16 02:32:54 2009 +0000
Add encoding bits for some Thumb instructions. Plus explicitly set the top two
bytes of Inst to 0x0000 for the benefit of the Thumb decoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91496 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95150a6fa59d69f01bcd481e9bb2dc937c548107
Author: Devang Patel <dpatel@apple.com>
Date: Wed Dec 16 02:11:38 2009 +0000
XFAIL on ppc-darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91495 91177308-0d34-0410-b5e6-96231b3b80d8
commit edeb169061593870ac603ab898a58d4db579d162
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 16 00:53:11 2009 +0000
Re-enable 91381 with fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91489 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ea083faf048bcaa812098ebdc3f55c0ddcc1687
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 16 00:46:02 2009 +0000
revert my strstr optimization, I'm told it breaks x86-64 bootstrap.
Will reapply with a fix when I get a chance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91486 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5d25f9bbd3a3106239e6b957c233b598d36576fe
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Dec 16 00:29:41 2009 +0000
Do better with physical reg operands (typically, from inline asm)
in local register allocator. If a reg-reg copy has a phys reg
input and a virt reg output, and this is the last use of the phys
reg, assign the phys reg to the virt reg. If a reg-reg copy has
a phys reg output and we need to reload its spilled input, reload
it directly into the phys reg than passing it through another reg.
Following 76208, there is sometimes no dependency between the def of
a phys reg and its use; this creates a window where that phys reg
can be used for spilling (this is true in linear scan also). This
is bad and needs to be fixed a better way, although 76208 works too
well in practice to be reverted. However, there should normally be
no spilling within inline asm blocks. The patch here goes a long way
towards making this actually be true.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91485 91177308-0d34-0410-b5e6-96231b3b80d8
commit b6bf5b926d84470a0527691b20f60c31f6bf7978
Author: John McCall <rjmccall@apple.com>
Date: Wed Dec 16 00:15:28 2009 +0000
Every anonymous namespace is different. Caught by clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91481 91177308-0d34-0410-b5e6-96231b3b80d8
commit 86dd20e4ab83c6d96b5a526bc95fc0ee6170e4ec
Author: John McCall <rjmccall@apple.com>
Date: Wed Dec 16 00:13:24 2009 +0000
Explicit template instantiations must happen in the template's immediately
enclosing namespace. Caught by clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91480 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf525e4cf50311df9aa8ed97d0eaf81a49fa6c3d
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 16 00:08:36 2009 +0000
Helpful comment added. Some code cleanup. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91479 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7cb7f462c39ffc68a5fe873078c2bb545c44f086
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 16 00:01:27 2009 +0000
Initialize uninitialized variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91477 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d8b6523d77b512dc276857e3e58e1b226856445
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 16 00:00:18 2009 +0000
Initialize uninitialized variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91475 91177308-0d34-0410-b5e6-96231b3b80d8
commit 43a22289bdf5f2e1d884de469b9ab5b849c077b7
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Dec 15 22:42:46 2009 +0000
Change indirect-globals to use a dedicated allocIndirectGV. This lets us
remove start/finishGVStub and the BufferState helper class from the
MachineCodeEmitter interface. It has the side-effect of not setting the
indirect global writable and then executable on ARM, but that shouldn't be
necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91464 91177308-0d34-0410-b5e6-96231b3b80d8
commit d91158b66c9ed1337bdad3741a2a1bbb78525d69
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 15 22:42:19 2009 +0000
Some command lines don't like numbers with leading zeros. Remove them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91463 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2c03fdc0413fbc193bca3214907aa7827f3a0a11
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Dec 15 22:00:51 2009 +0000
Reapply 91184 with fixes and an addition to the testcase to cover the problem
found last time. Instead of trying to modify the IR while iterating over it,
I've change it to keep a list of WeakVH references to dead instructions, and
then delete those instructions later. I also added some special case code to
detect and handle the situation when both operands of a memcpy intrinsic are
referencing the same alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91459 91177308-0d34-0410-b5e6-96231b3b80d8
commit 91978076a03bdda4a5c8167436659916e4a31621
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Dec 15 22:00:37 2009 +0000
lit: Improve error when gtest discovery fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91458 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8f4f994c3cefa11b5df46f4aaaab86b15d4d4504
Author: Dan Gohman <gohman@apple.com>
Date: Tue Dec 15 20:21:44 2009 +0000
Revert 90628, which was incorrect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91448 91177308-0d34-0410-b5e6-96231b3b80d8
commit 51260423ed052b52a4246c7643d33cb7750f3bd0
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 19:34:20 2009 +0000
Fix GetConstantStringInfo to not look into MDString (it works on
real data, not metadata) and fix DbgInfoPrinter to not abuse
GetConstantStringInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91444 91177308-0d34-0410-b5e6-96231b3b80d8
commit 465e633b903c1418bcf46021b2b1e02974505c8c
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Dec 15 19:28:13 2009 +0000
whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91442 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8287d66aee7d877aaa80a3fb40cc90580e669493
Author: Devang Patel <dpatel@apple.com>
Date: Tue Dec 15 19:16:48 2009 +0000
Add support to emit debug info for C++ namespaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91440 91177308-0d34-0410-b5e6-96231b3b80d8
commit a5b475def3406f1175162574ccbe300f9ab61bfd
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 19:14:40 2009 +0000
optimize strstr, PR5783
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91438 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d810c281064e69c6a0cab4f9f43870628628566
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Dec 15 17:24:14 2009 +0000
Added encoding bits for the Thumb ISA. Initial checkin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91434 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7725021a32f9cb0f289b052a953ea77bfcda2bcf
Author: Dan Gohman <gohman@apple.com>
Date: Tue Dec 15 16:30:09 2009 +0000
Delete an unused function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91432 91177308-0d34-0410-b5e6-96231b3b80d8
|
16 years ago |
|
|
ce0c204a7e |
fix build on FreeBSD and Mac OS X (bb #1776).
Thanks to Renato Botelho. |
16 years ago |
|
|
2253fca349 |
if 0 again.
|
16 years ago |
|
|
8d18898743 |
add regalloc local for debug purposes.
|
16 years ago |
|
|
9463f9fd90 |
Stack protector support.
|
16 years ago |
|
|
a9fe8977e7 |
Accidentally disabled this.
|
16 years ago |
|
|
688799d126 |
yc_bytecode is able to unpack a file now!
|
16 years ago |
|
|
3cd48316a3 |
Fix some compiler warnings.
|
16 years ago |
|
|
e4c59aaef6 |
win32: don't tblgen, fix paths
|
16 years ago |
|
|
f805891010 |
Run tblgen only in maintainer-mode.
And ship prebuilt .inc files instead. This should improve build times a bit. |
16 years ago |
|
|
4bf5eb7991 |
bb#1768
|
16 years ago |
|
|
b44fbcf5fb |
bb#1751
|
16 years ago |
|
|
2aa9ffe07b |
Revert accidental commit of these files in
|
16 years ago |
|
|
087a7543b8 |
Update .gitignore.
|
16 years ago |
|
|
0b337a2483 |
Disable dlopen in LLVM, we don't use it.
|
16 years ago |
|
|
ec32c565ba |
Don't use -ldl since its not portable.
ClamAV itself is already linked to the appropriate library due to libltdl, so linking the LLVM parts to -ldl is not needed. With -ldl it was failing to link on FreeBSD, reported by Renato Botelho. |
16 years ago |
|
|
17f6809f33 |
Update win32 buildfiles.
Use git diff -w to see the diff, the previous vcprojs were commited with CRLF instead of LF (as the win32 git automatically transforms CRLF to LF). |
16 years ago |
|
|
629ae7ab89 |
Avoid rerunning llvm's configure, only rerun if changed.
|
16 years ago |
|
|
d371544d55 |
Fix distcheck.
|
16 years ago |
|
|
dbbda6363f |
test llvm compile time in win32
|
16 years ago |
|
|
c25eb969fe |
Forgot to update x86codegen.
|
16 years ago |
|
|
117bf90380 |
Update docs: LLVM needs Python/GNU make only for unit tests.
|
16 years ago |
|
|
5b91dc3455 |
new deplibs.
|
16 years ago |
|
|
de5bf27b3c |
Merge LLVM upstream r91428.
Squashed commit of the following:
commit 08c733e79dd6b65be6eab3060b47fe4d231098b9
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 09:05:13 2009 +0000
add some other xforms that should be done as part of PR5783
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91428 91177308-0d34-0410-b5e6-96231b3b80d8
commit 39a7fa146ef728a10fce157d2efcecd806bf276b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 08:34:01 2009 +0000
a few improvements:
1. Use std::equal instead of reinventing it.
2. don't run dtors in destroy_range if element is pod-like.
3. Use isPodLike to decide between memcpy/uninitialized_copy
instead of is_class. isPodLike is more generous in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91427 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3a95c15ce022ba6cdeea981f9b7b0a7d4724e11a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 08:29:22 2009 +0000
hoist the begin/end/capacity members and a few trivial methods
up into the non-templated SmallVectorBase class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91426 91177308-0d34-0410-b5e6-96231b3b80d8
commit 142f4f4c9d8ab4a1d1eb5c2fde61a6383fed25c4
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 07:40:44 2009 +0000
improve isPodLike to know that all non-class types are pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91425 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc6f37b22aeb8f1ec5c7eb650ecbdea67f34a3de
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 07:27:58 2009 +0000
Lang verified that SlotIndex is "pod like" even though it isn't a pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91423 91177308-0d34-0410-b5e6-96231b3b80d8
commit 169f3a233e90dcdd01e42829b396c823d016fe30
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 07:26:43 2009 +0000
Remove isPod() from DenseMapInfo, splitting it out to its own
isPodLike type trait. This is a generally useful type trait for
more than just DenseMap, and we really care about whether something
acts like a pod, not whether it really is a pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91421 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1d483dade6f1675d9c2279fb9ae503858b89844
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 15 07:21:14 2009 +0000
Convert llvmc tests to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91420 91177308-0d34-0410-b5e6-96231b3b80d8
commit d016c18182f165c7a967f1c5a6a343971bcd2465
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 15 07:20:50 2009 +0000
Support hook invocation from 'append_cmd'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91419 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4136d8daf27d7f04dea28a578b39e5a614fca81e
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 15 06:49:02 2009 +0000
Fix an encoding bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91417 91177308-0d34-0410-b5e6-96231b3b80d8
commit 54fec492a4c81ee84265ad953f4212eda9aff5c1
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 15 06:14:33 2009 +0000
add an ALWAYS_INLINE macro, which does the obvious thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91416 91177308-0d34-0410-b5e6-96231b3b80d8
commit 428c804a753234ecaf6a6177107361a1312508f8
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date: Tue Dec 15 03:27:52 2009 +0000
For fastcc on x86, let ECX be used as a return register after EAX and EDX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91410 91177308-0d34-0410-b5e6-96231b3b80d8
commit 90468b7e484723a7ecfe7b4bf7a3264d2c6c6d06
Author: John McCall <rjmccall@apple.com>
Date: Tue Dec 15 03:10:26 2009 +0000
Names from dependent base classes are not found by unqualified lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91407 91177308-0d34-0410-b5e6-96231b3b80d8
commit 87c0a2dffc5590dc2604754dbe12c9430a54b27b
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 15 03:07:11 2009 +0000
Disable 91381 for now. It's miscompiling ARMISelDAG2DAG.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91405 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5ca004428400555d08d43eebe7e91c7035793afb
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 15 03:04:52 2009 +0000
Validate the generated C++ code in llvmc tests.
Checks that the code generated by 'tblgen --emit-llvmc' can be actually
compiled. Also fixes two bugs found in this way:
- forward_transformed_value didn't work with non-list arguments
- cl::ZeroOrOne is now called cl::Optional
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91404 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e4f60395f69857730808200642874b0ecd44896
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 15 03:04:14 2009 +0000
Pipe 'grep' output to 'count'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91403 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc4f5408a6a0881c31e2a3165d022d74a6b2b9e5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 15 03:04:02 2009 +0000
Allow $CALL(Hook, '$INFILE') for non-join tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91402 91177308-0d34-0410-b5e6-96231b3b80d8
commit ff7c2e17fda5f570afff5eaf75f88460019d3f74
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 15 03:03:37 2009 +0000
Small documentation update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91401 91177308-0d34-0410-b5e6-96231b3b80d8
commit d629d80a80bfd6094563000bc82ed37b42acfffa
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 15 03:00:32 2009 +0000
Make 91378 more conservative.
1. Only perform (zext (shl (zext x), y)) -> (shl (zext x), y) when y is a constant. This makes sure it remove at least one zest.
2. If the shift is a left shift, make sure the original shift cannot shift out bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91399 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7caa1423082e873b0685e8d1fb4f7351bdabb103
Author: John McCall <rjmccall@apple.com>
Date: Tue Dec 15 02:35:24 2009 +0000
You can't use typedefs to declare template member specializations, and
clang enforces it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91397 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8aa0b417ca5d0fc33b6079aa11b81cf86667956
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 15 01:54:51 2009 +0000
Initial work on disabling the scheduler. This is a work in progress, and this
stuff isn't used just yet.
We want to model the GCC `-fno-schedule-insns' and `-fno-schedule-insns2'
flags. The hypothesis is that the people who use these flags know what they are
doing, and have hand-optimized the C code to reduce latencies and other
conflicts.
The idea behind our scheme to turn off scheduling is to create a map "on the
side" during DAG generation. It will order the nodes by how they appeared in the
code. This map is then used during scheduling to get the ordering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91392 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f0f8885c7079d20930ca0336bb879adde51aaaf
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 15 01:44:10 2009 +0000
Tail duplication should zap a copy it inserted for SSA update if the copy is the only use of its source.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91390 91177308-0d34-0410-b5e6-96231b3b80d8
commit 834ae6b04f4c3650b92182662aa8bb5b0fcf419f
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 15 00:53:42 2009 +0000
Use sbb x, x to materialize carry bit in a GPR. The result is all one's or all zero's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91381 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b6187226b44f590ce7f614b128480b9c2d823ef
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 15 00:52:11 2009 +0000
Fold (zext (and x, cst)) -> (and (zext x), cst).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91380 91177308-0d34-0410-b5e6-96231b3b80d8
commit d08dad66572d86df1826c3547cb824b43ae8e8be
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Dec 15 00:41:47 2009 +0000
NNT: Make sure stderr for build commands goes to log file, as intended but misdirected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91379 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3ff63ae679cf08e69db6770e7965e4f3d04637b9
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 15 00:41:36 2009 +0000
Propagate zest through logical shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91378 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9f669d99f66d2ca120c85c4c379f2571d6dd947a
Author: Eric Christopher <echristo@apple.com>
Date: Tue Dec 15 00:40:55 2009 +0000
Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91377 91177308-0d34-0410-b5e6-96231b3b80d8
commit 87426f8cd21507e13f0256a6727a0c27f60705c3
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 15 00:39:24 2009 +0000
Revert these. They may have been causing 483_xalancbmk to fail:
$ svn merge -c -91161 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91161 into '.':
U lib/CodeGen/BranchFolding.cpp
U lib/CodeGen/MachineBasicBlock.cpp
$ svn merge -c -91113 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91113 into '.':
G lib/CodeGen/MachineBasicBlock.cpp
$ svn merge -c -91101 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91101 into '.':
U include/llvm/CodeGen/MachineBasicBlock.h
G lib/CodeGen/MachineBasicBlock.cpp
$ svn merge -c -91092 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91092 into '.':
G include/llvm/CodeGen/MachineBasicBlock.h
G lib/CodeGen/MachineBasicBlock.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91376 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6e14f2cfc4e8bd346bf3fa7a5ac87b6ebf422ff
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Dec 15 00:12:35 2009 +0000
nand atomic requires opposite operand ordering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91371 91177308-0d34-0410-b5e6-96231b3b80d8
commit c6cfdd3f717bfa1b43351c354e39c066dbd167cd
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 23:40:38 2009 +0000
Fix integer cast code to handle vector types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91362 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8b0d8db13172ed290285f0832e021b4ce3ef9aea
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 23:36:03 2009 +0000
Move Flag and isVoid after the vector types, since bit arithmetic with
those enum values is less common.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91361 91177308-0d34-0410-b5e6-96231b3b80d8
commit 81c5562ec2e59741258fc67824bbb64b91ece71e
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 23:34:36 2009 +0000
Fix these asserts to check the invariant that the code actually
depends on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91360 91177308-0d34-0410-b5e6-96231b3b80d8
commit 612ae24984fcce968041a2f3f379505d8e007a83
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 23:13:31 2009 +0000
Update this comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91356 91177308-0d34-0410-b5e6-96231b3b80d8
commit a34782d2b71b5fd6b3b32fa4943de1fc89d47115
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 23:08:09 2009 +0000
Fix this to properly clear the FastISel debug location. Thanks to
Bill for spotting this!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91355 91177308-0d34-0410-b5e6-96231b3b80d8
commit becf334c8d194b1f6c21db915ba3c22c451ab42a
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Dec 14 22:44:22 2009 +0000
Rearrange rules to add missing dependency and allow parallel makes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91352 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6fdbe657ebacf9e1bdb1e2cebfe82a9549d86d3e
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Dec 14 21:51:34 2009 +0000
Add encoding bits "let Inst{11-4} = 0b00000000;" to BR_JTr to disambiguate
between BR_JTr and STREXD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91339 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32b48e95922e730032f188c313cdd2e50c63cbc9
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 14 21:49:44 2009 +0000
The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
but we need it to actually be 4-bytes in the FDE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91337 91177308-0d34-0410-b5e6-96231b3b80d8
commit ba16e07fc539e23bb604defb021187e64c04702a
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 21:33:32 2009 +0000
v6 sync insn copy/paste error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91333 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6eee903ab286e1a0093c5091bb30fc35e00cd86b
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 21:24:16 2009 +0000
Add ARMv6 memory and sync barrier instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91329 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8ac1d378d72ad45806ab86d316bd50ca5e7f861c
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Dec 14 21:01:46 2009 +0000
Fixed encoding bits typo of ldrexd/strexd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91327 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b595cd6311d7b9670268b69096b55dd1a384d35
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 20:14:59 2009 +0000
Thumb2 atomic operations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91321 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95218a2eb2163a644a1ff5d419ef0b581a60eb39
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 19:55:22 2009 +0000
Add svn:ignore entries for the Disassembler files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91320 91177308-0d34-0410-b5e6-96231b3b80d8
commit b6e3c7b1e4283ee072c8115244515c145ef6d072
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 19:43:09 2009 +0000
Move several function bodies which are rarely inlined out of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91319 91177308-0d34-0410-b5e6-96231b3b80d8
commit a850594e8be4f3a3cb7c4d404b8434dfb3844ec8
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 14 19:34:32 2009 +0000
fix an obvious bug found by clang++ and collapse a redundant if.
Here's the diagnostic from clang:
/Volumes/Data/dgregor/Projects/llvm/lib/Target/CppBackend/CPPBackend.cpp:989:23: warning: 'gv' is always NULL in this context
printConstant(gv);
^
1 diagnostic generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91318 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5dbe26aa8326068823cb9481972426dca151c3cc
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 19:32:31 2009 +0000
Micro-optimize these functions in the case where they are not inlined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91316 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d6e24935ebc8902bd9b22f73ba02fa31d60f8bb
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 19:24:11 2009 +0000
correct selection requirements for thumb2 vs. arm versions of the barrier intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91313 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4fc99a1a87b457f994c5e8e0d12206b9b2e02bb4
Author: Eric Christopher <echristo@apple.com>
Date: Mon Dec 14 19:07:25 2009 +0000
Add radar fixed in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91312 91177308-0d34-0410-b5e6-96231b3b80d8
commit efbc1f057fd24bd540ab94dfcac298d6762aa3bd
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 18:56:47 2009 +0000
add Thumb2 atomic and memory barrier instruction definitions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91310 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31b2740914c8fec8580a8dc1000e3b5295309dfb
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 18:36:32 2009 +0000
whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91307 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63437d96828f86ca3833c58964c4a5d4b142aa07
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 18:31:20 2009 +0000
ARM memory barrier instructions are not predicable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91305 91177308-0d34-0410-b5e6-96231b3b80d8
commit 49da09d50ecde9dcaacb4bc57807b9fe0fd31005
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Dec 14 17:58:33 2009 +0000
NNT: Use [e]grep -a when scanning logs, its possibly they will have non-text
characters in them, in which case the grep will just return 'Binary file
matches' and the whole thing falls over.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91302 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2cef3baf8abe8446367182510bb5410247c99a8e
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Dec 14 17:58:27 2009 +0000
NNT: Always create the -sentdata.txt file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91301 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5d6c29ba56ae19b4d81f8a8f7abf04aa356403fb
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:35:17 2009 +0000
Clear the Processed set when it is no longer used, and clear the
IVUses list in releaseMemory().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91296 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f4122b67d3bd31a6d3544f319527949f2d1cf4e
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:31:01 2009 +0000
Fix a thinko; isNotAlreadyContainedIn had a built-in negative, so the
condition was inverted when the code was converted to contains().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91295 91177308-0d34-0410-b5e6-96231b3b80d8
commit b937cf58556a1fea130dae4d42e49489b308edc5
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:19:06 2009 +0000
Remove unnecessary #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91293 91177308-0d34-0410-b5e6-96231b3b80d8
commit 34b9035f2aa2e072afa2da175e47a86de9c723ce
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:14:32 2009 +0000
Make the IVUses member private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91291 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8c5b238c82b464d9993971757204b347a18ed86e
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:12:51 2009 +0000
Instead of having a ScalarEvolution pointer member in BasedUser, just pass
the ScalarEvolution pointer into the functions which need it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91289 91177308-0d34-0410-b5e6-96231b3b80d8
commit e48b5a49457a7976192930b8503e889383e7c0e7
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:10:44 2009 +0000
Don't bother cleaning up if there's nothing to clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91288 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7366d992d0c8f3d840085a41c04be370a3cfe95
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:08:09 2009 +0000
Delete an unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91287 91177308-0d34-0410-b5e6-96231b3b80d8
commit f1e30e458078b78f37abe8ca738d50df8b3cfae8
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:06:50 2009 +0000
Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. The
former was just exposing a LoopInfoBase implementation detail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91286 91177308-0d34-0410-b5e6-96231b3b80d8
commit c83030d61279ac68b9532896fea512ae408387de
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 17:02:55 2009 +0000
add ldrexd/strexd instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91284 91177308-0d34-0410-b5e6-96231b3b80d8
commit d1d6f3708a558575396f8c066b9d9575889f8642
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 17:02:34 2009 +0000
LSR itself doesn't need LoopInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91283 91177308-0d34-0410-b5e6-96231b3b80d8
commit 01c63bf35c8b7ff7775bc83a02a39fc2efcfe3f8
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 16:57:08 2009 +0000
LSR itself doesn't need DominatorTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91282 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7ad7ae23378a83d55d836338cf33935a4a6829b9
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 16:52:55 2009 +0000
Remove the code in LSR that manually hoists expansions out of loops;
SCEVExpander does this automatically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91281 91177308-0d34-0410-b5e6-96231b3b80d8
commit c476702d130b84050a146b9e8a602709bbdc3e2e
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 14 16:37:29 2009 +0000
Minor code cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91280 91177308-0d34-0410-b5e6-96231b3b80d8
commit 814a12c5353afed59395f62dc082aca10b93c3dd
Author: Devang Patel <dpatel@apple.com>
Date: Mon Dec 14 16:18:45 2009 +0000
Use DW_AT_specification to point to DIE describing function declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91278 91177308-0d34-0410-b5e6-96231b3b80d8
commit 99e265ce64bf952da29d01da65438a96984819fe
Author: Shantonu Sen <ssen@apple.com>
Date: Mon Dec 14 14:15:15 2009 +0000
Remove empty file completely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91277 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8da34e01191c9d3819aa1b52fdbc6fe1d544095
Author: Edwin Török <edwintorok@gmail.com>
Date: Mon Dec 14 12:38:18 2009 +0000
Add "generic" fallback.
gcc warned that the function may not have a return value, indeed
for non-intel and non-amd X86 CPUs it is right (VIA, etc.).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91276 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76d8399d2044c4af7ef6b723f2905e4ad6cbbbf3
Author: Lang Hames <lhames@gmail.com>
Date: Mon Dec 14 07:43:25 2009 +0000
Added CalcSpillWeights to CMakeLists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91275 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8233240e96cc3df533f37641d17df9ae2d15af12
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Dec 14 06:51:19 2009 +0000
Whitespace changes, comment clarification. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91274 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4f49e0f7a619ff4a98eae831896636e8fa9051a4
Author: Lang Hames <lhames@gmail.com>
Date: Mon Dec 14 06:49:42 2009 +0000
Moved spill weight calculation out of SimpleRegisterCoalescing and into its own pass: CalculateSpillWeights.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91273 91177308-0d34-0410-b5e6-96231b3b80d8
commit edf3f1eff2ea650086482a564fe3a649801a17fe
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 14 05:11:02 2009 +0000
revert r91184, because it causes a crash on a .bc file I just
sent to Bob.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91268 91177308-0d34-0410-b5e6-96231b3b80d8
commit c7e4ddcbcad547e5513dfd7eefe8c1ae97e84485
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Dec 14 04:22:04 2009 +0000
atomic binary operations up to 32-bits wide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91260 91177308-0d34-0410-b5e6-96231b3b80d8
commit 15874c1fc1d911bfe2ff73e4a66d500d2c07e6f6
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 14 04:06:38 2009 +0000
Add a test for the 'init' option property.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91259 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7fe6f87162f412660039e41bc96d1ac96d107176
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Sun Dec 13 20:30:32 2009 +0000
Reinstate r91208 to fix available_externally linkage for globals, with
nlewycky's fix to add -rdynamic so the JIT can look symbols up in Linux builds
of the JITTests binary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91250 91177308-0d34-0410-b5e6-96231b3b80d8
commit eae8d0465c69874badfcb83312d374d1ba668962
Author: Edwin Török <edwintorok@gmail.com>
Date: Sun Dec 13 08:59:40 2009 +0000
Using _MSC_VER there was wrong, better just use the already existing ifdefs for
x86 CPU detection for the X86 getHostCPUName too, and create a simple
getHostCPUName that returns "generic" for all else.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91240 91177308-0d34-0410-b5e6-96231b3b80d8
commit 87a4e6c0cb18756f3d55ec0f1b5cb86c4c88e068
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Sun Dec 13 07:04:45 2009 +0000
Don't leave pointers uninitialized in the default constructor. GCC complains
about the potential use of these uninitialized members under certain conditions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91239 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c29ae320a827facfbcc32b91d6d98c6b06e44ea
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Dec 13 01:00:59 2009 +0000
Fix weird typo which leads to unallocated memory access for nodes with 4 results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91233 91177308-0d34-0410-b5e6-96231b3b80d8
commit efb9350360fe13284f9162fec884d16590da206a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Dec 13 01:00:32 2009 +0000
Do not allow uninitialize access during debug printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91232 91177308-0d34-0410-b5e6-96231b3b80d8
commit 993eb83df375e2fa7d3fb2c1519690402c27b460
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sat Dec 12 23:23:43 2009 +0000
More info on this transformation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91230 91177308-0d34-0410-b5e6-96231b3b80d8
commit a3a131a8c63dc9768694c87d74109afefb021cfb
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sat Dec 12 21:41:48 2009 +0000
Remove some stuff that's already implemented. Also, remove the note about
merging x >u 5 and x <s 20 because it's impossible to implement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91228 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee30369f778aaece9f0f70dc482331c6ed8cb326
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Dec 12 21:17:54 2009 +0000
Update install-clang target for clang-cc removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91226 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8597901e12c0caa1cf841472e12df422c1d2c02b
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Dec 12 20:03:14 2009 +0000
Disable r91104 for x86. It causes partial register stall which pessimize code in 32-bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91223 91177308-0d34-0410-b5e6-96231b3b80d8
commit 36d987ea7542f0face7c2a3e98cfa4d8f31ab5e9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sat Dec 12 18:55:37 2009 +0000
Implement variable-width shifts.
No testcase yet - it seems we're exposing generic codegen bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91221 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9357ab4ddb97c2a6606ba0ee9f859b9c93b364b7
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Dec 12 18:55:26 2009 +0000
Add comment about potential partial register stall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91220 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca348204499380bc590165f8467f8dccdc3f414a
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Dec 12 18:51:56 2009 +0000
Fix an obvious bug. No test case since LEA16r is not being used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91219 91177308-0d34-0410-b5e6-96231b3b80d8
commit d50b1dd026feed23280c98d75ec3465627424725
Author: Edwin Török <edwintorok@gmail.com>
Date: Sat Dec 12 12:42:31 2009 +0000
Enable CPU detection when using MS VS 2k8 too.
MSVS2k8 doesn't define __i386__, hence all the CPU detection code was disabled.
Enable it by looking for _MSC_VER.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91217 91177308-0d34-0410-b5e6-96231b3b80d8
|
16 years ago |
|
|
8449b08d52 |
New dependency generator.
|
16 years ago |
|
|
7e98915f9b |
cli_ftw: when readdir fails, call the error callback (bb #1735).
Also report all failures to clamdscan. |
16 years ago |
|
|
0f7ba61742 |
libclamav: integrate ldb sigs with icon matcher
|
16 years ago |
|
|
8ea83d1366 |
Document requirements for bytecode JIT.
|
16 years ago |
|
|
303c6ea016 |
Minimum required version for multithreaded LLVM is gcc 4.1.3.
gcc 3.4.6 doesn't support atomic builtins required by LLVM for multithreaded mode. So make the minimum version 4.1.3, since: 4.0 is buggy for ClamAV itself, and 4.1.1, 4.1.2 are buggy when compiling LLVM. On gcc 3.4.6 clamav will use the interpreter now. |
16 years ago |
|
|
3df571b3aa |
sigtool: fix some messages (bb#1777)
|
16 years ago |
|
|
654efea328 |
man/freshclam.conf.5: describe SafeBrowsing (bb#1772)
|
16 years ago |
|
|
4b0d9e508a |
man/clamd.8: add info about signals
|
16 years ago |
|
|
67f25082c2 |
Fix win32 deps, LLVMipa needs Core and intrinsics_gen.
|
16 years ago |
|
|
6b7006c3af |
Remove cmake invocation.
|
16 years ago |
|
|
6d52179a6e |
gcc 3.4.6 doesn't support -Wno-variadic-macros, disable the flag.
|
16 years ago |
|
|
b75592465c |
Fix paths in vcproj files to be relative.
|
16 years ago |
|
|
92ba8d661c |
Attempt to fix SunC build: enum/unsigned mismatch is not allowed.
|
16 years ago |
|
|
853b6e5da1 |
Add LLVM win32 proj files generated by cmake.
Fix win32 build issues. Enable CPU detection on win32 too. Enable LLVM JIT on win32 too. Define NDEBUG for libclamavc++ for release win32 builds. |
16 years ago |
|
|
2bc55dec67 |
Update buildfiles after merge.
|
16 years ago |
|
|
c22a7a16d6 |
Really disable LLVM unit tests (for now).
|
16 years ago |
|
|
d58f4f0a0f |
Update to LLVM upstream SVN r91214.
Squashed commit of the following:
commit 2fdb8cfc44fb50a50bda26ac7774692a15c00412
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Sat Dec 12 09:25:50 2009 +0000
Fix some CHECK lines which were ignored by accident.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91214 91177308-0d34-0410-b5e6-96231b3b80d8
commit cbfd1ed3c3d611d3d36d6853b99f6d615eaf96f1
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Sat Dec 12 06:18:46 2009 +0000
Revert r91208. Something on Linux prevents the JIT from looking up a symbol
defined in the test, and I don't have time tonight to figure it out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91209 91177308-0d34-0410-b5e6-96231b3b80d8
commit fcfc5e88a362367990b85c708d9656c9e9150f5e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Sat Dec 12 05:58:14 2009 +0000
Fix available_externally linkage for globals. It's probably still not
supported by emitGlobals, but I don't have a test case for that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91208 91177308-0d34-0410-b5e6-96231b3b80d8
commit 37fa76624c9c11ec6745b5b609a8b537f0cd8425
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Sat Dec 12 04:08:32 2009 +0000
Make it easier to use the llvm_unreachable and DEBUG macros without "using
namespace llvm" by qualifying their implementations with ::llvm::.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91206 91177308-0d34-0410-b5e6-96231b3b80d8
commit 241896971376c9bf4b5856c44c65084c8bf6e3cb
Author: Jim Grosbach <grosbach@apple.com>
Date: Sat Dec 12 01:40:06 2009 +0000
Framework for atomic binary operations. The emitter for the pseudo instructions
just issues an error for the moment. The front end won't yet generate these
intrinsics for ARM, so this is behind the scenes until complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91200 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4407a9dd3a5829f2385c49b2cdbe96c33076c384
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Dec 11 23:47:40 2009 +0000
Revise scalar replacement to be more flexible about handle bitcasts and GEPs.
While scanning through the uses of an alloca, keep track of the current offset
relative to the start of the alloca, and check memory references to see if
the offset & size correspond to a component within the alloca. This has the
nice benefit of unifying much of the code from isSafeUseOfAllocation,
isSafeElementUse, and isSafeUseOfBitCastedAllocation. The code to rewrite
the uses of a promoted alloca, after it is determined to be safe, is
reorganized in the same way.
Also, when rewriting GEP instructions, mark them as "in-bounds" since all the
indices are known to be safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91184 91177308-0d34-0410-b5e6-96231b3b80d8
commit 552423de4ce3985cee3e44d2b34afc81aef5b5b4
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 11 23:26:08 2009 +0000
Delete an unnecessary line. The VTSDNode on a SIGN_EXTEND_REG is never
a vector type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91181 91177308-0d34-0410-b5e6-96231b3b80d8
commit f40cec0ee6d37ccce844d771f177f33c929a4b86
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Dec 11 23:01:29 2009 +0000
Lower setcc branchless, if this is profitable.
Based on the patch by Brian Lucas!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91175 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3dd8cadf857bd134ef24aebb48aa22278cedaff1
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 11 21:47:36 2009 +0000
Don't try to move a MBB into the fall-through position if it's a landing pad or
branches only to a landing pad. Without this check, the compiler would go into
an infinite loop because the branch to a landing pad is an "abnormal" edge which
wasn't being taken into account.
This is the meat of that fix:
if (!PrevBB.canFallThrough() && !MBB->BranchesToLandingPad(MBB)) {
The other stuff is simplification of the "branches to a landing pad" code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91161 91177308-0d34-0410-b5e6-96231b3b80d8
commit b9f2c6bf74e416fb21026ef9c779c6c4cdbce9d4
Author: Devang Patel <dpatel@apple.com>
Date: Fri Dec 11 21:37:07 2009 +0000
Construct CompileUnits lazily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91159 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d501bd6024424a0d85836f2e61a5fcd3f717d23
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 11 21:31:27 2009 +0000
Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91158 91177308-0d34-0410-b5e6-96231b3b80d8
commit c6095894e7cd3c7144575ba6e2596bb5a3d3adc0
Author: Jim Grosbach <grosbach@apple.com>
Date: Fri Dec 11 20:29:53 2009 +0000
memory barrier instructions by definition have side effects. This prevents the post-RA scheduler from moving them around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91150 91177308-0d34-0410-b5e6-96231b3b80d8
commit 432c8afd5e7ab193fbf348436da8c4d88a780f93
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 11 20:09:21 2009 +0000
Change this to the correct PR number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91148 91177308-0d34-0410-b5e6-96231b3b80d8
commit 10ef46f126972755ae7dac376fc98f26ddd31dfc
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 11 20:05:23 2009 +0000
Make getUniqueExitBlocks's precondition assert more precise, to
avoid spurious failures. This fixes PR5758.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91147 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2c4c4dc0dc9c48f7ec593798916cab05c68ec44b
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 11 19:50:50 2009 +0000
Fix the result type of SELECT nodes lowered from Select instructions with
aggregate return values. This fixes PR5754.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91145 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7767af5f34dccb5d093cd46004f2f2687095019c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Dec 11 19:39:55 2009 +0000
Honour setHasCalls() set from isel.
This is used in some weird cases like general dynamic TLS model.
This fixes PR5723
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91144 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7e6324988a184400c4a79d684746f91c3c5bfad3
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Dec 11 19:37:26 2009 +0000
Store Register Exclusive should leave the source register Inst{3-0} unspecified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91143 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7853967b2bec37e6093fa595cc42aabbad964059
Author: Jim Grosbach <grosbach@apple.com>
Date: Fri Dec 11 18:52:41 2009 +0000
Update properties.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91140 91177308-0d34-0410-b5e6-96231b3b80d8
commit efa9046e1673863e2b091556e5c92b834cc4bdf5
Author: Gabor Greif <ggreif@gmail.com>
Date: Fri Dec 11 15:30:07 2009 +0000
Simplify this class by removing the result cache.
This change removes the DefaultConstructible
and CopyAssignable constraints on the template
parameter T (the first one).
The second template parameter (R) is defaulted to be
identical to the first and controls the result type.
By specifying it to be (const T&) additionally the
CopyConstructible constraint on T can be removed.
This allows to use StringSwitch e.g. for llvm::Constant
instances.
Regarding the other review feedback regarding performance
because of taking pointers, this class should be completely
optimizable like before, since all methods are inline and
the pointer dereferencing and result value caching should be
possible behind the scenes by the "as-if" rule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91123 91177308-0d34-0410-b5e6-96231b3b80d8
commit 624ebdda54ecb7db70ffb105148e68dd34940f8e
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 11 10:43:41 2009 +0000
Revert part of r91101 which was causing an infinite loop in the self-hosting
build bots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91113 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9039ae61fdf29b92f04b84e85c13d0119fa39268
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Dec 11 08:36:17 2009 +0000
Add utility method for determining whether a function argument
has the 'nest' attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91109 91177308-0d34-0410-b5e6-96231b3b80d8
commit b880e97295cce0cffac154c7643945435cede34d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 11 06:02:21 2009 +0000
Tests for 91103 and 91104.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91105 91177308-0d34-0410-b5e6-96231b3b80d8
commit f031da831176f05449c6c0dd32f45f2fca403f2d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 11 06:01:48 2009 +0000
Add support to 3-addressify 16-bit instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91104 91177308-0d34-0410-b5e6-96231b3b80d8
commit f486334d5c3e5d686f35f5fb9594842a76596496
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 11 06:01:00 2009 +0000
Coalesce insert_subreg undef, x first to avoid phase ordering issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91103 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4d2fd87d90f53f74faab9b231809bad929ffdf28
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 11 03:14:18 2009 +0000
Address comments on last patch:
- Loosen the restrictions when checking of it branches to a landing pad.
- Make the loop more efficient by checking the '.insert' return value.
- Do cheaper checks first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91101 91177308-0d34-0410-b5e6-96231b3b80d8
commit 573d1d59306f14c74a519b77e1d677e9a6df3a65
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 11 01:49:14 2009 +0000
A machine basic block may end in an unconditional branch, however it may have
more than one successor. Normally, these extra successors are dead. However,
some of them may branch to exception handling landing pads. If we remove those
successors, then the landing pads could go away if all predecessors to it are
removed. Before, it was checking if the direct successor was the landing
pad. But it could be the result of jumping through multiple basic blocks to get
to it. If we were to only check for the existence of an EH_LABEL in the basic
block and not remove successors if it's in there, then it could stop actually
dead basic blocks from being removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91092 91177308-0d34-0410-b5e6-96231b3b80d8
commit 437d699dc2b7e690254435cb93d7bbd21bb88217
Author: Jim Grosbach <grosbach@apple.com>
Date: Fri Dec 11 01:42:04 2009 +0000
Rough first pass at compare_and_swap atomic builtins for ARM mode. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91090 91177308-0d34-0410-b5e6-96231b3b80d8
commit 307e718947561a527c51e03e38cd77ca1efc6998
Author: Anders Carlsson <andersca@mac.com>
Date: Fri Dec 11 01:04:42 2009 +0000
Add qualifiers for calls to member functions in dependent bases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91087 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d47963bc2b99fc828e706072d94b4faab5c6703
Author: Devang Patel <dpatel@apple.com>
Date: Thu Dec 10 23:25:41 2009 +0000
If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91077 91177308-0d34-0410-b5e6-96231b3b80d8
commit fcd3705bd25d9e1406adc67a11b200f8454d840e
Author: Eric Christopher <echristo@apple.com>
Date: Thu Dec 10 21:11:40 2009 +0000
Add a test for the fix in revision 91009.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91062 91177308-0d34-0410-b5e6-96231b3b80d8
commit fda100228c44e2ce87a2059d879c3da7f6cf043d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 10 20:59:45 2009 +0000
It's not safe to coalesce a move where src and dst registers have different subregister indices. e.g.:
%reg16404:1<def> = MOV8rr %reg16412:2<kill>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91061 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d73e4308d9773535794f2f00ea213981310a6ba
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Thu Dec 10 19:52:22 2009 +0000
Remove a broken, unused header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91058 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1a8f9a8322f0de194328f3ab2cbf941504015f5f
Author: Devang Patel <dpatel@apple.com>
Date: Thu Dec 10 19:14:49 2009 +0000
Refactor code that finds context for a given die.
Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91055 91177308-0d34-0410-b5e6-96231b3b80d8
commit 37582c3385a5259c279f4da155b7659f4272ff71
Author: Jim Grosbach <grosbach@apple.com>
Date: Thu Dec 10 18:35:32 2009 +0000
Add instruction encoding for DMB/DSB
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91053 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7f139c19245027f4f367bf09db322e16ceca76f5
Author: Devang Patel <dpatel@apple.com>
Date: Thu Dec 10 18:05:33 2009 +0000
Refactor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91051 91177308-0d34-0410-b5e6-96231b3b80d8
commit a0f793a956a6aeff1386647a714c627102bfdc88
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Dec 10 17:48:32 2009 +0000
Also attempt trivial coalescing for live intervals that end in a copy.
The coalescer is supposed to clean these up, but when setting up parameters
for a function call, there may be copies to physregs. If the defining
instruction has been LICM'ed far away, the coalescer won't touch it.
The register allocation hint does not always work - when the register
allocator is backtracking, it clears the hints.
This patch is more conservative than r90502, and does not break
483.xalancbmk/i686. It still breaks the PowerPC bootstrap, so it is disabled
by default, and can be enabled with the -trivial-coalesce-ends option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91049 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d9ba4b1d7364823556c97a78142ecd28048e3a3
Author: Edwin Török <edwintorok@gmail.com>
Date: Thu Dec 10 10:01:47 2009 +0000
Comparing std::string with NULL is a bad idea, so just check whether its empty.
This code was crashing always with oprofile enabled, since it tried to create a StringRef
out of NULL, which run strlen on NULL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91046 91177308-0d34-0410-b5e6-96231b3b80d8
commit a4ea68be726443c35446332dbdeff00f42f7e48b
Author: Eric Christopher <echristo@apple.com>
Date: Thu Dec 10 00:25:41 2009 +0000
Make sure the immediate dominator isn't NULL through iterations
of the loop. We could get to this condition via indirect
branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91009 91177308-0d34-0410-b5e6-96231b3b80d8
commit c97c9a0f7c7aa3572a819aef0315a6ddb7a2dfe8
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 10 00:11:45 2009 +0000
Fix PR5744, a case where we were getting the pointer size instead of the
value size. This only manifested when memdep inprecisely returns clobber,
which is do to a caching issue in the PR5744 testcase. We can 'efficiently
emulate' this by using '-no-aa'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91004 91177308-0d34-0410-b5e6-96231b3b80d8
commit ba744f662e83517b2b940145a24d6cbb453f52f9
Author: Jim Grosbach <grosbach@apple.com>
Date: Thu Dec 10 00:11:09 2009 +0000
Add memory barrier intrinsic support for ARM. Moving towards adding the atomic operations intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91003 91177308-0d34-0410-b5e6-96231b3b80d8
commit e559e790ba60791726da785535d194ca71f47dee
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 10 00:04:46 2009 +0000
allow this to build when the #if 0's are enabled. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90999 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6ab68f2d2516ed58e49016dfca15e2ad4bc865e6
Author: Dan Gohman <gohman@apple.com>
Date: Wed Dec 9 22:55:01 2009 +0000
Dereference loopHeader after checking for null rather than before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90990 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5252e89c88fc55ce4b4842b600031f6ca536dc5d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 9 22:24:42 2009 +0000
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90988 91177308-0d34-0410-b5e6-96231b3b80d8
commit e31a26af8b770854d3a630081e74ee52899482b4
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 9 21:00:30 2009 +0000
Optimize splat of a scalar load into a shuffle of a vector load when it's legal. e.g.
vector_shuffle (scalar_to_vector (i32 load (ptr + 4))), undef, <0, 0, 0, 0>
=>
vector_shuffle (v4i32 load ptr), undef, <1, 1, 1, 1>
iff ptr is 16-byte aligned (or can be made into 16-byte aligned).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90984 91177308-0d34-0410-b5e6-96231b3b80d8
commit eef9c8f43d719d072f7f027510125f45a0e02956
Author: Dan Gohman <gohman@apple.com>
Date: Wed Dec 9 18:48:53 2009 +0000
Reuse the Threshold value to size these containers because it's
currently somewhat convenient for them to have the same value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90980 91177308-0d34-0410-b5e6-96231b3b80d8
commit fe0be137457e5a2fe51000ed2844f888e9e19b64
Author: Devang Patel <dpatel@apple.com>
Date: Wed Dec 9 18:24:21 2009 +0000
Reapply r90858, a cleanup patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90979 91177308-0d34-0410-b5e6-96231b3b80d8
commit 091a1d20fcf979b5f266fa2b085215bc3bfe2d46
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 18:21:46 2009 +0000
fix hte last remaining known (by me) phi translation bug. When we reanalyze
clobbers to forward pieces of large stores to small loads, we need to consider
the properly phi translated pointer in the store block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90978 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2737cb4b2a2a648f07f3272d932ba564a03a368a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 18:13:28 2009 +0000
change GetStoreValueForLoad to use IRBuilder, which is cleaner and
implicitly constant folds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90977 91177308-0d34-0410-b5e6-96231b3b80d8
commit 39d7706d74c6237258b9a78a4aaf841f28c58a1d
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Dec 9 18:05:27 2009 +0000
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90975 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6e4661381e82fb4d6ba33d57155dcda400280d3a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 17:27:45 2009 +0000
Add a minor optimization: if we haven't changed the operands of an
add, there is no need to scan the world to find the same add again.
This invalidates the previous testcase, which wasn't wonderful anyway,
because it needed a run of instcombine to permute the use-lists in
just the right way to before GVN was run (so it was really fragile).
Not a big loss.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90973 91177308-0d34-0410-b5e6-96231b3b80d8
commit de76e8dccddd7578a9d52dd04bcf9ca36da417d8
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Wed Dec 9 17:26:02 2009 +0000
Add note about loadable modules on windows.
Patch by Gregory Petrosyan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90972 91177308-0d34-0410-b5e6-96231b3b80d8
commit 13c6e945a6f59aca2d21b46c036521c59d1f61bc
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 17:18:49 2009 +0000
fix PR5733, a case where we'd replace an add with a lexically identical
binary operator that wasn't an add. In this case, a xor. Whoops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90971 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9b4ae24a6d11afa1453e2cfce2c702316ad7e093
Author: David Goodwin <david_goodwin@apple.com>
Date: Wed Dec 9 17:18:22 2009 +0000
<rdar://problem/7453528>. Track only physical registers that are valid for the target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90970 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1ab6f944f31f5db68788036bb48cc6fef160be6
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 17:17:26 2009 +0000
merge crash-2.ll into crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90969 91177308-0d34-0410-b5e6-96231b3b80d8
commit 179201113b146232ba8ed6cc32c3b7c1b0cdd481
Author: Eric Christopher <echristo@apple.com>
Date: Wed Dec 9 08:29:32 2009 +0000
Silence conversion warning from 64 to 32-bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90962 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd9feaabf12a8dd559794b5a779d12c9a5e9dfa3
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 07:37:07 2009 +0000
change AnalyzeLoadFromClobberingMemInst/AnalyzeLoadFromClobberingStore
to require the load ty/ptr to be passed in, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90960 91177308-0d34-0410-b5e6-96231b3b80d8
commit 598abfd68824c718b392e6da1ff78a278b390bdf
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 07:34:10 2009 +0000
change AnalyzeLoadFromClobberingWrite and clients to pass in type
and pointer instead of the load. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90959 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca02fc16abf5caf64bf21a3efdad9b52368591c5
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 07:31:04 2009 +0000
enhance NonLocalDepEntry to keep the per-block phi translated address
of the query.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90958 91177308-0d34-0410-b5e6-96231b3b80d8
commit c831c64f16749af9b1a782ace983aee600d59c43
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 9 07:19:48 2009 +0000
DeltaAlgorithm: Add a virtual destructor and home.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90957 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1a957967ec0e908f69717c8887d427eeaee8e5fc
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 07:08:01 2009 +0000
change NonLocalDepEntry from being a typedef for an std::pair to be its
own small class. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90956 91177308-0d34-0410-b5e6-96231b3b80d8
commit 75730ab628f309e281beab31cb081b7487579f6e
Author: Lang Hames <lhames@gmail.com>
Date: Wed Dec 9 05:39:12 2009 +0000
Added a new "splitting" spiller.
When a call is placed to spill an interval this spiller will first try to
break the interval up into its component values. Single value intervals and
intervals which have already been split (or are the result of previous splits)
are spilled by the default spiller.
Splitting intervals as described above may improve the performance of generated
code in some circumstances. This work is experimental however, and it still
miscompiles many benchmarks. It's not recommended for general use yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90951 91177308-0d34-0410-b5e6-96231b3b80d8
commit 22a458ae9214261c3e420910fb22ee81c358395d
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 9 03:26:33 2009 +0000
Remove spurious extern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90937 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd96f3416558738874517ad53b30b0fa13fac75f
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Dec 9 02:58:09 2009 +0000
Remove unneeded ';' and a class/struct mismatch (noticed by clang).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90934 91177308-0d34-0410-b5e6-96231b3b80d8
commit 521f16433f6a3ae9e35a47efc577dcb9162a01ef
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 02:43:05 2009 +0000
the code in GVN that tries to forward large loads to small
stores is not phi translating, thus it miscompiles really
crazy testcases. This is from inspection, I haven't seen
this in the wild.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90930 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4c61909de5f6f6a721080017aa11ab846b24bdfb
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 02:41:54 2009 +0000
add some aborts to #if 0's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90929 91177308-0d34-0410-b5e6-96231b3b80d8
commit efff322bd17b640f544a1d28c580b59499a28ff8
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 01:59:31 2009 +0000
Switch GVN and memdep to use PHITransAddr, which correctly handles
phi translation of complex expressions like &A[i+1]. This has the
following benefits:
1. The phi translation logic is all contained in its own class with
a strong interface and verification that it is self consistent.
2. The logic is more correct than before. Previously, if intermediate
expressions got PHI translated, we'd miss the update and scan for
the wrong pointers in predecessor blocks. @phi_trans2 is a testcase
for this.
3. We have a lot less code in memdep.
We can handle phi translation across blocks of things like @phi_trans3,
which is pretty insane :).
This patch should fix the miscompiles of 255.vortex, and I tested it
with a bootstrap of llvm-gcc, llvm-test and dejagnu of course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90926 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76ebe86e74ce108a129259fb52663edb0483da9d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 9 01:53:58 2009 +0000
Teach InferPtrAlignment to infer GV+cst alignment and use it to simplify x86 isl lowering code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90925 91177308-0d34-0410-b5e6-96231b3b80d8
commit ada03e86adc6f39bc024e7e147f4e8a84929c6b2
Author: Devang Patel <dpatel@apple.com>
Date: Wed Dec 9 01:46:00 2009 +0000
Remove tests that are not suitable anymore. Plus they are not testing the original bugfixes anymore. These tests were inserted to check bug fixes in code that handled debug info intrinsics. These intrinsics are no longer used and now llvm parser simply ignores old .dbg intrinsics from these dead tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90923 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1a029cbee8f0bb7d1798aa474bdc46f017ba1871
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 9 01:36:00 2009 +0000
Move isConsecutiveLoad to SelectionDAG. It's not target dependent and it's primary used by selectdag passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90922 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3b1d6462fe599fc9e17811b2d6bc8fad77183647
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 01:19:16 2009 +0000
fix a nasty variable that was shadowing the real CurBB but with the wrong value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90920 91177308-0d34-0410-b5e6-96231b3b80d8
commit a711e2664a880bc4b941d2690371cf811167bf95
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 9 01:17:24 2009 +0000
Infer alignment for non-fixed stack object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90919 91177308-0d34-0410-b5e6-96231b3b80d8
commit d3caa135e4a12b56cf586dc4d2a3d89d821b2f46
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 9 01:10:37 2009 +0000
Add const qualifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90918 91177308-0d34-0410-b5e6-96231b3b80d8
commit 684647dabc65cd039ddd73daf25112d1b6a98072
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 9 01:04:59 2009 +0000
Refactor InferAlignment out of DAGCombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90917 91177308-0d34-0410-b5e6-96231b3b80d8
commit a3d7e0b6f0723224cf9db5b12d41d0bc82948782
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 00:56:14 2009 +0000
fix many input tracking bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90915 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb8c775db77dfe0194a6169f437342eacaa46792
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 00:41:28 2009 +0000
when opt crashes, print its command line arguments as a pretty stack trace.
Somehow opt was missed when this was added.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90912 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa30b76c39c82f6e0973d597511c9a6980a914d4
Author: Dan Gohman <gohman@apple.com>
Date: Wed Dec 9 00:28:42 2009 +0000
Fix a typo in a comment, and adjust SmallSet and SmallVector sizes,
that Chris noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90910 91177308-0d34-0410-b5e6-96231b3b80d8
commit 604d78539ab4276a96f99287599fe6b341707dc0
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 00:18:13 2009 +0000
fix PHI translation to take the PHI out of the instinputs set and add
the translated value back to it if an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90909 91177308-0d34-0410-b5e6-96231b3b80d8
commit 67f80492b9822f893a83641bb204d81e916f8d3e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 00:10:55 2009 +0000
instructions defined in CurBB may be intermediate nodes of the computation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90908 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7bc7cb6375e49b89417a44bddad4300ec5b2c5ea
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 9 00:01:00 2009 +0000
add dumping and sanity checking support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90906 91177308-0d34-0410-b5e6-96231b3b80d8
commit 096cad10650493a4addf69d3bdf81f2e2c38d943
Author: Dan Gohman <gohman@apple.com>
Date: Tue Dec 8 23:59:12 2009 +0000
Put a threshold on the number of users PointerMayBeCaptured
examines; fall back to a conservative answer if there are
more. This works around some several compile time problems
resulting from BasicAliasAnalysis calling PointerMayBeCaptured.
The value has been chosen arbitrarily.
This fixes rdar://7438917 and may partially address PR5708.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90905 91177308-0d34-0410-b5e6-96231b3b80d8
commit c88612dd681daa28178107881b0526b5ad4b0d1c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 8 23:42:51 2009 +0000
make sure that PHITransAddr keeps its 'InstInputs' list up to
date when instsimplify kicks in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90901 91177308-0d34-0410-b5e6-96231b3b80d8
commit de2d3688d9711628c15ee2b8410fa3e936ca698c
Author: Devang Patel <dpatel@apple.com>
Date: Tue Dec 8 23:21:45 2009 +0000
Revert 90858 90875 and 90805 for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90898 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9e5c8a8cdfc3a0267b026851bf08a9507474578e
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 8 23:06:22 2009 +0000
- Support inline asm 'w' constraint for 128-bit vector types.
- Also support the 'q' NEON registers asm code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90894 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1d9aeda1a20c306e7639e6df6613d570e793ab00
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Dec 8 19:49:30 2009 +0000
lit: Prevent crash-on-invalid (when run on directory which has no test suite).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90871 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb331cbe3eb64ba46f885189aa8797c3027a69ea
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Dec 8 19:48:01 2009 +0000
Set svn:ignore on tools/clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90870 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58c778873ae2dac1a1c615bf4cab3cd788ec4db9
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Dec 8 19:47:36 2009 +0000
CMake/lit: Add llvm_{unit_,}site_config parameters, and always pass them when running tests from the project files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90869 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6e56790b2a9d8fbdbbcba5750f646488f1073d9f
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 8 19:34:53 2009 +0000
Revert 90789 for now. It caused massive compile time regression. Post-ra scheduler slowed down dramatically with this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90868 91177308-0d34-0410-b5e6-96231b3b80d8
commit d11c2b3c143afb32f32fcc203190454a63fdd0c1
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Dec 8 18:27:03 2009 +0000
Some superficial cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90866 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb4b0d5499b3b7095b560734f1b47d26187ce644
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Dec 8 18:22:03 2009 +0000
Clean up dead operands left around after SROA replaces a mem intrinsic.
I'm not aware that this does anything significant on its own, but it's
needed for another patch that I'm working on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90864 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7b294d7538f15995e446a6a2dd17965813133cc0
Author: Devang Patel <dpatel@apple.com>
Date: Tue Dec 8 15:31:31 2009 +0000
Cleanup.
There is no need to supply ModuleCU to addType() as a parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90858 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23a55d34fc5a37cc60122ac3db057177f91e2528
Author: Devang Patel <dpatel@apple.com>
Date: Tue Dec 8 15:01:35 2009 +0000
Do not try to push dead variable's debug info into namespace info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90857 91177308-0d34-0410-b5e6-96231b3b80d8
commit f8bbaf864380c3d5ea1c21d4fade7cb22fcced25
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Tue Dec 8 13:07:38 2009 +0000
Remove useless calls to c_str().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90855 91177308-0d34-0410-b5e6-96231b3b80d8
commit 35138e397b334bffa8f1c9121fa97f9129880d09
Author: Duncan Sands <baldrick@free.fr>
Date: Tue Dec 8 10:10:20 2009 +0000
Teach GlobalOpt to delete aliases with internal linkage (after
forwarding any uses). GlobalDCE can also do this, but is only
run at -O3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90850 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3147011bdf615c47e44b7ffbc5e94263d42aa6ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 8 06:06:26 2009 +0000
fix a typo (and -> add) and fix GetAvailablePHITranslatedSubExpr to not
side-effect the current object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90837 91177308-0d34-0410-b5e6-96231b3b80d8
commit 54518e654b0b98ffeefec0b0958500883ba2832a
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Tue Dec 8 05:45:41 2009 +0000
Remove unnecessary #include "llvm/LLVMContext.h".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90836 91177308-0d34-0410-b5e6-96231b3b80d8
commit 48df1cc8234d91de705451688bb54bbbe161d51a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 8 05:31:46 2009 +0000
whitespace cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90834 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62d57ae9ef18b9cfaa8c3a977db1ed31694a03d5
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Tue Dec 8 02:49:54 2009 +0000
Removed VC++ compatibility code from DataTypes.h.in.
This header file is not used on VC++ builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90829 91177308-0d34-0410-b5e6-96231b3b80d8
commit da3ef8a038a93fa4b4879fd203abd2f9377ab977
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Tue Dec 8 02:40:09 2009 +0000
For VC++, define the ?INT*_C macros only it they are not yet defined.
Some compatibility updates like the Boost TR1 compatibility headers
define them.
Patch contributed by OvermindDL1!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90828 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3caef71dd23157310e52ed947a2fb44579f79db3
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Tue Dec 8 01:03:04 2009 +0000
Reduce (cmp 0, and_su (foo, bar)) into (bit foo, bar). This saves extra instruction. Patch inspired by Brian Lucas!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90819 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9688c52873170b7096ec6f7e13ddea8cb13ca6d8
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Dec 7 23:11:03 2009 +0000
Watch out for duplicated PHI instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90816 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb900da68f1eef3242a89e4f3f2078bbccb093b3
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Dec 7 23:10:34 2009 +0000
Follow up to 90488. Turn a check into an assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90815 91177308-0d34-0410-b5e6-96231b3b80d8
commit d5d28ebb4b6d5cf3f6b15f0a1be3e3e82816b03b
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Mon Dec 7 22:32:38 2009 +0000
Fix the OProfileJITEventListener for StringRef being returned from debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90813 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a8b457e8247f989a5d6d19468fc23e7e48a7118
Author: Victor Hernandez <vhernandez@apple.com>
Date: Mon Dec 7 21:54:43 2009 +0000
Rename DIFactory::InsertValue() as DIFactory::InsertDbgValueIntrinsic()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90807 91177308-0d34-0410-b5e6-96231b3b80d8
commit 641f820036ddf1823bf6b175f4bab0034749b537
Author: Devang Patel <dpatel@apple.com>
Date: Mon Dec 7 21:41:32 2009 +0000
Add support to emit debug info for c++ style namespaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90805 91177308-0d34-0410-b5e6-96231b3b80d8
commit 03cbedef57d2f8bba7823df2f17ffc29e089ba43
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Dec 7 21:19:33 2009 +0000
Delete code accidentally left behind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90804 91177308-0d34-0410-b5e6-96231b3b80d8
commit b0f617ce7b174a87c19e6f21bcadecc68654ff38
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 7 19:52:57 2009 +0000
fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90793 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78a0c48a34b4ae0f766bc94e841018cd9d3557ae
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 7 19:45:30 2009 +0000
add accessor, improve comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90792 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0ef78de4b1c6169cbee2671bbe2a4291d21231cf
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Dec 7 19:42:22 2009 +0000
Test case for 90787.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90791 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef778032ceda17e7b5209045d28761c5190b5730
Author: David Greene <greened@obbligato.org>
Date: Mon Dec 7 19:40:26 2009 +0000
Use FileCheck and set nounwind on calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90790 91177308-0d34-0410-b5e6-96231b3b80d8
commit 654f5abad31952e2e447a598635ba9ce3a582a45
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 7 19:38:26 2009 +0000
Apply Pekka Jääskeläinen's patch to raise the first virtual register
number in order to accomodate targets with more than 1024 registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90789 91177308-0d34-0410-b5e6-96231b3b80d8
commit f2379900d4ebb0568cc18e7102f1d3567f2fabea
Author: Victor Hernandez <vhernandez@apple.com>
Date: Mon Dec 7 19:36:34 2009 +0000
Introduce the "@llvm.dbg.value" debug intrinsic.
The semantics of llvm.dbg.value are that starting from where it is executed, an offset into the specified user source variable is specified to get a new value.
An example:
call void @llvm.dbg.value(metadata !{ i32 7 }, i64 0, metadata !2)
Here the user source variable associated with metadata #2 gets the value "i32 7" at offset 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90788 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6fc593ad30a6640abdcd0e27aefcfae35eb874f5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 7 19:16:13 2009 +0000
Simplify a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90785 91177308-0d34-0410-b5e6-96231b3b80d8
commit 43f5c616b9938842aebaa8de4451aca52c408f04
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 7 19:15:57 2009 +0000
Throw 'const char*' instead of 'std::string'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90784 91177308-0d34-0410-b5e6-96231b3b80d8
commit 726e81006a54d5ee21372b593b6d0aebed32eade
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 7 19:04:49 2009 +0000
add support for phi translation and incorpation of new expression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90782 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad1cc9c85c6ebd136855b133cfa0397741c2dcbf
Author: Dan Gohman <gohman@apple.com>
Date: Mon Dec 7 19:04:31 2009 +0000
Don't enable the post-RA scheduler on x86 except at -O3. In its
current form, it is too expensive in compile time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90781 91177308-0d34-0410-b5e6-96231b3b80d8
commit a3fce13cb0bd4c4afcf1c28f788a398df6a560dc
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Dec 7 18:36:53 2009 +0000
checkpoint of the new PHITransAddr code, still not done and not used by
anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90779 91177308-0d34-0410-b5e6-96231b3b80d8
commit e420496fa6dc7f2aa0cbec0a37f61197e5b402bc
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 7 18:26:24 2009 +0000
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90776 91177308-0d34-0410-b5e6-96231b3b80d8
commit b045d745c550cdd03ae35f9ea4a9e325cbd50bbb
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 7 18:26:11 2009 +0000
Documentation update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90775 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6b292727d8198ca5f85d501a741cb9e69f611038
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 7 18:25:54 2009 +0000
Deprecate 'unpack_values'.
Use 'forward_values' + 'comma_separated' instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90774 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4b6e9d258dcb26f889bfd4c5c0139bfea7421b19
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 7 17:03:21 2009 +0000
Pass '-msse' and friends to llc as '-mattr=+/-'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90771 91177308-0d34-0410-b5e6-96231b3b80d8
commit f77867899cf80b436831429e58bac1f6a1ae66a1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 7 17:03:05 2009 +0000
Implement 'forward_value' and 'forward_transformed_value'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90770 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1d52e693236fe83a47e438438a186d337f149ab0
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Dec 7 10:51:55 2009 +0000
Refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90764 91177308-0d34-0410-b5e6-96231b3b80d8
commit c02f3dca734ac6709bf51d5768ed7b3f97b4a9e7
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Dec 7 10:15:19 2009 +0000
Pre-regalloc tale duplication. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90759 91177308-0d34-0410-b5e6-96231b3b80d8
commit 768358c2b996a799013fb0caa691ffe3b4f6e950
Author: John Mosby <ojomojo@gmail.com>
Date: Mon Dec 7 09:06:37 2009 +0000
fixed some typos in method comments, reworded some comments for clarity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90754 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4aafc85f5a94802c121050ec113973249e295577
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Mon Dec 7 05:29:59 2009 +0000
Fixes the Atomic implementation if compiled by MSVC compiler.
sys::cas_flag should be long on this platform, InterlockedAdd() is
defined only for the Itanium architecture (according to MSDN).
Patch by Michael Beck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90748 91177308-0d34-0410-b5e6-96231b3b80d8
commit 18552eb96f80811caa9f48141219ebeb2eadc5b3
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Dec 7 03:07:01 2009 +0000
If BB is empty, insert PHI before end() instead of front().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90744 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7fb83a04b4c05856465db53ad0981a8db72265c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Dec 7 02:28:41 2009 +0000
Some pretty-printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90742 91177308-0d34-0410-b5e6-96231b3b80d8
commit c15c59e7601f48d83728faa47d5bf676ad084383
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Dec 7 02:28:26 2009 +0000
Truncate the arguments of llvm.frameaddress / llvm.returnaddress intrinsics from i32 to platform's largest native type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90741 91177308-0d34-0410-b5e6-96231b3b80d8
commit 71169a722a14e9f381d61253aa8ebafd28f3e5d9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Dec 7 02:28:10 2009 +0000
Add lowering of returnaddr and frameaddr intrinsics. Shamelessly stolen from x86 :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90740 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5a39d69350dc6cdf4088ee6b1864070e619ef6d3
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Dec 7 02:27:53 2009 +0000
Initial codegen support for MSP430 ISRs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90739 91177308-0d34-0410-b5e6-96231b3b80d8
commit 56998002fed819fcf5d9dc28c49287454425506f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Dec 7 02:27:35 2009 +0000
Add MSP430 interrupt calling conv. No functionality change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90738 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57f67276b60064d0bf4c97ad459241377dff7e08
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Dec 7 02:27:08 2009 +0000
Add ability to select hw multiplier mode and select appropriate libcalls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90737 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7363a6e009625b257d01c6c1a64653e17e2676cc
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Mon Dec 7 00:27:35 2009 +0000
Fix typos. Thanks to John Tytgat for noticing it!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90728 91177308-0d34-0410-b5e6-96231b3b80d8
commit f7374f702cd95402ff597457c8b3772cf3770ecf
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Dec 6 22:39:50 2009 +0000
Dynamic stack realignment use of sp register as source/dest register
in "bic sp, sp, #15" leads to unpredicatble behaviour in Thumb2 mode.
Emit the following code instead:
mov r4, sp
bic r4, r4, #15
mov sp, r4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90724 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0cbb985ccdaaf5bc818e25d941a6e31d611deca4
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Dec 6 17:17:23 2009 +0000
fix PR5698
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90708 91177308-0d34-0410-b5e6-96231b3b80d8
commit ae4038f66b81c6a6017cac78817aa1c8dadd37d8
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Dec 6 16:58:41 2009 +0000
remove extraneous comma clang warns about
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90707 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4bb632ff31a7a273cd8c7411319b27dd5b532f9f
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Dec 6 05:29:56 2009 +0000
constant fold loads from memcpy's from global constants. This is important
because clang lowers nontrivial automatic struct/array inits to memcpy from
a global array.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90698 91177308-0d34-0410-b5e6-96231b3b80d8
commit a96e53ae92d46707d04f238679ecb012ff07df99
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Dec 6 04:54:31 2009 +0000
add support for forwarding mem intrinsic values to non-local loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90697 91177308-0d34-0410-b5e6-96231b3b80d8
commit d59cb5d5442025e89d4b6c16bf685a6f770d7add
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Dec 6 04:16:05 2009 +0000
gvn is optimizing this better now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90696 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb00f73e99d788c3cb30168d32e46f6970c93d48
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Dec 6 01:57:02 2009 +0000
Handle forwarding local memsets to loads. For example, we optimize this:
short x(short *A) {
memset(A, 1, sizeof(*A)*100);
return A[42];
}
to 'return 257' instead of doing the load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90695 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8e77e9b0238cff581abc86626cd153f726478804
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Dec 6 01:56:22 2009 +0000
Add helper methods for forming shift operations with a constant
shift amount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90694 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8e1e701a5bb2515de949ee95e457d208cbd36d19
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Dec 6 01:47:24 2009 +0000
merge two tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90691 91177308-0d34-0410-b5e6-96231b3b80d8
commit 46999ba6514604c021f8ec30df15e47568840c85
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Sun Dec 6 00:06:33 2009 +0000
CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90685 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac88a7eecd22b24ede69845dd74cae286ff14816
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Sat Dec 5 23:19:33 2009 +0000
Fix for atomic intrinsics detection when using MSVC.
Patch by Michael Beck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90683 91177308-0d34-0410-b5e6-96231b3b80d8
commit a182b3f8ba53a7b042461fd206a0807697ae6e85
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 17:56:26 2009 +0000
Remove old DBG_LABEL code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90669 91177308-0d34-0410-b5e6-96231b3b80d8
commit 955748e8b311172018ee5ab478e84b1f663d6547
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 17:51:33 2009 +0000
Remove the unused DisableLegalizeTypes option and related code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90668 91177308-0d34-0410-b5e6-96231b3b80d8
commit d5b718ce82f52d669b9657ec5534f5b37a152637
Author: Bill Wendling <isanbard@gmail.com>
Date: Sat Dec 5 07:59:04 2009 +0000
Calling InvalidateEntry during the refinement was breaking the bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90656 91177308-0d34-0410-b5e6-96231b3b80d8
commit b347993aa457ca3c18247735eb301388d1fe2e71
Author: Bill Wendling <isanbard@gmail.com>
Date: Sat Dec 5 07:46:49 2009 +0000
Final cleanups:
- Privatize a typedef.
- Call the InvalidateEntry when refining a type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90655 91177308-0d34-0410-b5e6-96231b3b80d8
commit 27cae32667e68db30ebfdee6fa4727696895967f
Author: Bill Wendling <isanbard@gmail.com>
Date: Sat Dec 5 07:30:23 2009 +0000
Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90653 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9c9f6a6c8f5226419d4b0bac7c0cd5cf3f8d644d
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Sat Dec 5 06:37:52 2009 +0000
Document that memory use intrinsics may also return Def results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90651 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea2236d55ea9e19aaedb6e4402a3be714aed7efd
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Sat Dec 5 06:37:24 2009 +0000
Fix indentation in switch statement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90650 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b7bc81e5026c1c950667f0d96f499edc671e49c
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Sat Dec 5 05:00:00 2009 +0000
Generalize this optimization to work on equality comparisons between any two
integers that are constant except for a single bit (the same n-th bit in each).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90646 91177308-0d34-0410-b5e6-96231b3b80d8
commit a1151bf0deb01cc4fd87b8a394196f1123c78566
Author: Eric Christopher <echristo@apple.com>
Date: Sat Dec 5 02:46:03 2009 +0000
More updates to objectsize intrinsic docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90644 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1792bc68d2991042dceaa55f508a1c6c6a43b58a
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 02:00:34 2009 +0000
Don't print a space before the : between the file name and line number.
And separate the directory and file name with a '/'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90641 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7ea7e173d2eb27dc6a36b0c93c3e48ebea5da821
Author: Bill Wendling <isanbard@gmail.com>
Date: Sat Dec 5 01:46:01 2009 +0000
Inline methods which are called only once.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90640 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ce8b25281afb6b4b39f9e8442275007de6ef920
Author: Bill Wendling <isanbard@gmail.com>
Date: Sat Dec 5 01:43:33 2009 +0000
Refactor some code. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90639 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfca6e367887ec0820cf5c664eec4c0714166980
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 01:42:34 2009 +0000
Print newlines after printing labels for debug info, so that the output
isn't cluttered with things like "Llabel47:Llabel48: movq (%rsi), %xmm3"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90638 91177308-0d34-0410-b5e6-96231b3b80d8
commit c5b50fbff2c7d0f0e5f225da1c2f3f58299b35da
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 01:29:04 2009 +0000
Don't blindly set the debug location for PHI node copies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90637 91177308-0d34-0410-b5e6-96231b3b80d8
commit 581cdf90ade3d318dedde0c645d478ffede09e0d
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 01:27:58 2009 +0000
Make TargetSelectInstruction protected and called from FastISel.cpp
instead of SelectionDAGISel.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90636 91177308-0d34-0410-b5e6-96231b3b80d8
commit 01696988ff3c98744cce105372803d4ed903f988
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 00:44:40 2009 +0000
Remove the target hook TargetInstrInfo::BlockHasNoFallThrough in favor of
MachineBasicBlock::canFallThrough(), which is target-independent and more
thorough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90634 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc18967dc5cbda59461d704cc1543b4fbd57f592
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 00:32:59 2009 +0000
Simplify this code: don't call AnalyzeBranch before doing simpler checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90633 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ca1ac3967582cd4c02a12054b927adc1e111e52
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 00:27:08 2009 +0000
The debug information for an LLVM Instruction applies to that Instruction
and that Instruction only. Implement this by setting the "current debug position"
back to Unknown after processing each instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90632 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4698bab134cd68e41ae098168d9fd78e64b69904
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 00:23:29 2009 +0000
Fix this code to use DIScope instead of DICompileUnit, as in r90181.
Don't print "SrcLine"; just print the filename and line number, which
is obvious enough and more informative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90631 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef92a646d90a7dc618598e7b836638f96238f245
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 00:20:51 2009 +0000
Don't print the debug directory; it's often long and uninteresting. Omit
the column number if it is not known. Handle the case of a missing filename
better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90630 91177308-0d34-0410-b5e6-96231b3b80d8
commit a45e4926a3f8191749e5796b1829387c729a8a41
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 00:05:43 2009 +0000
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90628 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1db628b4bc909ddc0d17ac0b2930cbf00a61191a
Author: David Greene <greened@obbligato.org>
Date: Sat Dec 5 00:03:24 2009 +0000
Remove an unneeded include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90627 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b62af25fd3f6b7b9efd33f31c2db6c806b5cb6c
Author: Dan Gohman <gohman@apple.com>
Date: Sat Dec 5 00:02:37 2009 +0000
Remove now-redundant llvm-as invocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90626 91177308-0d34-0410-b5e6-96231b3b80d8
commit a2b73bd6b0f0b3271a9d63a9933bafbcba2555fe
Author: David Greene <greened@obbligato.org>
Date: Fri Dec 4 23:55:07 2009 +0000
Remove an unneeded include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90625 91177308-0d34-0410-b5e6-96231b3b80d8
commit 546f68a11248be2f32331f07c5baccf8d9ebb00d
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 4 23:29:57 2009 +0000
Add testcase for PR4262.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90623 91177308-0d34-0410-b5e6-96231b3b80d8
commit e26680ba1f829b15338f0f128855432c5bfd7210
Author: Dan Gohman <gohman@apple.com>
Date: Fri Dec 4 23:19:55 2009 +0000
Print a space between the comment character and the text.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90621 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6329f4f55dcdfb70f68498843c88b5a73dcd4c03
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 4 23:16:56 2009 +0000
Temporarily revert r72620 because r72619 was reverted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90619 91177308-0d34-0410-b5e6-96231b3b80d8
commit d3df6974d831cc29b86026ce3ee3467eb489ea7f
Author: Devang Patel <dpatel@apple.com>
Date: Fri Dec 4 23:10:24 2009 +0000
In TAG_subrange_type, uppder bound is zero indexed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90617 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef682b7fdd6c1fc93490a01b7ba4093e4c935771
Author: David Greene <greened@obbligato.org>
Date: Fri Dec 4 23:08:02 2009 +0000
Fix a bad merge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90616 91177308-0d34-0410-b5e6-96231b3b80d8
commit 989d418a4e80243a7c1ef377b24129218ba99cd5
Author: David Greene <greened@obbligato.org>
Date: Fri Dec 4 23:00:50 2009 +0000
Update the TargetInstrInfo interfaces so hasLoad/StoreFrom/ToStackSlot
can return a MachineMemOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90615 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0ef2d0921f1b88f1be8eb8c3380b4e17aee82bae
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Dec 4 22:46:47 2009 +0000
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90613 91177308-0d34-0410-b5e6-96231b3b80d8
commit 11a046f10f723cac2c598dd0a626383c43aecba2
Author: David Greene <greened@obbligato.org>
Date: Fri Dec 4 22:46:04 2009 +0000
Use new interfaces to print spill size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90611 91177308-0d34-0410-b5e6-96231b3b80d8
commit 647636ff709918827317acb14e19f1f78731d140
Author: David Greene <greened@obbligato.org>
Date: Fri Dec 4 22:38:46 2009 +0000
Have hasLoad/StoreFrom/ToStackSlot return the relevant MachineMemOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90608 91177308-0d34-0410-b5e6-96231b3b80d8
commit 17bd7fec405d4836c56e7f36d46c89d7a19dc25f
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Dec 4 21:57:37 2009 +0000
Fix up some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90603 91177308-0d34-0410-b5e6-96231b3b80d8
commit fcb8eeed72b0f2838ccf134e814aad2feb254192
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Dec 4 21:51:35 2009 +0000
Fix 80-column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90601 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfd40e5a54cf4299c3ec340152e1ae0350530b37
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Dec 4 21:41:24 2009 +0000
OptParser: Emit HelpText field for option groups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90599 91177308-0d34-0410-b5e6-96231b3b80d8
commit c461971d6dea16b5a464a801979b133746016d2f
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Dec 4 21:03:02 2009 +0000
Some code cleanup. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90588 91177308-0d34-0410-b5e6-96231b3b80d8
commit deb54c890a835d61f87054cd0f0fd89929fd7207
Author: Victor Hernandez <vhernandez@apple.com>
Date: Fri Dec 4 20:07:10 2009 +0000
Avoid creating a metadata slot for all metadata that contains an instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90581 91177308-0d34-0410-b5e6-96231b3b80d8
commit 99298f61d3a280ade30c73faee24fd72e0cdc228
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 4 19:09:10 2009 +0000
Handle recursive PHI's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90575 91177308-0d34-0410-b5e6-96231b3b80d8
commit abf657c53cc476649c440c08edc622f71cbc61ba
Author: Victor Hernandez <vhernandez@apple.com>
Date: Fri Dec 4 18:29:23 2009 +0000
Fix crasher when N->getElement(n) is NULL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90572 91177308-0d34-0410-b5e6-96231b3b80d8
commit 371fcef75743c634263720bcd3a61a1615b90163
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 4 09:42:45 2009 +0000
Add a pre-regalloc tail duplication pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90567 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6941493d76d1aaaffb2d5d505eef249f9145d07b
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 4 09:23:37 2009 +0000
Don't try to be cute with undef optimization here. Let ProcessImplicitDefs handle it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90566 91177308-0d34-0410-b5e6-96231b3b80d8
commit c4c88cfd8ee8bff54a68d0642d671ea778782e6d
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Dec 4 08:42:17 2009 +0000
Add note about a subtle bug in this code. Does not effect the main
architectures that LLVM targets, because they don't use this code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90564 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f27b6231b04b85963be239e4b4e38a4ca4ad282
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Dec 4 08:17:07 2009 +0000
Fix typo and add missing include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90557 91177308-0d34-0410-b5e6-96231b3b80d8
commit 078fc85321a73e8e62dac97c35361306ffd0205c
Author: Andreas Neustifter <astifter@gmx.at>
Date: Fri Dec 4 06:58:24 2009 +0000
Added debug output for inherited passes that are invalidated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90553 91177308-0d34-0410-b5e6-96231b3b80d8
commit 14d122d1e12cccd89611132195c0c884ff20f08c
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Fri Dec 4 06:38:45 2009 +0000
Forward -m32/-m64 to the linker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90548 91177308-0d34-0410-b5e6-96231b3b80d8
commit b6244a12df638a1e891969f5d98c39061a4afedb
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Fri Dec 4 06:38:28 2009 +0000
Support -march/-mtune/-mcpu.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90547 91177308-0d34-0410-b5e6-96231b3b80d8
commit a9c1d1c0c9628ce3b99e16e610ec41affcbaf614
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Dec 4 06:29:29 2009 +0000
Fix PR5551 by not ignoring the top level constantexpr when
folding a load from constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90545 91177308-0d34-0410-b5e6-96231b3b80d8
commit 264a3832a12498c4cf895d43ca3642faea987617
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Dec 4 04:15:36 2009 +0000
add to cmake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90539 91177308-0d34-0410-b5e6-96231b3b80d8
commit f3271997b64f2881fbfb1152031ed2e14337ecba
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Dec 4 02:12:12 2009 +0000
Small and carefully crafted testcase showing a miscompilation by GVN
that I'm working on. This is manifesting as a miscompile of 255.vortex
on some targets. No check lines yet because it fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90520 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9003793e8d154cb9b14cc2391c46c68f97e2182c
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Dec 4 02:10:16 2009 +0000
add the start of a class used to handle phi translation in memdep and
gvn (this is just a skeleton so far). This will ultimately be used
to fix a nasty miscompilation with GVN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90518 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1358217bcbc89fe174040d453fbb63f4a2ca79d5
Author: Mike Stump <mrs@apple.com>
Date: Fri Dec 4 01:53:15 2009 +0000
Create yet another helper for Invoke.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90514 91177308-0d34-0410-b5e6-96231b3b80d8
commit 634753dbd76b1db3ed7a48af1d1fbc94da3daa93
Author: Victor Hernandez <vhernandez@apple.com>
Date: Fri Dec 4 01:35:02 2009 +0000
Teach AsmWriter to write inline (not via a global metadata slot) metadata that contains an instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90512 91177308-0d34-0410-b5e6-96231b3b80d8
commit a0c7dd2577afbb02d62879c8b6ac4ecd6d372d62
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Dec 4 01:33:04 2009 +0000
Fix a comment typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90511 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdbf27b90f3018b6bb3b66b3f58db960d445ef59
Author: Mike Stump <mrs@apple.com>
Date: Fri Dec 4 01:26:26 2009 +0000
Add some helpers for Invoke to mirror CreateCall helpers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90508 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6bf11742990180e29ca58bbe8f1149773ec6090a
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Dec 4 01:03:32 2009 +0000
add an assert to make it really clear what this is doing. Return singularval as
a compile time perf optimization to avoid a load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90507 91177308-0d34-0410-b5e6-96231b3b80d8
commit 88d11c3a214da464deb05eb17922d633e5af77a1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Dec 4 00:16:04 2009 +0000
Also attempt trivial coalescing for live intervals that end in a copy.
The coalescer is supposed to clean these up, but when setting up parameters
for a function call, there may be copies to physregs. If the defining
instruction has been LICM'ed far away, the coalescer won't touch it.
The register allocation hint does not always work - when the register
allocator is backtracking, it clears the hints.
This patch takes care of a few more cases that r90163 missed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90502 91177308-0d34-0410-b5e6-96231b3b80d8
commit 723be602ecdfde30a50c3afe1780575fdf8f0f56
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Dec 4 00:09:05 2009 +0000
- If the reaching definition is an undef and the use is a PHI, add the implicit_def to the end of the source block.
- When reaching value is replaced with another, update the cache as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90501 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4285ddbfd5fd218038058a6fdb2366ae3247a99d
Author: Devang Patel <dpatel@apple.com>
Date: Thu Dec 3 23:46:57 2009 +0000
Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90498 91177308-0d34-0410-b5e6-96231b3b80d8
commit 223c7146f919727a834a1fa5471f25ce169ab2a6
Author: Victor Hernandez <vhernandez@apple.com>
Date: Thu Dec 3 23:40:58 2009 +0000
Add ParseInlineMetadata() which can parses metadata that refers to an instruction. Extend ParseParameterList() to use this new function so that calls to llvm.dbg.declare can pass inline metadata
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90497 91177308-0d34-0410-b5e6-96231b3b80d8
commit d003075f1b3921f20ac9da8e0310afa4cd9b2f04
Author: Jim Grosbach <grosbach@apple.com>
Date: Thu Dec 3 21:55:01 2009 +0000
remove out of date FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90490 91177308-0d34-0410-b5e6-96231b3b80d8
commit 21d9a013924f79957deaa9dac748d722cc40b40a
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 3 21:51:55 2009 +0000
Handle undef values properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90489 91177308-0d34-0410-b5e6-96231b3b80d8
commit 886ea36230307f67689a2f318adf47ec80dd8be4
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 3 21:50:58 2009 +0000
Watch out for PHI instruction with no source operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90488 91177308-0d34-0410-b5e6-96231b3b80d8
commit 505f207509d2814d54c957bd9324c59b332f35ba
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Dec 3 21:47:07 2009 +0000
Fix a comment typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90487 91177308-0d34-0410-b5e6-96231b3b80d8
commit b956e74994c0d0e41f2862e79d96ec699de782de
Author: Duncan Sands <baldrick@free.fr>
Date: Thu Dec 3 21:37:32 2009 +0000
Fix ExpandShiftWithUnknownAmountBit, which was completely bogus.
Pointed out by Javier Martinez (who also provided a patch). Since
this logic is not used on (for example) x86, I guess nobody noticed.
Tested by generating SHL, SRL, SRA on various choices of i64 for all
possible shift amounts, and comparing with gcc. Since I did this on
x86-32, I had to force the use of ExpandShiftWithUnknownAmountBit.
What I'm saying here is that I don't have a testcase I can add to the
repository.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90482 91177308-0d34-0410-b5e6-96231b3b80d8
commit d0afa909ad8d1b108b4ad6925ca6b3a5de2817e2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Dec 3 20:49:10 2009 +0000
Clean up some loop logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90481 91177308-0d34-0410-b5e6-96231b3b80d8
commit 188c85dc4247e23ddaa63e055972253de3901fdb
Author: Devang Patel <dpatel@apple.com>
Date: Thu Dec 3 19:11:07 2009 +0000
Add support to emit debug info for virtual functions and virtual base classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90474 91177308-0d34-0410-b5e6-96231b3b80d8
commit 96d7b188600be74e1936f6ed871b1d83d017bbf8
Author: Dan Gohman <gohman@apple.com>
Date: Thu Dec 3 19:03:18 2009 +0000
Print a newline after the Args: line so that unrelated errs() output doesn't
end up on the same line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90473 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5e1265d554b730da926b3fee830c38e5dd9eefae
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Thu Dec 3 13:23:03 2009 +0000
Fix MSVC build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90454 91177308-0d34-0410-b5e6-96231b3b80d8
commit e047045d670b654099260d18939e7c997ef382b6
Author: Andreas Neustifter <astifter@gmx.at>
Date: Thu Dec 3 12:55:57 2009 +0000
Convert ProfileVerifier to template so it can be used for different types of ProfileInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90451 91177308-0d34-0410-b5e6-96231b3b80d8
commit f2aee46c884e3f2ef217f9c923eeb1f9b303f784
Author: Andreas Neustifter <astifter@gmx.at>
Date: Thu Dec 3 12:41:14 2009 +0000
Do not create negative edge weights in ProfileEstimator.
Use integer values for weights to prevent rounding errors.
Make ProfileEstimator more robust in general CFGs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90449 91177308-0d34-0410-b5e6-96231b3b80d8
commit eee658317491fb9c16588d9490a953cbe099099c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Dec 3 11:12:42 2009 +0000
Add an implementation of the delta debugging algorithm.
- This is a pretty slow / memory intensive implementation, and I will likely
change it to an iterative model, but it works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90447 91177308-0d34-0410-b5e6-96231b3b80d8
commit 86f33f89980cab23051ee961585883bb3627d7a8
Author: Andreas Neustifter <astifter@gmx.at>
Date: Thu Dec 3 11:00:37 2009 +0000
Use ProfileInfo-API in ProfileInfo Loader and do more assertions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90446 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c3770a68b8978d3b7ab6abe6176590b8bbbe59e
Author: Andreas Neustifter <astifter@gmx.at>
Date: Thu Dec 3 09:30:12 2009 +0000
Converted ProfileInfo to template, added more API for ProfileInfo-preserving.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90445 91177308-0d34-0410-b5e6-96231b3b80d8
commit e83c9b214205978873745b7368df84cf9f117996
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 3 08:43:53 2009 +0000
Teach tail duplication to update SSA form. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90432 91177308-0d34-0410-b5e6-96231b3b80d8
commit 112929ef9a90dece270087545a7b173e64dc6245
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 3 07:43:46 2009 +0000
expand note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90429 91177308-0d34-0410-b5e6-96231b3b80d8
commit dddb3a3b9e782e72a9568a31639ede110cf05131
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 3 07:41:54 2009 +0000
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90428 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea5d5940df6894c2efc4c6ac76700922df97d8b2
Author: Nate Begeman <natebegeman@mac.com>
Date: Thu Dec 3 07:11:29 2009 +0000
Don't pull vector sext through both hands of a logical operation, since doing so prevents the fusion of vector sext and setcc into vsetcc.
Add a testcase for the above transformation.
Fix a bogus use of APInt noticed while tracking this down.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90423 91177308-0d34-0410-b5e6-96231b3b80d8
commit 12fac174a70da350938ffa425d60e5f314ca5a8d
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 3 06:58:32 2009 +0000
fix a build problem with VC++, PR5664, patch by Alp Toker!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90419 91177308-0d34-0410-b5e6-96231b3b80d8
commit 171422980d99d7689b2cac01504b981e87b61905
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Dec 3 06:40:55 2009 +0000
Recognize canonical forms of vector shuffles where the same vector is used for
both source operands. In the canonical form, the 2nd operand is changed to an
undef and the shuffle mask is adjusted to only reference elements from the 1st
operand. Radar 7434842.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90417 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ac6732b47ec36df1b6d990a62d21da02fddee2b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Dec 3 05:15:35 2009 +0000
Don't call getValueType() on a null SDValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90415 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2c405b9b2073b226155ef3e928ffa4f07e69607d
Author: Owen Anderson <resistor@mac.com>
Date: Thu Dec 3 03:43:29 2009 +0000
Fix this crasher, and add a FIXME for a missed optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90408 91177308-0d34-0410-b5e6-96231b3b80d8
commit 615cc8769c570cab6cb910255c0fab10256cf272
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Dec 3 02:31:43 2009 +0000
Fill out codegen SSA updater. It's not yet tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90395 91177308-0d34-0410-b5e6-96231b3b80d8
commit ff1f7f7ab396cf2f68d64a7bc54d04f7dde178ae
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Dec 3 01:54:07 2009 +0000
Revert r90371. It was causing build failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90383 91177308-0d34-0410-b5e6-96231b3b80d8
commit 26f2fb73faa4634ef52b931f6581f127c79bc2f2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Dec 3 01:49:56 2009 +0000
Don't hang on to pointers or references after vector::push_back.
The MO reference to a MachineOperand can be invalidated by
MachineInstr::addOperand. Don't even use it for debugging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90381 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c17063f8a9795289eee9454110f066e225a72bd
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 3 01:46:18 2009 +0000
add a failing testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90380 91177308-0d34-0410-b5e6-96231b3b80d8
commit c1df879dbd07bb4d63e7cc6358ed73263c631c12
Author: Devang Patel <dpatel@apple.com>
Date: Thu Dec 3 01:25:38 2009 +0000
Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90375 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07af48541ca53034b99a5290bca9b8d45849860c
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Dec 3 01:15:46 2009 +0000
Further improvements: refactoring code that does the same thing into one
function, converting "dyn_cast" to "cast", asserting the correct things, and
other general cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90371 91177308-0d34-0410-b5e6-96231b3b80d8
commit 610e0bd83840b8254dbc2ad0a4ba352eca16a720
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 3 01:10:05 2009 +0000
yay for case insensitive file systems (?)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90370 91177308-0d34-0410-b5e6-96231b3b80d8
commit 56de6c29b3028dc1d6e5dc203292de7bb44275d5
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 3 01:05:45 2009 +0000
fix PR5673 by being more careful about pointers to functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90369 91177308-0d34-0410-b5e6-96231b3b80d8
commit a262eaa4f9eb214d28918a397c07a80b6158bf0b
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 3 00:55:04 2009 +0000
remove some dead std::ostream using code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90366 91177308-0d34-0410-b5e6-96231b3b80d8
commit b44b429549bc4c4f950d56d4f6fa0ba486856cc6
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Dec 3 00:50:42 2009 +0000
improve portability to avoid conflicting with std::next in c++'0x.
Patch by Howard Hinnant!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90365 91177308-0d34-0410-b5e6-96231b3b80d8
commit 56eb10842f19c43f3970f6f6ba2d8b7dbf4807e9
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Dec 3 00:17:12 2009 +0000
This initial code is meant to convert TargetData to use an AbstractTypesUser so
that it doesn't have dangling pointers when abstract types are resolved. This
modifies it somewhat to address comments: making the "StructLayoutMap" an
anonymous structure, calling "removeAbstractTypeUser" when appropriate, and
adding asserts where helpful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90362 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33221d9fcccbb6f41d5664fd0b89c9e6f71a0875
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Wed Dec 2 22:19:31 2009 +0000
Fix CMake makefiles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90354 91177308-0d34-0410-b5e6-96231b3b80d8
commit 023a88ee8ad038b8e7686187cee877299cdefbca
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Dec 2 22:02:52 2009 +0000
Skeleton for MachineInstr level SSA updater.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90353 91177308-0d34-0410-b5e6-96231b3b80d8
commit dd6fa9f3032a0781be6c8b4acd8aba62d5b96285
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Dec 2 22:02:20 2009 +0000
Remove unnecessary check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90352 91177308-0d34-0410-b5e6-96231b3b80d8
commit dee452ff502feea9a09247af651d25107748bc0e
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Dec 2 19:31:07 2009 +0000
Add MaxStackAlignment.cpp to CMake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90337 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4d20ee6d9a35d9498ad170c55ba714b346237a55
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Dec 2 19:30:24 2009 +0000
Factor the stack alignment calculations out into a target independent pass.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90336 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5eb5f091ab381b612c271a1683e6e0870394d0c4
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Dec 2 17:15:24 2009 +0000
Don't count PHI instructions toward the limit for tail duplicating a block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90326 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3168d8c736130382a1c7b92a452f3707cc69783a
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Dec 2 17:06:45 2009 +0000
Move EliminateDuplicatePHINodes() from SimplifyCFG.cpp to Local.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90324 91177308-0d34-0410-b5e6-96231b3b80d8
commit 00e637ba6ff6e9749f67cbed852462839d14241b
Author: Andreas Neustifter <astifter@gmx.at>
Date: Wed Dec 2 15:57:15 2009 +0000
Cheap, mostly strict, stable sorting.
This is necessary for tests so the results are comparable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90320 91177308-0d34-0410-b5e6-96231b3b80d8
commit aca44457101e481c0efc60e9e3f8a0c5a53e45aa
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Wed Dec 2 15:33:44 2009 +0000
Silence compiler warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90319 91177308-0d34-0410-b5e6-96231b3b80d8
commit df0f215750690b1c58f76b72f751d5a5c4da46d8
Author: Devang Patel <dpatel@apple.com>
Date: Wed Dec 2 15:25:16 2009 +0000
Clarify that DIEString does not keep a copy of the string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90318 91177308-0d34-0410-b5e6-96231b3b80d8
commit f187daf03250b0e1763bf07437d5048f6320789c
Author: Owen Anderson <resistor@mac.com>
Date: Wed Dec 2 07:35:19 2009 +0000
Cleanup/remove some parts of the lifetime region handling code in memdep and GVN,
per Chris' comments. Adjust testcases to match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90304 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc6fccc2682a75a1dcbf8904334bc3b137fdc213
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 2 06:44:58 2009 +0000
factor some code better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90299 91177308-0d34-0410-b5e6-96231b3b80d8
commit 648dc5a2106ef92818f54ef831ac051f7d238264
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 2 06:35:55 2009 +0000
formatting cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90298 91177308-0d34-0410-b5e6-96231b3b80d8
commit 262590904ae923498bc704da374110de14289a2a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 2 06:05:42 2009 +0000
tidy up, remove dependence on order of evaluation of function args from EmitMemCpy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90297 91177308-0d34-0410-b5e6-96231b3b80d8
commit 53f9966b7a5454affde814ceb105c7f26f330617
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 2 05:34:35 2009 +0000
merge sext-2 into sext.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90293 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4f7fc4e0d23f3c2feb72d872843465c572774479
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 2 05:32:33 2009 +0000
rename test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90292 91177308-0d34-0410-b5e6-96231b3b80d8
commit 79e59484e54d1fb722525de5f7e23101e128e1b8
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Dec 2 05:32:16 2009 +0000
filecheckize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90291 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3adb22982168a536036386dc27dd0522f0839658
Author: Mon P Wang <wangmp@apple.com>
Date: Wed Dec 2 04:59:58 2009 +0000
Fixed an assertion failure for tracking sext of a vector of integers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90290 91177308-0d34-0410-b5e6-96231b3b80d8
commit 69668fe63a3e714b363c251307dc34e243b1d101
Author: Devang Patel <dpatel@apple.com>
Date: Tue Dec 1 23:09:02 2009 +0000
Add utility routine to create subprogram definition entry from subprogram declaration entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90282 91177308-0d34-0410-b5e6-96231b3b80d8
commit 920ffac27e66522138cddf6aac63f4965c8103dd
Author: Devang Patel <dpatel@apple.com>
Date: Tue Dec 1 23:07:59 2009 +0000
Reuse existing subprogram DIE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90281 91177308-0d34-0410-b5e6-96231b3b80d8
commit b05c79891c16cf8f9b86fc0a35e496f398ec5ebb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 1 22:51:41 2009 +0000
return more useful error messages by using strerror to format errno
instead of returning an ambiguous reason.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90275 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad60d2d9e46713fde0421b91ebcd0a1369b142e5
Author: Eric Christopher <echristo@apple.com>
Date: Tue Dec 1 22:28:41 2009 +0000
Update per Bill's comments. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90271 91177308-0d34-0410-b5e6-96231b3b80d8
commit 578f3231d6c9ba6d6bd8c683033748cf4d68b623
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 1 22:25:00 2009 +0000
Fix PR5391: support early clobber physical register def tied with a use (ewwww)
- A valno should be set HasRedefByEC if there is an early clobber def in the middle of its live ranges. It should not be set if the def of the valno is defined by an early clobber.
- If a physical register def is tied to an use and it's an early clobber, it just means the HasRedefByEC is set since it's still one continuous live range.
- Add a couple of missing checks for HasRedefByEC in the coalescer. In general, it should not coalesce a vr with a physical register if the physical register has a early clobber def somewhere. This is overly conservative but that's the price for using such a nasty inline asm "feature".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90269 91177308-0d34-0410-b5e6-96231b3b80d8
commit 79affd8fb46d75087c98aa4095dfc207c820d9f1
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Dec 1 21:53:51 2009 +0000
test case for IV-Users simplification loop improvement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90260 91177308-0d34-0410-b5e6-96231b3b80d8
commit 536fff516dd00816acf36d0b118e391a119e182b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 1 21:16:01 2009 +0000
rename some variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90258 91177308-0d34-0410-b5e6-96231b3b80d8
commit 39380bfcb91f84d404d5adbf38e4b3916769cd82
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 1 21:15:15 2009 +0000
tidy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90257 91177308-0d34-0410-b5e6-96231b3b80d8
commit 69be7878c045ac40c9c847fe8d04f44e51663c04
Author: Dan Gohman <gohman@apple.com>
Date: Tue Dec 1 19:20:00 2009 +0000
Add edge source labels to SelectionDAG graphs, now that the graph printing
framework omits differentiated edge sources in the case where the labels
are empty strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90254 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8cb3747a8bb51ba03b38cf87e606e2bb33032d6e
Author: Dan Gohman <gohman@apple.com>
Date: Tue Dec 1 19:16:15 2009 +0000
Minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90253 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0bf95848e06bdfa04ec8a28cc22730ae139b9786
Author: Dan Gohman <gohman@apple.com>
Date: Tue Dec 1 19:13:27 2009 +0000
Trim an unnecessary #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90252 91177308-0d34-0410-b5e6-96231b3b80d8
commit 584f5f5e52830802e809b1c03c48de7dcdf87c4a
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Dec 1 19:11:36 2009 +0000
Don't default warnings to ON on MSVC, the spew is enough to triple the build time. :/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90251 91177308-0d34-0410-b5e6-96231b3b80d8
commit 67533ab25e3fd9b66779dee173f5cb3cfb93cb99
Author: Devang Patel <dpatel@apple.com>
Date: Tue Dec 1 18:13:48 2009 +0000
Clear function specific containers while processing end of a function, even if DW_TAG_subprogram for current function is not found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90247 91177308-0d34-0410-b5e6-96231b3b80d8
commit a0fb7c4e1ae9b7c87037bc6a72adce439d23484c
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Dec 1 18:10:36 2009 +0000
Thumb1 exception handling setjmp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90246 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6e1b1ad3abeb24f6da12afe63ac7a1074c1e3dbf
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Dec 1 17:37:06 2009 +0000
For VLDM/VSTM (Advanced SIMD), set encoding bits Inst{11-8} to 0b1011.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90243 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a929cf5ff12aac2838d89389e1a90fceb731437
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Dec 1 17:13:31 2009 +0000
Move PHIElimination::isLiveOut method to LiveVariables.
We want LiveVariables clients to use methods rather than accessing the
getVarInfo data structure directly. That way it will be possible to change the
LiveVariables representation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90240 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdb7736af562a153a1a3821737ec86876f0a817e
Author: Gabor Greif <ggreif@gmail.com>
Date: Tue Dec 1 15:53:33 2009 +0000
typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90236 91177308-0d34-0410-b5e6-96231b3b80d8
commit f3798876dfe29818e97cff43cba6785648253867
Author: Gabor Greif <ggreif@gmail.com>
Date: Tue Dec 1 12:53:56 2009 +0000
demonstrate usage of Cases() mapping several strings to the same value; remove trailing spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90230 91177308-0d34-0410-b5e6-96231b3b80d8
commit 24dd55c3e41c2d655eefe760c446d9e24e44c287
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 1 09:47:11 2009 +0000
Add relocation model options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90222 91177308-0d34-0410-b5e6-96231b3b80d8
commit 977dffe8fde833b6c312d14b40d619e33d6ba866
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 1 09:19:09 2009 +0000
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90221 91177308-0d34-0410-b5e6-96231b3b80d8
commit 825f4e1e87f1afff90a026ffe0876eff313bcf56
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Tue Dec 1 08:43:33 2009 +0000
Fix copy paste bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90220 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf50d21c781661a1637c48dbe4e2a412764729f3
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 1 07:33:32 2009 +0000
fix 255.vortex again, third time's the charm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90217 91177308-0d34-0410-b5e6-96231b3b80d8
commit 39e844369d0a07edab15cf20037d6da328f8bd6c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 1 07:30:01 2009 +0000
minimize this a bit more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90216 91177308-0d34-0410-b5e6-96231b3b80d8
commit 488fe85c61807145b2d052a9104ceca80e17df74
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 1 06:51:30 2009 +0000
Forward -save-temps to llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90214 91177308-0d34-0410-b5e6-96231b3b80d8
commit 333b7e1d9e904eff9b98e20984cbd8439b86282f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 1 06:22:10 2009 +0000
merge 2009-11-29-ReverseMap.ll into crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90212 91177308-0d34-0410-b5e6-96231b3b80d8
commit a0cb431faf56460af265f0d9b92b7d7e49eb75b4
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 1 06:04:43 2009 +0000
fix PR5640 by tracking whether a block is the header of a loop more
precisely, which prevents us from infinitely peeling the loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90211 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5a25c251af8588b170f76e7e479cdc947ca924e5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Dec 1 05:59:55 2009 +0000
Support -[weak_]framework and -F in llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90210 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6cb75ac35fdf87efaf27010947a6b19fae785ff4
Author: Eric Christopher <echristo@apple.com>
Date: Tue Dec 1 03:18:26 2009 +0000
Remove the gcc builtins from the intrinsics, we'll lower them
explicitly so we can check arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90199 91177308-0d34-0410-b5e6-96231b3b80d8
commit c79abe2ba9e6bd0909b9a00eddb54a8d500ec11c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Dec 1 03:03:00 2009 +0000
Use CFG connectedness as a secondary sort key when deciding the order of copy coalescing.
This means that well connected blocks are copy coalesced before the less connected blocks. Connected blocks are more difficult to
coalesce because intervals are more complicated, so handling them first gives a greater chance of success.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90194 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b958caea8cf2cd06c543188b32fd3f17bcd5652
Author: Eric Christopher <echristo@apple.com>
Date: Tue Dec 1 02:26:01 2009 +0000
Add a soft link so that in an apple style build we can find libLTO.dylib.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90189 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3b581b33c31386a16bd1ae4ff121b0908e43c64a
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Tue Dec 1 02:21:51 2009 +0000
Add two CMake flags LLVM_ENABLE_PEDANTIC and LLVM_ENABLE_WERROR,
PEDANTIC defaults to ON and WERROR default to off.
Also add MSVC warnings. To disable warnings add the flags
LLVM_ENABLE_WARNINGS (default on).
Patch by Tobias Grosser!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90188 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8bceade9b026d229b621399e196e8376396d0b7
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Dec 1 01:56:27 2009 +0000
fix PR5649 by making fib use the JIT instead of the interpreter, patch by Perry Lorier!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90186 91177308-0d34-0410-b5e6-96231b3b80d8
commit b7aaf7b998d0006b775c3e494ea4b6d614f3ef81
Author: Dan Gohman <gohman@apple.com>
Date: Tue Dec 1 01:38:10 2009 +0000
Add a comment about A[i+(j+1)].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90185 91177308-0d34-0410-b5e6-96231b3b80d8
commit 05837cdf183324700fbe8231a655e9f7101057c6
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 1 00:59:58 2009 +0000
Remove some validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90184 91177308-0d34-0410-b5e6-96231b3b80d8
commit d90060edfdeaadf4563de2521221c201924e1790
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Dec 1 00:53:11 2009 +0000
Some formatting and spelling fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90182 91177308-0d34-0410-b5e6-96231b3b80d8
commit af20e7cfb5d44c7a0caad3a152978fcca1f4b438
Author: Dan Gohman <gohman@apple.com>
Date: Tue Dec 1 00:45:56 2009 +0000
Devang pointed out that this code should use DIScope instead of
DICompileUnit. This code now prints debug filenames successfully.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90181 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1e99614c66e92b4f6c26531b8c84e0f42a35c902
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Dec 1 00:44:45 2009 +0000
Fix PR5614: parts of a physical register def may be killed the rest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90180 91177308-0d34-0410-b5e6-96231b3b80d8
commit de4b5d00385da6273b0902e9385928b99aeda670
Author: Devang Patel <dpatel@apple.com>
Date: Tue Dec 1 00:13:06 2009 +0000
Test case for r90175.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90176 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf4fad276042adc440ff0d119b9fb67a94814ccf
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Dec 1 00:02:02 2009 +0000
For VMOV (immediate), make some of the encoding bits (cmode and op) unspecified.
For VMOVv*i[16,32], op bit is don't care, and some cmode bits vary depending on
the immediate values.
Ref: Table A7-15 Modified immediate values for Advanced SIMD instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90173 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76b806763b89ea64337bd967614662a72f237191
Author: Devang Patel <dpatel@apple.com>
Date: Mon Nov 30 23:56:56 2009 +0000
If pointer type has a name then do not ignore the name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90172 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63c90f69fe61ee5b0ff0ee8acf73274452da933e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Mon Nov 30 23:50:14 2009 +0000
* CMakeLists.txt: Adds warnings flags for g++. Fixes PR 5647.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90170 91177308-0d34-0410-b5e6-96231b3b80d8
commit a86f9f058bf09127b7cf306770c353a6ffc41b3f
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Mon Nov 30 23:48:51 2009 +0000
* cmake/modules/LLVMLibDeps.cmake: Updated library dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90169 91177308-0d34-0410-b5e6-96231b3b80d8
commit 26219b78e2e252a08c7c59aceb05a86751cdf20e
Author: Dan Gohman <gohman@apple.com>
Date: Mon Nov 30 23:33:53 2009 +0000
Minor whitespace fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90166 91177308-0d34-0410-b5e6-96231b3b80d8
commit 66fe2bca32f043bf5bd15c732c80627621d7abb7
Author: Dan Gohman <gohman@apple.com>
Date: Mon Nov 30 23:33:37 2009 +0000
Fix a minor inconsistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90165 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ff03c6950bb5ed48831ad9cd6b53fcd9fe7dfa8
Author: Dan Gohman <gohman@apple.com>
Date: Mon Nov 30 23:30:43 2009 +0000
Fix typos in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90164 91177308-0d34-0410-b5e6-96231b3b80d8
commit c6e14f94aae2689841a94bc7aa059a8771e53867
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Mon Nov 30 22:55:54 2009 +0000
New virtual registers created for spill intervals should inherit allocation hints from the original register.
This helps us avoid silly copies when rematting values that are copied to a physical register:
leaq _.str44(%rip), %rcx
movq %rcx, %rsi
call _strcmp
becomes:
leaq _.str44(%rip), %rsi
call _strcmp
The coalescer will not touch the movq because that would tie down the physical register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90163 91177308-0d34-0410-b5e6-96231b3b80d8
commit 180e3e4b507427ba5d81408a064adc5a3055557f
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Nov 30 22:23:29 2009 +0000
Debug info is disabled on PPC Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90160 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3d0daa24dde6984c75c7fe1933653429169418f4
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Nov 30 18:56:45 2009 +0000
Reprioritize tests for tail duplication to be aggressive about indirect
branches even when optimizing for code size. Unless we find evidence to the
contrary in the future, the special treatment for indirect branches does not
have a significant effect on code size, and performance still matters with -Os.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90147 91177308-0d34-0410-b5e6-96231b3b80d8
commit 90868102bf6144cae08570ddcb96099d9d63c06d
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Nov 30 18:35:03 2009 +0000
Remove isProfitableToDuplicateIndirectBranch target hook. It is profitable
for all the processors where I have tried it, and even when it might not help
performance, the cost is quite low. The opportunities for duplicating
indirect branches are limited by other factors so code size does not change
much due to tail duplicating indirect branches aggressively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90144 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3bff42e81121019af3ba61a13f087bba6ed37c54
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Nov 30 17:47:19 2009 +0000
Fix some more ARM unified syntax warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90141 91177308-0d34-0410-b5e6-96231b3b80d8
commit 49462255e92b03de36a013dd23845d9c8e35821c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Mon Nov 30 15:52:29 2009 +0000
Fix odd declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90138 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf4ea99c2887e55d18206e093bccdc43636c9b1b
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Mon Nov 30 13:34:51 2009 +0000
Fix last DOTGraphTraits problems in CompilationGraph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90136 91177308-0d34-0410-b5e6-96231b3b80d8
commit f9b1114ae03b624deb0ed6e6d1bb26cc2cd2685e
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Mon Nov 30 13:14:13 2009 +0000
Remove forgotten ShortNames in Trie and CompilationGraph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90135 91177308-0d34-0410-b5e6-96231b3b80d8
commit 810b18c4cc8b022f79f0dd886cc9092a3e4f6d2c
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Mon Nov 30 12:38:47 2009 +0000
Remove ShortNames from getNodeLabel in DOTGraphTraits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90134 91177308-0d34-0410-b5e6-96231b3b80d8
commit e2c3aec2cf16ee6ea233d3ec13a83e71e21523b9
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Mon Nov 30 12:38:13 2009 +0000
Instantiate DefaultDOTGraphTraits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90133 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd748c9df057cd33fe255b9ff81e720518f82cb3
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Mon Nov 30 12:37:39 2009 +0000
Do not point edge heads to source labels
If no destination label is available, just point to the node itself
instead of pointing to some source label. Source and destination labels are
not related in any way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90132 91177308-0d34-0410-b5e6-96231b3b80d8
commit 989dd8528652afdfcf5125f7d206bc0f075861e7
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Mon Nov 30 12:24:40 2009 +0000
Only print edgeSourceLabels if they are not empty
Graphviz can layout the graphs better if a node does not contain source
ports. Therefore only print the ports if the source ports are useful,
that means are not labeled with the empty string "".
This patch also simplifies graphs without any edgeSourceLabels e.g. the
dominance trees.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90131 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d6054ab3ef09773025dbcee2b923913a73a919d
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Mon Nov 30 12:06:37 2009 +0000
Small PostDominatorTree improvements
* Do not SEGFAULT if tree entryNode() is NULL
* Print function names in dotty printer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90130 91177308-0d34-0410-b5e6-96231b3b80d8
commit e148e0b0e803768e12df1884159f143bf08f6e40
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date: Mon Nov 30 11:55:24 2009 +0000
Remove ":" after BB name in -view-cfg-only
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90129 91177308-0d34-0410-b5e6-96231b3b80d8
commit 767a372b1df0e26fbbe0dd8d3667e85d98c91109
Author: Eric Christopher <echristo@apple.com>
Date: Mon Nov 30 08:03:53 2009 +0000
First pass at llvm.objectsize documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90116 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9ae7435b67e6375d2e72cb4bd43955c0a58edad
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Nov 30 07:05:51 2009 +0000
Revert r90107, fixing test/Transforms/GVN/2009-11-29-ReverseMap.ll and the
llvm-gcc build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90113 91177308-0d34-0410-b5e6-96231b3b80d8
commit 30a3e84e9b7aca47aaee2ed11bc20cf6336bd189
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Nov 30 07:02:18 2009 +0000
Add a testcase for the current llvm-gcc build failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90112 91177308-0d34-0410-b5e6-96231b3b80d8
commit 21c4cada89c23d0c6c943d7044d045c279804c05
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Nov 30 04:23:17 2009 +0000
Remove the 'simple jit' tutorial as it wasn't really being maintained and its
material is covered by the Kaleidoscope tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90111 91177308-0d34-0410-b5e6-96231b3b80d8
commit f950eb5454f482bc93a1d58b179f3e9be707e686
Author: Mon P Wang <wangmp@apple.com>
Date: Mon Nov 30 02:42:27 2009 +0000
Add test case for r90108
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90109 91177308-0d34-0410-b5e6-96231b3b80d8
commit c707f3ff7cdb427155b7ca707a3efd2c8b34bcd1
Author: Mon P Wang <wangmp@apple.com>
Date: Mon Nov 30 02:42:02 2009 +0000
Added support to allow clients to custom widen. For X86, custom widen vectors for
divide/remainder since these operations can trap by unroll them and adding undefs
for the resulting vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90108 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1f454174e8ad32da74193471ca079a12c2bb18d
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Nov 30 02:26:29 2009 +0000
reapply r90093 with an addition of keeping the forward
and reverse nonlocal memdep maps in synch, this should
fix 255.vortex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90107 91177308-0d34-0410-b5e6-96231b3b80d8
commit bfd72282b887511b8d0859777a6ca9851e062a85
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Nov 30 02:23:57 2009 +0000
Fix this test on 64-bit systems which seem to use i64 for gep indices sometimes
while 32-bit gcc uses i32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90106 91177308-0d34-0410-b5e6-96231b3b80d8
commit f215dece88649838a64b0d7740184713c487cf54
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Nov 30 00:38:56 2009 +0000
Commit r90099 made LLVM simplify one of these constant expressions a little
more. Update the syntax we're checking for and filecheckize it too.
This will fix the selfhost buildbots but will 'break' the others (sigh) because
they're still linked against older LLVM which is emitting less optimized IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90104 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0425dc773b82135ec8b6e5e6a5140c06de86c6ce
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Sun Nov 29 21:40:55 2009 +0000
Teach ConstantFolding to do a better job when folding gep(bitcast).
This permits the devirtualization of llvm.org/PR3100#c9 when compiled by clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90099 91177308-0d34-0410-b5e6-96231b3b80d8
commit c04f8adbc1539eb593879d8e0f8977ac5155e605
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Sun Nov 29 21:17:48 2009 +0000
Revert r90089 for now, it's breaking selfhost.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90097 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9b4ba06f907aac7ef1991e339ff4c262a301047f
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 21:14:59 2009 +0000
revert this patch for now, it causes failures of:
LLVM::Transforms/GVN/2009-02-17-LoadPRECrash.ll
LLVM::Transforms/GVN/2009-06-17-InvalidPRE.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90096 91177308-0d34-0410-b5e6-96231b3b80d8
commit 02507fdead4d86a04c1c914549b2d2ab295c47c7
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 21:09:36 2009 +0000
Fix a really nasty caching bug I introduced in memdep. An entry
was being added to the Result vector, but not being put in the
cache. This means that if the cache was reused wholesale for a
later query that it would be missing this entry and we'd do an
incorrect load elimination.
Unfortunately, it's not really possible to write a useful
testcase for this, but this unbreaks 255.vortex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90093 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7719b59199b6920ada130675f658bf3ec8521cd6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Sun Nov 29 20:29:30 2009 +0000
Fix two FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90089 91177308-0d34-0410-b5e6-96231b3b80d8
commit eac76e8c39d2f6370692677fdfc59c7d62e29e07
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Sun Nov 29 18:10:39 2009 +0000
Detabify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90085 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9e73b69d560efe55408748561f294bfed36d7079
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Sun Nov 29 17:42:58 2009 +0000
Remove dead returns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90083 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfd64f93fe4a893fe6ffda056c825d0a9e3f272a
Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
Date: Sun Nov 29 17:19:48 2009 +0000
This patch ensures that Path::GetMainExecutable is able to handle the
case where realpath() fails. When this occurs we segfault trying to
create a std::string from a NULL pointer.
Fixes PR5635.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90082 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7143f3420c2832c342182ec8e5b87a4e5a19f99c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sun Nov 29 08:30:24 2009 +0000
Fix FileCheck crash when fuzzy scanning starting at the end of the file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90065 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbbf1b238bc38c26fc4f7b53a26e0d0538880d8a
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 02:57:29 2009 +0000
add testcases for the foo_with_overflow op xforms added recently and
fix bugs exposed by the tests. Testcases from Alastair Lynn!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90056 91177308-0d34-0410-b5e6-96231b3b80d8
commit 565b96428b6e7af0b87275a81471c5395fcbdc16
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 02:44:33 2009 +0000
mark all the 'foo with overflow' intrinsics as readnone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90055 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8aa4c019b5bb50ba9a3a5e2188a64081beb2f02b
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 02:19:52 2009 +0000
update and consolidate the load pre notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90050 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6756dffb3a4685abfaa0455078c4d8f4c33ddc28
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 01:28:58 2009 +0000
add PR#
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90049 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea7509881f1e6d5efaa80638b0a5ab5290c77651
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 01:15:43 2009 +0000
Add a testcase for:
void test(int N, double* G) {
long j;
for (j = 1; j < N - 1; j++)
G[j] = G[j] + G[j+1] + G[j-1];
}
which we now compile to one load in the loop:
LBB1_2: ## %bb
movsd 16(%rsi,%rax,8), %xmm2
incq %rdx
addsd %xmm2, %xmm1
addsd %xmm1, %xmm0
movapd %xmm2, %xmm1
movsd %xmm0, 8(%rsi,%rax,8)
incq %rax
cmpq %rcx, %rax
jne LBB1_2
instead of:
LBB1_2: ## %bb
movsd 8(%rsi,%rax,8), %xmm0
addsd 16(%rsi,%rax,8), %xmm0
addsd (%rsi,%rax,8), %xmm0
movsd %xmm0, 8(%rsi,%rax,8)
incq %rax
cmpq %rcx, %rax
jne LBB1_2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90048 91177308-0d34-0410-b5e6-96231b3b80d8
commit 96bd9d9931be198b46c3197b67ed02aefc734bd4
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 01:04:40 2009 +0000
add a testcase for
void test9(int N, double* G) {
long j;
for (j = 1; j < N - 1; j++)
G[j+1] = G[j] + G[j+1];
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90047 91177308-0d34-0410-b5e6-96231b3b80d8
commit 163e6ab29947e801b555e688e19af8460c8c7903
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Nov 29 00:51:17 2009 +0000
Implement PR5634.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90046 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2dbc3f24619726bb5def46ed36116ed5bbb2ac85
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Sat Nov 28 21:27:49 2009 +0000
Teach memdep to look for memory use intrinsics during dependency queries. Fixes
PR5574.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90045 91177308-0d34-0410-b5e6-96231b3b80d8
commit 80c535b9194e1ce2927ca9b55d010a8fcb5833b3
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Nov 28 16:08:18 2009 +0000
reenable load address insertion in load pre. This allows us to
handle cases like this:
void test(int N, double* G) {
long j;
for (j = 1; j < N - 1; j++)
G[j+1] = G[j] + G[j+1];
}
where G[1] isn't live into the loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90041 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1c2de2bd49cd56c50c9251f22727a126dea78f43
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Nov 28 15:39:14 2009 +0000
Enhance InsertPHITranslatedPointer to be able to return a list of newly
inserted instructions. No functionality change until someone starts using it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90039 91177308-0d34-0410-b5e6-96231b3b80d8
commit c343983d722c5552dea693c85bf62406217dc097
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Nov 28 15:12:41 2009 +0000
implement a FIXME: limit the depth that DecomposeGEPExpression goes the same
way that getUnderlyingObject does it.
This fixes the 'DecomposeGEPExpression and getUnderlyingObject disagree!'
assertion on sqlite3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90038 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed81875b336e7ec36612a2ae49fbbdf7867f08d2
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Nov 28 14:54:10 2009 +0000
enable code to handle un-phi-translatable cases more aggressively:
if we don't have an address expression available in a predecessor,
then model this as the value being clobbered at the end of the pred
block instead of being modeled as a complete phi translation failure.
This is important for PRE of loads because we want to see that the
load is available in all but this predecessor, and complete phi
translation failure results in not getting any information about
predecessors.
This doesn't do anything until I renable code insertion since PRE
now sees that it is available in all but one predecessors, but can't
insert the addressing in the predecessor that is missing it to
eliminate the redundancy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90037 91177308-0d34-0410-b5e6-96231b3b80d8
commit de0b030de1873764c1f3571b75b5f75125ac35f8
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 22:50:07 2009 +0000
disable value insertion for now, I need to figure out how
to inform GVN about the newly inserted values. This fixes
PR5631.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90022 91177308-0d34-0410-b5e6-96231b3b80d8
commit a5bef157088fc71eeb2a968272d270cb94169524
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 22:05:15 2009 +0000
Rework InsertPHITranslatedPointer to handle the recursive case, this
fixes PR5630 and sets the stage for the next phase of goodness (testcase
pending).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90019 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3037e0ade3201ff57bc4f486e7dfacc6b7459d47
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 20:25:30 2009 +0000
recursively phi translate bitcast operands too, for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90016 91177308-0d34-0410-b5e6-96231b3b80d8
commit e386372015e237a1e98f843920cf8d6449e0b444
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Fri Nov 27 19:57:53 2009 +0000
Oops! Fix bug introduced in my recent cleanup change. Thanks to Tobias Grosser
for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90015 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0c40e546d78a7f0cb9e42588afcd8a664a816108
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 19:56:00 2009 +0000
I accidentally implemented this :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90014 91177308-0d34-0410-b5e6-96231b3b80d8
commit d91a9144369b73ed3e066695ad922abc76b5f7de
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 19:11:31 2009 +0000
add support for recursive phi translation and phi
translation of add with immediate. This allows us
to optimize this function:
void test(int N, double* G) {
long j;
G[1] = 1;
for (j = 1; j < N - 1; j++)
G[j+1] = G[j] + G[j+1];
}
to only do one load every iteration of the loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90013 91177308-0d34-0410-b5e6-96231b3b80d8
commit f198db016d5b8c1fb5f225f644efb5f5198c2471
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 18:08:30 2009 +0000
add two simple test cases we now optimize (to one load in the loop each) and one we don't (corresponding to the fixme I added yesterday).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90012 91177308-0d34-0410-b5e6-96231b3b80d8
commit 96076f73dbddf62f2bed35458afc5fbd5628a5e2
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 17:42:22 2009 +0000
factor some logic out of instcombine into a new SimplifyAddInst method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90011 91177308-0d34-0410-b5e6-96231b3b80d8
commit 15aec3314b05e3d68f73fcc95b88fd4b9baad6b3
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 17:12:30 2009 +0000
add a deadargelim note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90009 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7d147914a609049f7cda4a5c5ee8ee8abbde4782
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 16:53:57 2009 +0000
This testcase is actually only partially redundant, and requires
the FIXME I added yesterday to be implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90008 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8c800c00ef9a6054218b11e5e1d65205b1297115
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 16:37:41 2009 +0000
fix PR5436 by making the 'simple' case of SRoA not promote out of range
array indexes. The "complex" case of SRoA still handles them, and correctly.
This fixes a weirdness where we'd correctly avoid transforming A[0][42] if
the 42 was too large, but we'd only do it if it was one gep, not two separate
ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90007 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3ad93b0636e31b90c74c658673130d1b6a4ffd8e
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Nov 27 16:31:59 2009 +0000
filecheckize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90006 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1da9984b8f8bec04ec77e96ea4b9e1b358f9f4a2
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Nov 27 16:04:14 2009 +0000
While this test is testing a problem in the generic part of codegen,
the problem only shows for msp430 and pic16 which is why it specifies
them using -march. But it is wrong to put such tests in CodeGen/Generic,
since not everyone builds these targets. Put a copy of the test in each
of the target test directories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90005 91177308-0d34-0410-b5e6-96231b3b80d8
commit 87598b02a90f8027b59afb1433ae3e828e19c72a
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Nov 27 13:38:03 2009 +0000
Vector types are no longer required to have a power-of-two length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90004 91177308-0d34-0410-b5e6-96231b3b80d8
commit 59b538afbdb86d62b1caa0f549401cb1583101fa
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Nov 27 12:33:22 2009 +0000
These code generator limitations have been removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90003 91177308-0d34-0410-b5e6-96231b3b80d8
|
16 years ago |
|
|
363aa4de5f |
Cherry-pick LLVM upstream commit r90748.
commit 4aafc85f5a94802c121050ec113973249e295577
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Mon Dec 7 05:29:59 2009 +0000
Fixes the Atomic implementation if compiled by MSVC compiler.
sys::cas_flag should be long on this platform, InterlockedAdd() is
defined only for the Itanium architecture (according to MSDN).
Patch by Michael Beck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90748 91177308-0d34-0410-b5e6-96231b3b80d8
|
16 years ago |
|
|
419e2be44d |
icon scan interface rework
|
16 years ago |
|
|
e9dfa5d9d8 |
Update CMake files for the stripped LLVM we use.
To save space (and built time!) we don't import the entire LLVM into libclamav, so update the CMakeLists. |
16 years ago |
|
|
ed4a336e2c |
More build fixes.
|
16 years ago |
|
|
b1948471a1 |
Fix win32 and mac osx build.
|
16 years ago |
|
|
29cbf0787b |
stdint.h -> cltypes.h
|
16 years ago |
|
|
3ff75dbf0c |
Add clambc to the win32 build.
|
16 years ago |
|
|
d0934caf99 |
Distcheck fixes.
|
16 years ago |