summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Build the SelectionDAG libraryChris Lattner2003-08-111-1/+1
| | | | llvm-svn: 7718
* Initial checkin of SelectionDAG implementation. This is still rough andChris Lattner2003-08-113-0/+332
| | | | | | unfinished llvm-svn: 7717
* Make imm be a leaf instead of a nonterminalChris Lattner2003-08-101-2/+2
| | | | llvm-svn: 7708
* close() requires "unistd.h" .Misha Brukman2003-08-071-0/+1
| | | | llvm-svn: 7695
* Doxygen-ify the comments by using '///' instead of '//'.Misha Brukman2003-08-071-5/+5
| | | | llvm-svn: 7694
* Remove references to `bugpoint' from the now-generic system utilities.Misha Brukman2003-08-071-7/+8
| | | | llvm-svn: 7693
* Moved removeFile() and getUniqueFilename() into FileUtilities.Misha Brukman2003-08-072-36/+36
| | | | llvm-svn: 7691
* Implement LLVM intrinsics `llvm.setjmp' and `llvm.longjmp' as follows:Misha Brukman2003-08-071-4/+18
| | | | | | | * setjmp() simply returns 0 * longjmp() simply calls abort() llvm-svn: 7676
* Fix assertion in MachineInstr::substituteValue().Vikram S. Adve2003-08-071-2/+2
| | | | llvm-svn: 7675
* Fix sanity-checking in 'maskUnsigned' code to be more precise:Vikram S. Adve2003-08-071-2/+12
| | | | | | | use or def-and-use operands can be substituted after one def-only operand has been substituted. llvm-svn: 7674
* Fixed a segfault in gccld.John Criswell2003-08-071-2/+4
| | | | | | | | The original code does not work because the value from WorkList.end() is invalidated once WorkList.erase() is called. To ensure proper functionality, we must ensure that WorkList.erase() is always called before WorkList.end(). llvm-svn: 7673
* Update tablegen interfacesChris Lattner2003-08-071-37/+53
| | | | llvm-svn: 7672
* Added code for pool allocating only the pool-allocatable data structures in ↵Sumant Kowshik2003-08-071-12/+46
| | | | | | the presence of collapsed nodes + a couple of bug fixes llvm-svn: 7662
* This register is never used, disable it.Chris Lattner2003-08-071-2/+2
| | | | llvm-svn: 7661
* Changing command-line option formats to be more consistent with LLVM style.Misha Brukman2003-08-061-3/+3
| | | | llvm-svn: 7658
* * Renamed option from `nopreselect' to `nopreopt' since it disables more thanMisha Brukman2003-08-061-6/+10
| | | | | | | | just PreSelection * Wrapped code at 80 columns * Added the DecomposeMultiDimRefs Pass to the JIT compilation path llvm-svn: 7657
* Use the registers g1 and g5 as temporaries for making far jumps and far calls,Misha Brukman2003-08-061-64/+48
| | | | | | | | | | | because saving i1 and i2 to their ``designated'' stack slots corrupts unknown memory in other functions, standard libraries, and worse. In addition, this has the benefit of improving JIT performance because we eliminate writing out 4 instructions in CompilationCallback() and 2 loads and 2 stores. llvm-svn: 7653
* Add a bunch of new Alpha Intrinsics for Rahul JoshiChris Lattner2003-08-062-8/+43
| | | | llvm-svn: 7646
* 1. Bug fix: was using SLL instead of SLLX for ULongTy. Chump.Vikram S. Adve2003-08-061-70/+87
| | | | | | | | | | | 2. Handle fp-to-uint conversions directly here instead of relying on a pre-transformation to replace them with the 2-step conversion. 3. Use size rather than explicitly checking types when deciding what opcodes to use, wherever possible. This is less error prone (the bug fix above was not the first time!). 4. Float-to-pointer casts shd now work though this hasn't been tested. llvm-svn: 7645
* Remove conversion of fp-to-uint cast into a multi-step cast:Vikram S. Adve2003-08-061-29/+0
| | | | | | | this is not an optional transformation on SPARC and is now handled directly by instruction selection. llvm-svn: 7644
* The HAVE_JUMP code is dead, these intrinsics should _never_ be expandedChris Lattner2003-08-061-23/+6
| | | | llvm-svn: 7642
* Remove unnecessary use of NonCopyableChris Lattner2003-08-062-9/+7
| | | | llvm-svn: 7641
* SparcV9CodeEmitter.cpp:Misha Brukman2003-08-062-213/+169
| | | | | | | | | | | | | | * Doxygen-ified comments * Added capability to make far calls (i.e., beyond 30 bits in CALL instr) which implies that we need to delete function references that were added by the call to addFunctionReference() because the actual call instruction is 10 instructions away (thanks to 64-bit address construction) * Cleaned up code that generates far jumps by using an array+loop SparcV9CodeEmitter.h: * Explained more of the side-effects of emitFarCall() llvm-svn: 7639
* Completely eliminate the isVoid TSFlag, shifting over all other fieldsChris Lattner2003-08-062-33/+34
| | | | llvm-svn: 7636
* add a pattern for RET, immediates no longer need to be explicitly typedChris Lattner2003-08-061-10/+10
| | | | llvm-svn: 7635
* Start adding usefulness to the DAG node definitions, add a new ExpanderChris Lattner2003-08-061-14/+51
| | | | | | class llvm-svn: 7634
* Use a new local data structure instead of the MachineInstr::regsUsed setChris Lattner2003-08-051-8/+7
| | | | llvm-svn: 7621
* Add a mapChris Lattner2003-08-051-0/+4
| | | | llvm-svn: 7620
* Minor cleanupsChris Lattner2003-08-051-23/+22
| | | | llvm-svn: 7619
* Physical registers no longer live in the regsUsed set for each machine instrChris Lattner2003-08-051-18/+30
| | | | llvm-svn: 7618
* Do not insert physical regsiters into the regsUsed setChris Lattner2003-08-051-3/+0
| | | | llvm-svn: 7617
* Fixed minor bug in SafeToHoist and made some changes suggested by Chris.Tanya Lattner2003-08-051-19/+10
| | | | llvm-svn: 7614
* Fixed LICM bug that hoists trapping instructions that are not guaranteed to ↵Tanya Lattner2003-08-051-5/+59
| | | | | | execute. llvm-svn: 7612
* Minor changes:Chris Lattner2003-08-051-52/+48
| | | | | | | * Expand most tabs into spaces * Move #define DEBUG_TYPE to top of file to avoid warning llvm-svn: 7611
* Add more verbose commentChris Lattner2003-08-051-10/+9
| | | | llvm-svn: 7610
* Added function mergeInGlobalsGraph which merges in the entire globals graph ↵Sumant Kowshik2003-08-051-0/+29
| | | | | | with the graph of a function llvm-svn: 7606
* Major bug fixes including a memory leak and tracking some exceptional ↵Sumant Kowshik2003-08-051-83/+317
| | | | | | conditions. Also added support for including global and indirect call information in the DS graphs used by the pool allocation llvm-svn: 7605
* Specify DEBUG_TYPE's for the JIT debug messagesChris Lattner2003-08-052-0/+2
| | | | llvm-svn: 7604
* This method has now been changed to preserve flags for us!Chris Lattner2003-08-051-5/+2
| | | | llvm-svn: 7603
* All callers of these methods actually wanted them to preserve the flags,Chris Lattner2003-08-051-26/+5
| | | | | | | | | so get rid of the def/use parameters that were getting passed in. **** This now changes the semantics of these methods to preserve the flags, not clobber them! llvm-svn: 7602
* Factor shared codeChris Lattner2003-08-051-8/+4
| | | | llvm-svn: 7600
* Fix bug: SimplifyCFG/2003-08-05-InvokeCrash.llChris Lattner2003-08-051-1/+2
| | | | | | Fix bug: SimplifyCFG/2003-08-05-MishandleInvoke.ll llvm-svn: 7599
* * Removed `using' declaration, now use full namespace qualifier std::stringMisha Brukman2003-08-051-43/+43
| | | | | | * Simplified code by using an inline function instead of copy-pasted code llvm-svn: 7597
* Implement TODO: print out short form of Invoke if possibleChris Lattner2003-08-051-8/+23
| | | | llvm-svn: 7595
* * Set annul bit to be 0, because the Sparc backend currently does not use it.Misha Brukman2003-08-051-5/+5
| | | | | | | * Use the name of the predict field instead of just the const 1 in the Instruction. llvm-svn: 7592
* Fix bugs handling ESP in alloca referencesChris Lattner2003-08-051-3/+6
| | | | llvm-svn: 7591
* Revert previous change, and be really anal about what physical registers can do.Chris Lattner2003-08-051-27/+19
| | | | llvm-svn: 7588
* This is the real fix for the previous register allocator problem.Chris Lattner2003-08-053-1/+4
| | | | | | Physical registers should not float around. llvm-svn: 7587
* Reformatted code to match the prevalent LLVM style; fit code into 80 columns.Misha Brukman2003-08-051-72/+62
| | | | llvm-svn: 7586
* ElectricFence found this bug where we were reading past the vector boundary.Misha Brukman2003-08-041-1/+1
| | | | llvm-svn: 7585
OpenPOWER on IntegriCloud