Commit Graph

33343 Commits

Author SHA1 Message Date
Dan Gohman
2038252c6a Define non-intrinsic instructions for vector min, max, sqrt, rsqrt, and rcp,
in addition to the intrinsic forms. Add spill-folding entries for these new
instructions, and for the scalar min and max instrinsic instructions which
were missing. And add some preliminary ISelLowering code for using the new
non-intrinsic vector sqrt instruction, and fneg and fabs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38478 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-10 00:05:58 +00:00
Owen Anderson
5fd507d431 Add an assertion if find_leader fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38477 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 23:57:18 +00:00
Owen Anderson
0c81450a0c When resizing a BitVector with size 0, be sure to clear the low word before using it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38476 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 23:39:39 +00:00
Owen Anderson
dfa2435784 Take advantage of the new fast SmallPtrSet assignment operator when propagating AVAIL_OUT sets.
This reduces the time to optimize Anton's testcase from 31.2s to 21.s!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38475 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 22:29:50 +00:00
Owen Anderson
69b5d12676 Make the assignment operator for SmallPtrSet much faster for normal cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38474 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 22:27:20 +00:00
Dan Gohman
d6fd1bc122 Preserve volatililty and alignment information when lowering or
simplifying loads and stores.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38473 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 22:18:38 +00:00
Devang Patel
ff366850aa Expose struct size threhold to allow users to tweak their own setting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38472 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 21:19:23 +00:00
Dan Gohman
532dc2e1f2 Change getCopyToParts and getCopyFromParts to always use target-endian
register ordering, for both physical and virtual registers. Update the PPC
target lowering for calls to expect registers for the call result to
already be in target order.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38471 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 20:59:04 +00:00
Owen Anderson
4d6f96d699 Make the assignment operator for SmallPtrSet return a reference, and fix a long-standing bug in the copy
ctor while I'm at it.

Thanks to Chris Lattner for help with this patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38470 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 20:59:01 +00:00
Devang Patel
b42295df4d Fix memory leak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38469 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 20:52:39 +00:00
Dan Gohman
93f81e2822 Initialize the IndexedModeActions array with memset before
updating it with calls to setIndexedLoadAction/setIndexedStoreAction,
which only update a few bits at a time. This avoids ostensible
undefined behavior of operationg on values which may be
trap-representations, and as a practical matter fixes errors from
valgrind, which doesn't track uninitialized memory with bit
granularity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38468 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 20:49:44 +00:00
Owen Anderson
da8ebc6b43 Fix an error in the assignment operator that was causing an infinite loop in GVNPRE.cpp.
Patch by Chis Lattner.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38467 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 18:51:15 +00:00
Chris Lattner
ba7721633c force a cpu without SSE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38466 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 17:35:18 +00:00
Chris Lattner
349d4c8d66 allow this to work on ppc-darwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38465 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 17:32:28 +00:00
Chris Lattner
4857b1b320 remove this bogus t-t
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38464 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 17:31:07 +00:00
Chris Lattner
87bdba6d6a The various "getModuleMatchQuality" implementations should return
zero if they see a target triple they don't understand.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38463 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 17:25:29 +00:00
Chris Lattner
0f9d599dc9 add target triple to fix PR1546
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38462 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 17:14:58 +00:00
Chris Lattner
95fd3189f8 work around an aparent gcc name resolution bug by
detemplatizing this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38461 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 17:11:53 +00:00
Chris Lattner
91f0158d4d implement operator= for smallptrset
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38460 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 16:54:03 +00:00
Owen Anderson
ab3fd054ea Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38459 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 16:43:55 +00:00
Chris Lattner
e094f54f4c Fix this warning:
DAGCombiner.cpp: In member function 'llvm::SDOperand<unnamed>::DAGCombiner::visitOR(llvm::SDNode*)':
DAGCombiner.cpp:1608: warning: passing negative value '-0x00000000000000001' for argument 1 to 'llvm::SDOperand llvm::SelectionDAG::getConstant(uint64_t, llvm::MVT::ValueType, bool)'

