summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Factor out asmprinter out of ppcAnton Korobeynikov2008-08-175-8/+57
| | | | llvm-svn: 54887
* Move X86 assembler printers into separate directory. This allows JIT-only ↵Anton Korobeynikov2008-08-1710-8/+55
| | | | | | users not to link it in (use 'x86codegen' llvm-config arg for this) llvm-svn: 54886
* Move all assembler printing related stuff into new libAsmPrinterAnton Korobeynikov2008-08-175-1/+173
| | | | llvm-svn: 54885
* Factor out asmprinters from collector interface.Anton Korobeynikov2008-08-171-0/+18
| | | | llvm-svn: 54884
* Factor GC metadata table assembly generation out of Collector in preparation ↵Gordon Henriksen2008-08-1710-50/+94
| | | | | | for splitting AsmPrinter into its own library. llvm-svn: 54881
* Factor GC metadata table assembly generation out of Collector in preparation ↵Gordon Henriksen2008-08-174-18/+72
| | | | | | for splitting AsmPrinter into its own library. llvm-svn: 54880
* Get raw_ostream.cpp to compile on MSVC.Argyrios Kyrtzidis2008-08-171-5/+11
| | | | llvm-svn: 54879
* Revert 54821. It's miscompiling 252.eon and 447.dealIIEvan Cheng2008-08-171-118/+1
| | | | llvm-svn: 54878
* I found a better place for this optz'n.Nick Lewycky2008-08-171-14/+10
| | | | llvm-svn: 54877
* Xor'ing both sides of icmp by sign-bit is equivalent to swapping signedness ofNick Lewycky2008-08-171-22/+50
| | | | | | | | the predicate. Also, make this optz'n apply in more cases where it's safe to do so. llvm-svn: 54876
* avoid an extraneous std::string constructionChris Lattner2008-08-171-1/+1
| | | | llvm-svn: 54875
* Rework the routines that convert AP[S]Int into a string. Now, instead ofChris Lattner2008-08-179-121/+128
| | | | | | | | | | | | | | | | | returning an std::string by value, it fills in a SmallString/SmallVector passed in. This significantly reduces string thrashing in some cases. More specifically, this: - Adds an operator<< and a print method for APInt that allows you to directly send them to an ostream. - Reimplements APInt::toString to be much simpler and more efficient algorithmically in addition to not thrashing strings quite as much. This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the asmprinter. This also fixes a bug I introduced into the asmwriter in a previous patch w.r.t. alias printing. llvm-svn: 54873
* remove a dead APInt ctor.Chris Lattner2008-08-172-8/+2
| | | | llvm-svn: 54869
* avoid string thrashing when formatting names in output. ThisChris Lattner2008-08-171-54/+130
| | | | | | speeds up release-asserts llvm-dis on kc++ from 1.86s to 1.04s (~79%) llvm-svn: 54868
* random cleanups.Chris Lattner2008-08-171-53/+28
| | | | llvm-svn: 54866
* add support for a cout/cerr analog (outs()/errs()) as well asChris Lattner2008-08-171-0/+31
| | | | | | | a simple adaptor class to give raw output capabilities to something that wants to write to an ostream. llvm-svn: 54865
* opening "-" automatically yields stdout.Chris Lattner2008-08-171-0/+7
| | | | llvm-svn: 54863
* rename OutputData to 'write' to match ostream.Chris Lattner2008-08-171-1/+1
| | | | llvm-svn: 54857
* add a new raw_ostream class which is an extremely high performance ostream thatChris Lattner2008-08-171-0/+64
| | | | | | | | can *only* output data (no seeking, reading, etc). This is adapted from the clang "-E outputter", and is roughly 10% faster than stdio on darwin and 30% (or more) faster than std::ostream. llvm-svn: 54855
* PPC/Linux normally uses named section for bssAnton Korobeynikov2008-08-161-0/+5
| | | | llvm-svn: 54847
* Use proper strings section name for PPCAnton Korobeynikov2008-08-161-1/+1
| | | | llvm-svn: 54846
* Use correct name for TLS address resolution routine on x86-64Anton Korobeynikov2008-08-161-2/+2
| | | | llvm-svn: 54845
* Add interface for section override. Use this for Sparc, since it should use ↵Anton Korobeynikov2008-08-162-4/+11
| | | | | | named BSS section. llvm-svn: 54844
* Move SLEB/ULEB size calculation routines from AsmPrinter to TargetAsmInfo. ↵Anton Korobeynikov2008-08-164-468/+464
| | | | | | This makes JIT asmprinter-free. llvm-svn: 54843
* Reduce heap trashing due to std::string construction / concatenation via ↵Anton Korobeynikov2008-08-166-7/+20
| | | | | | caching of section flags string representations llvm-svn: 54842
* Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been ↵Owen Anderson2008-08-153-1021/+0
| | | | | | deprecated for almost a year; it's finally time for them to go away. llvm-svn: 54822
* Reapply 54786. Add overflow and number of mantissa bits checks.Devang Patel2008-08-151-1/+118
| | | | llvm-svn: 54821
* Convert several std::vectors over to SmallVector, and use reserve() as ↵Owen Anderson2008-08-151-2/+4
| | | | | | appropriate for cases where std::vector is still used. llvm-svn: 54820
* Inline the fastpath of PATypeHolder::get(). This is a small speedup in Chris Lattner2008-08-151-15/+0
| | | | | | instcombine among other things. llvm-svn: 54814
* Revert 54786. It's not checking for overflows, etc.Evan Cheng2008-08-151-101/+0
| | | | llvm-svn: 54813
* use smallvector instead of vector for a couple worklists. This speeds up ↵Chris Lattner2008-08-151-2/+2
| | | | | | | | instcombine by ~10% on some testcases. llvm-svn: 54811
* Use SmallSet instead of std::set to save allocations.Owen Anderson2008-08-141-3/+3
| | | | llvm-svn: 54810
* Move MachineInstr::getOpcode inline.Owen Anderson2008-08-141-6/+0
| | | | llvm-svn: 54807
* Build the X86GenFastISel.inc file.Dan Gohman2008-08-141-0/+1
| | | | llvm-svn: 54806
* The pass manager is not able to schedule -loop-deletion -loop-index-split.Devang Patel2008-08-141-14/+28
| | | | | | | | | | | The loop-deletion pass does not preserve dom frontier, which is required by loop-index-split. When the PM checks dom frontier for loop-index-split, it has already verified that lcssa is availalble. However, new dom frontier forces new loop pass manager, which does not have lcssa yet. The PM should recheck availability of required analysis passes in such cases. llvm-svn: 54805
* Temporarily revert r54792. It's causing an ICE during bootstrapping.Bill Wendling2008-08-141-5/+5
| | | | llvm-svn: 54804
* Also avoid pinsrw and pinsrb with a variable insertelement index.Dan Gohman2008-08-141-1/+2
| | | | llvm-svn: 54803
* Convert uses of std::vector in TargetInstrInfo to SmallVector. This change ↵Owen Anderson2008-08-1420-81/+87
| | | | | | had to be propoagated down into all the targets and up into all clients of this API. llvm-svn: 54802
* Don't try to use the insertps instruction for vectorDan Gohman2008-08-141-1/+1
| | | | | | | | element inserts with non-constant indices. This fixes CodeGen/X86/vector-variable-idx.ll on machines that have SSE4.1. llvm-svn: 54801
* Make FastISel's constructor protected, and give it a destructor.Dan Gohman2008-08-141-0/+2
| | | | llvm-svn: 54793
* Use DenseMap. Patch by Pratik Solanki.Devang Patel2008-08-141-5/+5
| | | | llvm-svn: 54792
* Remove more uses of std::set.Owen Anderson2008-08-142-9/+11
| | | | llvm-svn: 54787
* If IV is used in a int-to-float cast inside the loop then try to eliminate ↵Devang Patel2008-08-141-0/+101
| | | | | | the cast opeation. llvm-svn: 54786
* Have LeakDetector use a SmallPtrSet instead of an std::set.Owen Anderson2008-08-141-3/+3
| | | | llvm-svn: 54785
* Improve support for vector casts in LLVM IR and CodeGen.Dan Gohman2008-08-146-111/+249
| | | | llvm-svn: 54784
* Speed up addRegisterDead by adding more fast checks before performing the ↵Owen Anderson2008-08-141-1/+3
| | | | | | | | | expensive subregister query, and by increasing the size of the subregister hashtable so that there are fewer collisions. llvm-svn: 54781
* Use empty() instead of begin() == end().Dan Gohman2008-08-147-9/+9
| | | | llvm-svn: 54780
* Replace two for loops with while(!X->use_empty()) loops. This preventsMatthijs Kooijman2008-08-141-10/+8
| | | | | | | | | invalidating the iterator by deleting the current use. This fixes a segfault on 64 bit linux reported in PR2675. Also remove an unneeded if. llvm-svn: 54778
* Get rid of a use of std::map.Owen Anderson2008-08-131-2/+2
| | | | llvm-svn: 54770
* Fix a bogus srem rule - a negative value srem'd by a power-of-2Dan Gohman2008-08-133-13/+6
| | | | | | | can have a non-negative result; for example, -16%16 is 0. Also, clarify the related comments. This fixes PR2670. llvm-svn: 54767
OpenPOWER on IntegriCloud