summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug: InstCombine/2003-06-22-ConstantExprCrash.llChris Lattner2003-06-221-1/+7
| | | | llvm-svn: 6857
* Add paranoia checkingChris Lattner2003-06-221-1/+1
| | | | llvm-svn: 6856
* Test changeChris Lattner2003-06-221-0/+1
| | | | llvm-svn: 6852
* Initial checkin of Tail duplication pass.Chris Lattner2003-06-221-0/+324
| | | | llvm-svn: 6846
* Do not use the inefficient, fixed function, CBW, CDQ, ... instructionsChris Lattner2003-06-221-2/+4
| | | | llvm-svn: 6844
* Remove a ton of extraneous #includesChris Lattner2003-06-222-5/+1
| | | | llvm-svn: 6842
* Remove support for the MultiObject flag, which was fundamentally brokenChris Lattner2003-06-224-14/+3
| | | | llvm-svn: 6840
* Instcombine cast (getelementptr Ptr, 0, 0, 0) to ... into: cast Ptr to ...Chris Lattner2003-06-211-0/+17
| | | | | | | This fixes type safety problems in a variety of benchmarks that were confusing DSA. llvm-svn: 6837
* Minor simplification to 64-bit instselChris Lattner2003-06-211-4/+4
| | | | llvm-svn: 6831
* For 16 and 32-bit multiplies, use the IMUL instruction instead of the MUL ↵Chris Lattner2003-06-211-21/+11
| | | | | | | | instruction. This allows us to not force the use of the EAX/AX registers! llvm-svn: 6830
* Add IMULr16 & IMULr32 instructionsChris Lattner2003-06-211-7/+9
| | | | llvm-svn: 6829
* Generate code for LONG indexes to getelementptr instructions more efficientlyChris Lattner2003-06-211-1/+25
| | | | llvm-svn: 6828
* Some preprocessors doen't support // comments and get confusedChris Lattner2003-06-201-1/+1
| | | | llvm-svn: 6821
* Fix the build. :(Chris Lattner2003-06-201-3/+3
| | | | llvm-svn: 6797
* RDCCR defines arg. #1, not arg. #2.Vikram S. Adve2003-06-201-1/+1
| | | | llvm-svn: 6796
* Changes to privatize NodeTypeChris Lattner2003-06-191-6/+6
| | | | llvm-svn: 6795
* * Changes to make NodeType be private to DSNode.Chris Lattner2003-06-195-76/+107
| | | | | | | | * Add new MultiObject flag to DSNode which keeps track of whether or not multiple objects have been merged into the node, allowing must-alias info to be tracked. llvm-svn: 6794
* Fix output bug: Intel asm comment character is #, not ;.Brian Gaeke2003-06-191-1/+1
| | | | llvm-svn: 6792
* RECAPITALIZE all the names of pseudo-instructions, and add a comment explainingBrian Gaeke2003-06-191-14/+17
| | | | | | | | the convention. :-) llvm-svn: 6791
* Rename many instructions to their Intel asm-compatible names. ThisBrian Gaeke2003-06-191-49/+49
| | | | | | | | | involves removing the [bwl] suffixes from instruction names, as well as some other distinguishing marks (32/64/80 on fp insns, _i suffixes, etc.) Lowercase all instr. names as well for consistency's sake. llvm-svn: 6790
* Add Initialization and Finalization methods for the Printer pass,Brian Gaeke2003-06-191-3/+26
| | | | | | | | | | | | to print various things on a module-by-module basis (currently, only the former is used). Don't print < > around names. The assembler can't take it. Print pseudoinstructions only as comments. The poor little assembler can't take that, either. llvm-svn: 6789
* Remove usage of sys/unistd.hChris Lattner2003-06-192-2/+1
| | | | llvm-svn: 6788
* Implement the functionality of InstCombine/call.llChris Lattner2003-06-191-1/+145
| | | | llvm-svn: 6783
* Remove a bunch of complicated code. The functionality is implemented in ↵Chris Lattner2003-06-191-118/+6
| | | | | | instcombine instead llvm-svn: 6782
* lib/Target/X86/X86TargetMachine.{cpp,h}: Add initial versionBrian Gaeke2003-06-182-0/+15
| | | | | | (non-working) of llc guts for X86, and add a prototype for it. llvm-svn: 6779
* lib/Target/Sparc/Sparc.cpp:Brian Gaeke2003-06-181-1/+22
| | | | | | | | | | | | | | | | | | | | | Move LowerAllocations, PrintFunction, and SymbolStripping passes, and the corresponding -disable-strip and -d options, over here to the SPARC target-specific bits of llc. Rename -d to -dump-asm. tools/llc/Makefile: Reindent. Add x86 library so that llc compiles again. tools/llc/llc.cpp: Remove support for running arbitrary optimization passes. Use opt instead. Remove LowerAllocations, PrintFunction, and SymbolStripping passes, as noted above. Allow user to select a backend (x86 or SPARC); default to guessing from the endianness/pointer size of the input bytecode file. Fix typos. Delete empty .s file and exit with error status if target does not support static compilation. llvm-svn: 6776
* Detemplatize the PATypeHandle class, which was only really instantiated on ↵Chris Lattner2003-06-184-20/+20
| | | | | | 'Type'. llvm-svn: 6774
* Handle arguments passed in through the va_arg areaChris Lattner2003-06-181-1/+7
| | | | llvm-svn: 6769
* These instructions really take three operands. This fixes some assertionsChris Lattner2003-06-181-2/+2
| | | | llvm-svn: 6765
* lib/CWriter/Writer.cpp: Copy AsmWriter's ConstantFP checking code hereBrian Gaeke2003-06-172-5/+31
| | | | | | | | | | into a new function FPCSafeToPrint(), and use it in printConstant() and printFunction() to decide whether we should output ConstantFPs as floating-point constants or as references to stack-allocated variables. lib/VMCore/AsmWriter.cpp: Fix an apparent typo in the code mentioned above. llvm-svn: 6762
* Add #ifdef hack for MAP_ANONYMOUS being spelled MAP_ANON on some platforms.Brian Gaeke2003-06-171-0/+3
| | | | | | | (We're already talking about autoconf'ing this, so I'm assuming this hack will be short-lived...I just don't want it to get lost in my working files.) llvm-svn: 6761
* Initial checkin of DAE passChris Lattner2003-06-171-0/+304
| | | | llvm-svn: 6759
* Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms whereBrian Gaeke2003-06-171-1/+1
| | | | | | it is needed. llvm-svn: 6753
* Use std::isnan instead of isnan. Brought back to you from theBrian Gaeke2003-06-171-1/+1
| | | | | | future, by the reconciliation of the C++ and C99 standards. Someday. llvm-svn: 6751
* Put ifdefs around use of malloc.h/mallinfo, which isn't available on FreeBSD.Brian Gaeke2003-06-171-2/+5
| | | | llvm-svn: 6750
* Life is too short. Link in too much stuff on Linux to make building on sun ↵Chris Lattner2003-06-171-4/+3
| | | | | | easier llvm-svn: 6748
* The never-ending odyssey trying to get sparc to linkChris Lattner2003-06-171-1/+1
| | | | llvm-svn: 6747
* Make sure to get the value of ARCH before we use itChris Lattner2003-06-171-0/+5
| | | | llvm-svn: 6746
* Do not link in the Sparc JIT when building on X86. Eventually the sparc ↵Chris Lattner2003-06-171-6/+6
| | | | | | | | | | will not link in the X86 JIT either, but this makes testing easier. For some reason, the sparc JIT was breaking the X86 JIT when it was linked in. :( llvm-svn: 6745
* Apparently "sparc" is a macro on sparcs. Ugh. :)Chris Lattner2003-06-171-4/+4
| | | | llvm-svn: 6744
* Whoops, didn't mean to check that in :(Chris Lattner2003-06-171-3/+19
| | | | llvm-svn: 6743
* Use more structured command line option processingChris Lattner2003-06-172-41/+31
| | | | llvm-svn: 6742
* #ifdef out code that only applies when the HOSTARCH = sparcChris Lattner2003-06-171-1/+4
| | | | llvm-svn: 6741
* Implement handling of constantexprs for disambiguation. This implementsChris Lattner2003-06-171-0/+6
| | | | | | BasicAA/featuretest.ll:constexpr_test llvm-svn: 6740
* Avoid divide by zero errorsChris Lattner2003-06-171-14/+18
| | | | llvm-svn: 6738
* Fix bug: Assembler/2003-06-17-InvokeDisassemble.llxChris Lattner2003-06-171-10/+14
| | | | | | "yes, invoke instructions can have just three arguments" llvm-svn: 6736
* Fairly major change: emit fixed sized allocas in the entry block as a variable,Chris Lattner2003-06-171-6/+26
| | | | | | | | | instead of a variable pointer and an alloca. All accesses to the variable then use the address-of operator to access it. This plays better with the internal GCC code generation phases, which bail early on functions which contain allocas. It also makes the code a bit easier to read. llvm-svn: 6734
* Don't corrupt memory when removing an instruction from the program, butChris Lattner2003-06-171-0/+1
| | | | | | not the worklist llvm-svn: 6733
* Don't include alloca.h on FreeBSD.Brian Gaeke2003-06-161-0/+2
| | | | llvm-svn: 6728
* Actually, change it to use explicit new/delete, which is more likely to beChris Lattner2003-06-162-8/+10
| | | | | | optimized INTO an alloca llvm-svn: 6727
OpenPOWER on IntegriCloud