oiy.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38458 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 16:16:34 +00:00
Dan Gohman
9a6ae965d6 Move the APInt form of SCEVUnknown::getIntegerSCEV to SCEVConstant::get, and
use SCEVConstant::get instead of SCEVUnknown::get when constructing a SCEV
for a ConstantInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38457 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 15:25:17 +00:00
Dan Gohman
2c8c3e2e31 Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38456 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 15:15:24 +00:00
Dan Gohman
2a69a04afa Add explicit triples to these tests so that llc behaves as expected on
non-Apple hosts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38455 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 13:42:32 +00:00
Gabor Greif
b0954b1580 missed this one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38454 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 12:20:30 +00:00
Gabor Greif
e510b3af3a fix typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38453 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 12:00:59 +00:00
Gabor Greif
3bd6e0d9da eliminated all references to 'bytecode' from .pod files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38452 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 11:24:05 +00:00
Reid Spencer
751d173e17 Update the svn:ignore property to eliminate all files
that start with svn-commit. because there can be several of them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38451 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:49:26 +00:00
Reid Spencer
f92e29c9f9 Add more svn:ignore property values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38450 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:47:45 +00:00
Reid Spencer
bb86b913a2 More svn:ignore property restorations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38449 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:46:01 +00:00
Reid Spencer
3db4b0c1d1 Restore properties I accidentally deleted with the last commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38448 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:44:12 +00:00
Reid Spencer
a7eed5a3f6 Set the svn:ignore property to ignore the Debug, Release, and
Release-Asserts sub-directories in all directories that build code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38447 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:34:37 +00:00
Reid Spencer
4b51fb98e5 Remove the cvsupdate script. Its no longer useful in the face of
tools such as svn info and svn status.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38446 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:31:14 +00:00
Reid Spencer
53b2486c8f Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38444 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:10:07 +00:00
Reid Spencer
35515e4854 cvs -> svn
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38443 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:09:21 +00:00
Reid Spencer
669ed45029 Subversionify the documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38442 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:04:31 +00:00
Owen Anderson
b9eeb1acbc Improve a hotspot that was making build_sets() slower by calling lookup() too
often.  This improves Anton's testcase from 36s to 32s.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38441 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 07:56:55 +00:00
Reid Spencer
0793b36fd6 Subversionify the script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38440 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 07:41:11 +00:00
Owen Anderson
0616dffd64 Start using a set representation that remembers the set of value numbers represented
in the set.  For the moment, this results in a slight performance decrease, but
it lays the groundwork for future improvements.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38439 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:50:06 +00:00
Reid Spencer
9be269c8cb Bytecode -> Bitcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38438 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:45:18 +00:00
Reid Spencer
7d3985416f Minor language change upgrader -> upgrade tool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38437 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:42:22 +00:00
Reid Spencer
c69f777645 This dir does not appear under /docs anymore but under /cmds so use an
absolute path to the llvm.css file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38436 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:32:55 +00:00
Reid Spencer
6e8b5721fd Links for commands are now generated into /cmds/ URL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:31:51 +00:00
Reid Spencer
6232c03354 Fix some minor typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38434 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:14:11 +00:00
Reid Spencer
35931ae073 Fix some typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:06:45 +00:00
Reid Spencer
c867dfbb38 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:01:20 +00:00
Reid Spencer
ec5cf811b7 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38431 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 05:58:08 +00:00
Reid Spencer
5d1960c3d8 Fix some minor typos, again to test the auto-update of the web site.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38430 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 05:52:49 +00:00
Reid Spencer
1d1975331e Remove an unneeded space, mostly to verify that auto-update of the
documentation is working.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38429 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 05:33:45 +00:00
Reid Spencer
51cf6426bf Install things needed by llvm-top to allow successful building
of llvm from that level.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38423 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-08 03:50:22 +00:00