1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 14:33:02 +02:00
Commit Graph

33397 Commits

Author SHA1 Message Date
Dan Gohman
928144b051 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.

llvm-svn: 38478
2007-07-10 00:05:58 +00:00
Owen Anderson
2106613ce6 Add an assertion if find_leader fails.
llvm-svn: 38477
2007-07-09 23:57:18 +00:00
Owen Anderson
1ab53d5ee7 When resizing a BitVector with size 0, be sure to clear the low word before using it.
llvm-svn: 38476
2007-07-09 23:39:39 +00:00
Owen Anderson
8d4339f8db 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!

llvm-svn: 38475
2007-07-09 22:29:50 +00:00
Owen Anderson
31bda05073 Make the assignment operator for SmallPtrSet much faster for normal cases.
llvm-svn: 38474
2007-07-09 22:27:20 +00:00
Dan Gohman
150487b166 Preserve volatililty and alignment information when lowering or
simplifying loads and stores.

llvm-svn: 38473
2007-07-09 22:18:38 +00:00
Devang Patel
65f3717db9 Expose struct size threhold to allow users to tweak their own setting.
llvm-svn: 38472
2007-07-09 21:19:23 +00:00
Dan Gohman
81cfdc2f19 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.

llvm-svn: 38471
2007-07-09 20:59:04 +00:00
Owen Anderson
e48ed4f7a8 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.

llvm-svn: 38470
2007-07-09 20:59:01 +00:00
Devang Patel
f1b6294e80 Fix memory leak.
llvm-svn: 38469
2007-07-09 20:52:39 +00:00
Dan Gohman
be352027e6 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.

llvm-svn: 38468
2007-07-09 20:49:44 +00:00
Owen Anderson
e12cbdb0be Fix an error in the assignment operator that was causing an infinite loop in GVNPRE.cpp.
Patch by Chis Lattner.

llvm-svn: 38467
2007-07-09 18:51:15 +00:00
Chris Lattner
9ce649f66e force a cpu without SSE
llvm-svn: 38466
2007-07-09 17:35:18 +00:00
Chris Lattner
5f21d8c4a8 allow this to work on ppc-darwin
llvm-svn: 38465
2007-07-09 17:32:28 +00:00
Chris Lattner
587e824b72 remove this bogus t-t
llvm-svn: 38464
2007-07-09 17:31:07 +00:00
Chris Lattner
4810c53b05 The various "getModuleMatchQuality" implementations should return
zero if they see a target triple they don't understand.

llvm-svn: 38463
2007-07-09 17:25:29 +00:00
Chris Lattner
d1f424ccfb add target triple to fix PR1546
llvm-svn: 38462
2007-07-09 17:14:58 +00:00
Chris Lattner
39e93bf0e0 work around an aparent gcc name resolution bug by
detemplatizing this.

llvm-svn: 38461
2007-07-09 17:11:53 +00:00
Chris Lattner
97ba0c99ed implement operator= for smallptrset
llvm-svn: 38460
2007-07-09 16:54:03 +00:00
Owen Anderson
08020078f3 Fix a comment.
llvm-svn: 38459
2007-07-09 16:43:55 +00:00
Chris Lattner
aff9a84b7a 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.

llvm-svn: 38458
2007-07-09 16:16:34 +00:00
Dan Gohman
4e45063081 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.

llvm-svn: 38457
2007-07-09 15:25:17 +00:00
Dan Gohman
3f7558673e Fix a typo in a comment.
llvm-svn: 38456
2007-07-09 15:15:24 +00:00
Dan Gohman
b73f9e21e9 Add explicit triples to these tests so that llc behaves as expected on
non-Apple hosts.

