summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement more aggressive folding of constant GEP instructionsChris Lattner2003-06-261-6/+25
| | | | llvm-svn: 6913
* Add support for elimination of load instruction from global constantsChris Lattner2003-06-261-0/+48
| | | | llvm-svn: 6912
* Integrate the C writer's name mangler.Brian Gaeke2003-06-251-15/+82
| | | | llvm-svn: 6908
* First draft of X86 LLC backend. This should be OK for small programs likeBrian Gaeke2003-06-251-30/+354
| | | | | | Shootout, but it has some issues with bigger programs. Work in progress. llvm-svn: 6907
* Instcombine: X * -1 -> -XChris Lattner2003-06-251-3/+4
| | | | llvm-svn: 6904
* Fix bug: LevelRaise/2003-06-25-ExprAnalysis.llChris Lattner2003-06-251-2/+0
| | | | llvm-svn: 6903
* Fix bug: Mem2Reg/2003-06-26-IterativePromote.llChris Lattner2003-06-251-10/+17
| | | | llvm-svn: 6901
* - Fixed name mangling conditions to handle 'linkonce' linkage type. InJoel Stanley2003-06-251-30/+44
| | | | | | | | | | | | particular, name mangling for GlobalValues only occurs when the linkage type is internal or when the name must be mangled to avoid a collision. See comments in CWriter::getValueName for more information. - 'inline' keyword is now emitted for functions with 'linkonce' linkage type. - Fixed typos. llvm-svn: 6898
* Add argument to DAE to allow operation on non-internal functionsChris Lattner2003-06-251-9/+21
| | | | llvm-svn: 6895
* It seems likely that floats would need a cast too, because they areBrian Gaeke2003-06-251-1/+2
| | | | | | ordinarily promoted to doubles. llvm-svn: 6894
* Fix bug: ADCE/2003-06-24-BadSuccessor.llChris Lattner2003-06-241-12/+35
| | | | llvm-svn: 6891
* Make assertion more descriptiveChris Lattner2003-06-241-1/+1
| | | | llvm-svn: 6889
* Do not mark ALL terminators live if any instruciton in the block is live. ↵Chris Lattner2003-06-241-2/+23
| | | | | | | | | We only want to mark it live if it is an unconditional branch. This fixes bug: ADCE/2002-05-28-Crash.ll and makes this pass _much_ more useful. llvm-svn: 6887
* Fix bug: SCCP/2003-06-24-OverdefinedPHIValue.llChris Lattner2003-06-241-4/+5
| | | | llvm-svn: 6883
* Fix bug: TailDup/2003-06-24-Simpleloop.llChris Lattner2003-06-241-1/+2
| | | | llvm-svn: 6881
* Implement new transforms:Chris Lattner2003-06-231-4/+33
| | | | | | | Replace (cast (sub A, B) to bool) -> (setne A, B) Replace (cast (add A, B) to bool) -> (setne A, -B) llvm-svn: 6873
* Fix 2003-06-23-PromotedExprs.llx -- if we are adding two bytes we betterBrian Gaeke2003-06-231-0/+14
| | | | | | | explicitly cast the result to be a byte, or C will gleefully promote it to int. llvm-svn: 6869
* Include <cmath> instead of <math.h>Brian Gaeke2003-06-231-10/+1
| | | | | | Remove isnan; it's too unportable to handle cleanly at this point. llvm-svn: 6866
* Add support for GCC 3.3Chris Lattner2003-06-231-2/+2
| | | | llvm-svn: 6865
* avoid dividing by zero when dealing with zero sized types (like [0 x double])Chris Lattner2003-06-232-0/+2
| | | | llvm-svn: 6862
* Add the padding needed for variable-size alloca's, which should work now.Vikram S. Adve2003-06-231-6/+14
| | | | llvm-svn: 6859
* 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
OpenPOWER on IntegriCloud