summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* *FINALLY* Fix a really nasty nondeterministic bug that has been haunting usChris Lattner2004-06-211-6/+7
| | | | | | | | | | | since May 1st. In this code, the pred iterator was being invalidated sometimes causing the wrong entries to be added to PHI nodes. The fix for this is to defererence and safe the *PI value before we hack on branch instructions, which changes use/def chains, which SOMETIMES invalidates the iterator. llvm-svn: 14278
* Comment out the isnan stuff until we get a proper autoconf test for itChris Lattner2004-06-211-1/+7
| | | | | | breaking the build on sparc is not acceptable. llvm-svn: 14277
* Make order of argument addition deterministic. In particular, the layoutChris Lattner2004-06-211-10/+35
| | | | | | | of ConstantInt objects in memory used to determine which order arguments were added in in some cases. llvm-svn: 14276
* REALLY fix PR378: crash in scalar evolution analysisChris Lattner2004-06-201-0/+1
| | | | llvm-svn: 14275
* Added a note about requiring QMTest 2.0.3 instead of any other version.Reid Spencer2004-06-201-1/+3
| | | | llvm-svn: 14274
* Bug fixedChris Lattner2004-06-201-0/+1
| | | | llvm-svn: 14273
* Fix a bug in my change last night that caused a few test failures.Chris Lattner2004-06-201-1/+1
| | | | llvm-svn: 14270
* IntrinsicLowering.cpp now lives in lib/CodeGen/Chris Lattner2004-06-201-214/+0
| | | | llvm-svn: 14269
* Update pathChris Lattner2004-06-201-2/+2
| | | | llvm-svn: 14268
* Header moved into the CodeGen directoryChris Lattner2004-06-201-73/+0
| | | | llvm-svn: 14267
* Move the IntrinsicLowering header into the CodeGen directory, as per PR346Chris Lattner2004-06-2014-15/+230
| | | | llvm-svn: 14266
* Move the IntrinsicLowering header into the CodeGen directoryChris Lattner2004-06-201-1/+1
| | | | llvm-svn: 14265
* Start moving IntrinsicLowering out of VMCore into libcodegen, as per PR346Chris Lattner2004-06-201-0/+73
| | | | llvm-svn: 14264
* Do not sort SCEV objects by address: instead sort by complexity and groupChris Lattner2004-06-201-18/+60
| | | | | | | by address. This prevents the resultant SCEV objects from depending on where in memory other scev objects happen to live. llvm-svn: 14263
* Make use of BinaryOperator::create* methods to shrinkify code.Chris Lattner2004-06-201-21/+14
| | | | llvm-svn: 14262
* Add methods like BinaryOperator::createAdd that take an instruction to insertChris Lattner2004-06-201-0/+6
| | | | | | before. llvm-svn: 14261
* Fix the inliner to be deterministic, not letting its output depend on theChris Lattner2004-06-201-4/+3
| | | | | | relative location of Function objects in memory. llvm-svn: 14260
* Make fpcmp handle running off of the beginning or end of the file correctly.Chris Lattner2004-06-201-3/+35
| | | | llvm-svn: 14259
* Add some DEBUG output to the simplifycfg routinesChris Lattner2004-06-201-14/+13
| | | | | | | Fix another non-deterministic behavior, this one should actually speed up the code though as it was doing silly things. llvm-svn: 14258
* A utility to search the LLVM source tree for a grep pattern. This is aReid Spencer2004-06-191-0/+22
| | | | | | | | | | | replacement for getsrcs.sh which now generates too much text to put on a Linux command line. The approach taken with llvmgrep is to execute a find command and execute a grep on each file that matches the name pattern. The arguments to this script are the same as those of egrep. Note that the -H and -n options to egrep will always be passed so that you always get the file and line number of matches. llvm-svn: 14255
* Now that dominator tree children are built in determinstic order, this ↵Chris Lattner2004-06-191-16/+2
| | | | | | | | horrible code can go away llvm-svn: 14254
* compute dominator tree children in a deterministic order that does not dependChris Lattner2004-06-191-11/+12
| | | | | | | | | | | | | | | | | on the address of BasicBlock objects in memory. This eliminates stuff like this: Inorder Dominator Tree: [1] %entry [2] %loopentry - [3] %loopexit [3] %no_exit - [4] %endif [4] %then + [4] %endif + [3] %loopexit [3] %return llvm-svn: 14253
* Print out immediate dominators in program order, not in random order based ↵Chris Lattner2004-06-191-7/+5
| | | | | | | | on the address of BasicBlock objects llvm-svn: 14252
* This will hopefully fix a heisenbug that Vladimir Merzliakov is runningChris Lattner2004-06-191-0/+1
| | | | | | into valiantly trying to compile stuff on freebsd. llvm-svn: 14251
* Add a note about GCC 3.3.2 optimization bug that causes llc to spin.Reid Spencer2004-06-191-1/+7
| | | | llvm-svn: 14250
* Fix a nasty bug, noticed by ReidChris Lattner2004-06-191-1/+1
| | | | llvm-svn: 14249
* Fix one source of nondeterminism in the -licm pass: the hoist passChris Lattner2004-06-191-2/+16
| | | | | | | was processing blocks in whatever order they happened to end up in the dominator tree data structure. Force an ordering. llvm-svn: 14248
* Change to use the StableBasicBlockNumbering classChris Lattner2004-06-191-15/+7
| | | | llvm-svn: 14247
* Initial checkin of the StableBasicBlockNumbering, a little helper class for ↵Chris Lattner2004-06-191-0/+70
| | | | | | | | computing (strangely enough) a stable (determinstic) numbering for basic blocks. llvm-svn: 14246
* Fix a tiny bug in the -no-aa pass, in which it did not ever get a target data.Chris Lattner2004-06-191-9/+8
| | | | | | This is a regression from 1.2, though noone uses -no-aa anyway llvm-svn: 14245
* Do not let the numbering of PHI nodes placed in the function depend onChris Lattner2004-06-191-2/+36
| | | | | | | | | | | | | | | | | | | non-deterministic things like the ordering of blocks in the dominance frontier of a BB. Unfortunately, I don't know of a better way to solve this problem than to explicitly sort the BB's in function-order before processing them. This is guaranteed to slow the pass down a bit, but is absolutely necessary to get usable diffs between two different tools executing the mem2reg or scalarrepl pass. Before this, bazillions of spurious diff failures occurred all over the place due to the different order of processing PHIs: - %tmp.111 = getelementptr %struct.Connector_struct* %upcon.0.0, uint 0, uint 0 + %tmp.111 = getelementptr %struct.Connector_struct* %upcon.0.1, uint 0, uint 0 Now, the diffs match. llvm-svn: 14244
* Do not sort by the address of LLVM ConstantInt* objects. This producesChris Lattner2004-06-191-10/+21
| | | | | | | | | | | | | | | | | | | | | | nondeterministic results that depend on where these objects land in memory. Instead, sort by the value of the constant, which is stable. Before this patch, the -simplifycfg pass run from two different compilers could cause different code to be generated, though it was semantically the same: @@ -12258,8 +12258,8 @@ %s_addr.1 = phi sbyte* [ %s, %entry ], [ %inc.0, %no_exit ] ; <sbyte*> [#uses=5] %tmp.1 = load sbyte* %s_addr.1 ; <sbyte> [#uses=1] switch sbyte %tmp.1, label %no_exit [ - sbyte 0, label %loopexit sbyte 46, label %loopexit + sbyte 0, label %loopexit ] We need to stomp all of this stuff out. llvm-svn: 14243
* Do not loop over uses as we delete them. This causes iterators to beChris Lattner2004-06-191-3/+2
| | | | | | invalidated out from under us. This bug goes back to revision 1.1: scary. llvm-svn: 14242
* Bug fixedChris Lattner2004-06-191-1/+4
| | | | llvm-svn: 14241
* Test for PR374Chris Lattner2004-06-191-0/+8
| | | | llvm-svn: 14240
* Fix relative link to the CVS mirrors.Misha Brukman2004-06-181-2/+3
| | | | llvm-svn: 14239
* Add link to the CVS mirror hosted by ReidChris Lattner2004-06-181-1/+16
| | | | llvm-svn: 14238
* Add link documenting shared/static library differences across platforms.Misha Brukman2004-06-181-3/+2
| | | | llvm-svn: 14237
* Bug fixedChris Lattner2004-06-181-0/+2
| | | | llvm-svn: 14236
* Capitalize Cygwin.Misha Brukman2004-06-181-4/+4
| | | | llvm-svn: 14235
* * Fix file header and nameMisha Brukman2004-06-181-8/+8
| | | | | | * Order #includes alphabetically llvm-svn: 14234
* Use the machine-independent method of querying the page size.Misha Brukman2004-06-181-1/+2
| | | | llvm-svn: 14233
* Add a target-independent way to query page size.Misha Brukman2004-06-181-0/+49
| | | | llvm-svn: 14232
* .zero doesn't work in the Solaris assembler.Brian Gaeke2004-06-181-5/+2
| | | | llvm-svn: 14231
* Get rid of selects the easy wayBrian Gaeke2004-06-181-0/+6
| | | | llvm-svn: 14230
* Make visitAllocaInst() look more like its X86 counterpart.Brian Gaeke2004-06-181-3/+11
| | | | llvm-svn: 14229
* Mess around with allocation order. In particular, I think we ought to beBrian Gaeke2004-06-181-3/+3
| | | | | | using the local & in regs first because they are not clobbered by calls. llvm-svn: 14228
* JMPL has a delay slot.Brian Gaeke2004-06-181-0/+1
| | | | llvm-svn: 14227
* Clean up the commented-out F3_3 stuff.Brian Gaeke2004-06-181-5/+4
| | | | | | Replace it with a working class for FP instrs. llvm-svn: 14226
* Fix jmpl.Brian Gaeke2004-06-181-3/+7
| | | | | | Add some FP moves. llvm-svn: 14225
OpenPOWER on IntegriCloud