llvm-svn: 38455
2007-07-09 13:42:32 +00:00
Gabor Greif
0c10b17f03 missed this one
llvm-svn: 38454
2007-07-09 12:20:30 +00:00
Gabor Greif
89919e17b4 fix typos
llvm-svn: 38453
2007-07-09 12:00:59 +00:00
Gabor Greif
5a0d9f3667 eliminated all references to 'bytecode' from .pod files
llvm-svn: 38452
2007-07-09 11:24:05 +00:00
Reid Spencer
5ca021347d Remove the cvsupdate script. Its no longer useful in the face of
tools such as svn info and svn status.

llvm-svn: 38446
2007-07-09 08:31:14 +00:00
Reid Spencer
ac3cda8aef Regenerate.
llvm-svn: 38444
2007-07-09 08:10:07 +00:00
Reid Spencer
3c56682067 cvs -> svn
llvm-svn: 38443
2007-07-09 08:09:21 +00:00
Reid Spencer
f9208e46d2 Subversionify the documentation.
llvm-svn: 38442
2007-07-09 08:04:31 +00:00
Owen Anderson
25d57adc4a Improve a hotspot that was making build_sets() slower by calling lookup() too
often.  This improves Anton's testcase from 36s to 32s.

llvm-svn: 38441
2007-07-09 07:56:55 +00:00
Reid Spencer
1db5c92d36 Subversionify the script.
llvm-svn: 38440
2007-07-09 07:41:11 +00:00
Owen Anderson
f695fa9257 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.

llvm-svn: 38439
2007-07-09 06:50:06 +00:00
Reid Spencer
9f434c9cc2 Bytecode -> Bitcode
llvm-svn: 38438
2007-07-09 06:45:18 +00:00
Reid Spencer
0563f22a8d Minor language change upgrader -> upgrade tool
llvm-svn: 38437
2007-07-09 06:42:22 +00:00
Reid Spencer
75d98805d7 This dir does not appear under /docs anymore but under /cmds so use an
absolute path to the llvm.css file.

llvm-svn: 38436
2007-07-09 06:32:55 +00:00
Reid Spencer
4d8ef9fc75 Links for commands are now generated into /cmds/ URL.
llvm-svn: 38435
2007-07-09 06:31:51 +00:00
Reid Spencer
6f4f964955 Fix some minor typos.
llvm-svn: 38434
2007-07-09 06:14:11 +00:00
Reid Spencer
23bd3fe3f2 Fix some typos.
llvm-svn: 38433
2007-07-09 06:06:45 +00:00
Reid Spencer
23408fd350 Fix a typo.
llvm-svn: 38432
2007-07-09 06:01:20 +00:00
Reid Spencer
371d39bce1 Fix a typo.
llvm-svn: 38431
2007-07-09 05:58:08 +00:00
Reid Spencer
087f4f5691 Fix some minor typos, again to test the auto-update of the web site.
llvm-svn: 38430
2007-07-09 05:52:49 +00:00
Reid Spencer
c1faa26daf Remove an unneeded space, mostly to verify that auto-update of the
documentation is working.

llvm-svn: 38429
2007-07-09 05:33:45 +00:00
Reid Spencer
786fdee6e5 Install things needed by llvm-top to allow successful building
of llvm from that level.

llvm-svn: 38423
2007-07-08 03:50:22 +00:00
Reid Spencer
3b27649f0f LLVM needs ModuleInfo.txt as well.
llvm-svn: 38422
2007-07-08 00:59:00 +00:00
Owen Anderson
30fc1decdc Fix an error where ANTIC_OUT was ending up with more than one expression of
the same value number.  This fixes an infinite loop on 444.namd.

llvm-svn: 37967
2007-07-07 20:13:57 +00:00
Nick Lewycky
dc39ec317a Back out Devang's fix for PR1320 because it causes PR1542.
llvm-svn: 37966
2007-07-07 16:23:34 +00:00
Evan Cheng
d9d3be078c No need for ccop anymore.
llvm-svn: 37965
2007-07-06 23:34:09 +00:00
Evan Cheng
4c7b04f24d Teach if-conversion about instructions that were already predicated, e.g. conditional move.
llvm-svn: 37964
2007-07-06 23:24:39 +00:00