summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* This is done.Evan Cheng2007-02-081-14/+0
| | | | llvm-svn: 34072
* Make use of TLI.SimplifySetCC() in LegalizeSetCCOperands().Evan Cheng2007-02-081-8/+36
| | | | llvm-svn: 34066
* Move SimplifySetCC to TargetLowering and allow it to be shared with legalizer.Evan Cheng2007-02-082-399/+426
| | | | llvm-svn: 34065
* Rename CStringMap -> StringMap, since it now supports nul characters in theChris Lattner2007-02-081-8/+8
| | | | | | strings. llvm-svn: 34064
* Allow cstringmap to contain strings with nul characters in them.Chris Lattner2007-02-081-4/+5
| | | | llvm-svn: 34062
* return addresses, those I already haveAndrew Lenharth2007-02-081-2/+3
| | | | llvm-svn: 34056
* Switched this file on accidently.Zhou Sheng2007-02-081-1/+1
| | | | llvm-svn: 34054
* As Chris and Reid suggested, remove "isSigned" field from APInt, instead,Zhou Sheng2007-02-081-178/+170
| | | | | | | | add some signed/unsigned arithmetic operation functions into APInt.h to handle the signed/unsigned issue. These functions will be defined inside a namespace "APIntOps" which is inside llvm namespace. llvm-svn: 34053
* Fixed comments.Bill Wendling2007-02-081-3/+2
| | | | llvm-svn: 34040
* Fixed a long standing spiller bug that's exposed by Thumb:Evan Cheng2007-02-081-13/+13
| | | | | | | | | | | | | | | | | | | | | | | The code sequence before the spiller is something like: = tMOVrr %reg1117 = tMOVrr %reg1078 = tLSLri %reg1117, 2 The it starts spilling: %r0 = tRestore <fi#5>, 0 %r1 = tRestore <fi#7>, 0 %r1 = tMOVrr %r1<kill> tSpill %r1, <fi#5>, 0 %reg1078 = tLSLri %reg1117, 2 It restores the value while processing the first tMOVrr. At this point, the spiller remembers fi#5 is available in %r0. Next it processes the second move. It restores the source before the move and spills the result afterwards. The move becomes a noop and is deleted. However, a spill has been inserted and that should invalidate reuse of %r0 for fi#5 and add reuse of %r1 for fi#5. Therefore, %reg1117 (which is also assigned fi#5) should get %r1, not %r0. llvm-svn: 34039
* Moved the MachOWriter and ELFWriter out of the Target/* files. Placed theBill Wendling2007-02-087-36/+20
| | | | | | | | definition of it into the CodeGen library. This is so that a backend doesn't necessarily add in these writers if it doesn't use them (like in the lli program). llvm-svn: 34034
* Added new method to add a "simple" code emitter. That is, to only addBill Wendling2007-02-082-0/+7
| | | | | | the code emitter and not set variables. llvm-svn: 34033
* Split the addPassesToEmitFile method up into two. This is so that we canBill Wendling2007-02-081-48/+52
| | | | | | | do some common stuff, then on our own add an object file writer (by calling a concrete function), and then do some finishing stuff, if need be. llvm-svn: 34032
* Add function to create a file writer.Bill Wendling2007-02-082-3/+28
| | | | llvm-svn: 34031
* Dead files. Functionality has been taken over by the Add*Writer functions.Bill Wendling2007-02-082-75/+0
| | | | llvm-svn: 34029
* Moved from include/llvm/CodeGen to lib/CodeGen.Bill Wendling2007-02-082-0/+850
| | | | llvm-svn: 34027
* For PR1188:Reid Spencer2007-02-082-2/+2
| | | | | | | | Compute BitMask correctly. Patch by Leo (wenwenti@hotmail.com). llvm-svn: 34026
* move archive-specific stuff out of bcreader into archive library.Chris Lattner2007-02-073-70/+80
| | | | llvm-svn: 34022
* move an llvmc-specific function out of the bcreader into llvmc.Chris Lattner2007-02-071-16/+0
| | | | llvm-svn: 34021
* move AnalyzeBytecodeFile out of ReaderWrappers.cpp into Analyzer.cpp. NowChris Lattner2007-02-073-36/+15
| | | | | | lli doesn't link in Analyzer.cpp. llvm-svn: 34020
* isLowRegister() expects input is a physical register.Evan Cheng2007-02-071-2/+2
| | | | llvm-svn: 34013
* push bytecode decompressor out through APIs. Now the bytecode readerChris Lattner2007-02-077-63/+63
| | | | | | | | | | | | | | | | | | | | api's look like this: ModuleProvider *getBytecodeModuleProvider( const std::string &Filename, ///< Name of file to be read BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer, std::string* ErrMsg = 0, ///< Optional error message holder BytecodeHandler* H = 0 ///< Optional handler for reader events ); This is ugly, but allows a client to say: getBytecodeModuleProvider("foo", 0); If they do this, there is no dependency on the compression libraries, saving codesize. llvm-svn: 34012
* Rename.Evan Cheng2007-02-071-6/+7
| | | | llvm-svn: 34011
* If sp offset will be materialized in a register. Clear the offset field of ↵Evan Cheng2007-02-071-8/+10
| | | | | | str / ldr. llvm-svn: 34010
* Get rid of references to iostream.Evan Cheng2007-02-072-4/+2
| | | | llvm-svn: 34009
* Automatically generating intrinsic declarations from Dan Gohman. ModifiedJim Laskey2007-02-071-0/+19
| | | | | | | to construct FunctionType in separate function, and, have getDeclaration return a Function instead of a Constant. llvm-svn: 34008
* Move compressor out of the core Reader.cpp file.Chris Lattner2007-02-073-6/+14
| | | | llvm-svn: 34007
* Do not drop transferred last uses on the floor.Devang Patel2007-02-071-0/+3
| | | | | | Use handleLastUserOverflow(). llvm-svn: 34006
* Fix Transforms/DeadArgElim/2007-02-07-FuncRename.ll, fallout from PR411.Chris Lattner2007-02-071-2/+4
| | | | | | | | | This happened because deadargelim now causes VMCore to auto-rename every function that it hacks arguments out of. Because it hacks arguments out of functions in a non-deterministic order, this caused the resultant numbering to be nondet. The fix is to just be careful to not rename functions! llvm-svn: 34005
* New entry.Evan Cheng2007-02-071-0/+9
| | | | llvm-svn: 34000
* In thumb mode, R3 is reserved, but it can be live in to the function. IfEvan Cheng2007-02-072-7/+32
| | | | | | | | that is the case, whenever we use it as a scratch register, save it to R12 first and then restore it after the use. This is a temporary and truly horrible workaround! llvm-svn: 33999
* UpdateEvan Cheng2007-02-071-0/+4
| | | | llvm-svn: 33998
* - If fp (r7) is used to reference stack objects, use [r, r] address mode.Evan Cheng2007-02-071-28/+67
| | | | | | | | - If there is a dynamic alloca, in the epilogue, restore the value of sp using r7 - offset. - Other bug fixes. llvm-svn: 33997
* remove dead ivars, thanks to Reid for noticing this!Chris Lattner2007-02-071-22/+1
| | | | llvm-svn: 33995
* remove the handleVBR32/handleVBR64 callbacks. They are very fine-grained.Chris Lattner2007-02-072-26/+0
| | | | llvm-svn: 33994
* constants can't be in the symtab anymoreChris Lattner2007-02-071-8/+4
| | | | llvm-svn: 33993
* update comment.Chris Lattner2007-02-071-3/+3
| | | | llvm-svn: 33992
* shrink vmcore by moving symbol table stripping support out of VMCore intoChris Lattner2007-02-073-29/+23
| | | | | | the one IPO pass that uses it. llvm-svn: 33990
* As Chris suggested, fixed some problems. (This is the first part)Zhou Sheng2007-02-071-147/+157
| | | | llvm-svn: 33989
* eliminate ValueSymbolTable::rename, it has no advantage over using ↵Chris Lattner2007-02-072-42/+5
| | | | | | | | remove+insert. Make insert/remove assert if used incorrectly instead of returning a bool. llvm-svn: 33988
* speed up conflict handling.Chris Lattner2007-02-071-2/+7
| | | | llvm-svn: 33985
* Fix a fixme by correctly calculating preferred alignments for functions,Nate Begeman2007-02-071-11/+14
| | | | | | | | | based on the alignment of the symbol and the target data's preferred align for that type. Also, rename some arguments for consistency. llvm-svn: 33984
* Eliminate the O(n) version of TypeSymbolTable::remove, it is dead. WhenChris Lattner2007-02-071-21/+21
| | | | | | | inserting a type into the type symbol table, only compute unique name if not in symtab already. llvm-svn: 33983
* TypeSymbolTable::rename is dead, remove itChris Lattner2007-02-071-18/+0
| | | | llvm-svn: 33982
* Eliminate a bunch of work from ValueSymbolTable::insert for the common caseChris Lattner2007-02-071-1/+7
| | | | | | where a symbol name doesn't conflict. This speeds up bc reading 16% on 176.gcc! llvm-svn: 33981
* parse constantexpr arguments into a smallvector: 1.5% speedup reading 176.gccChris Lattner2007-02-071-1/+1
| | | | llvm-svn: 33980
* Eliminate std::vectors from the bcanalyzer interface.Chris Lattner2007-02-073-32/+45
| | | | llvm-svn: 33978
* eliminateFrameIndex() is even more complicated if frame ptr is used instead ↵Evan Cheng2007-02-071-20/+34
| | | | | | of SP when there are dynamic alloca's. llvm-svn: 33975
* redesign the primary datastructure used by mem2reg to eliminate anChris Lattner2007-02-071-103/+156
| | | | | | std::map of std::vector's (ouch!). This speeds up mem2reg by 10% on 176.gcc. llvm-svn: 33974
* do not let the table fill up with tombstones.Chris Lattner2007-02-071-1/+5
| | | | llvm-svn: 33973
OpenPOWER on IntegriCloud