summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate a masochistic "algorithm" loop, shrinking CommandLine.o from ↵Chris Lattner2009-09-201-13/+8
| | | | | | 71524->70700 bytes. llvm-svn: 82366
* don't use count + insert, just do insert + failure. Also, instead of ↵Chris Lattner2009-09-201-6/+9
| | | | | | | | deleting from the middle of a vector, swap the last element in and pop_back. Also saves 330 bytes :) llvm-svn: 82365
* switch to SmallPtrSet instead of std::set, saving 1K from theChris Lattner2009-09-201-4/+4
| | | | | | release-asserts .o file (72900->71856). llvm-svn: 82364
* change an std::sort to an array_pod_sort call, shrinking CommandLine.o by 9%.Chris Lattner2009-09-201-1/+2
| | | | llvm-svn: 82363
* Several changes together in a murky mess:Chris Lattner2009-09-201-84/+102
| | | | | | | | | | | | 1. Change some "\n" -> '\n'. 2. eliminte some std::string's by using raw_ostream::indent. 3. move a bunch of code out of the main arg parser routine into a new static HandlePrefixedOrGroupedOption function. 4. Greatly simplify the implementation of getOptionPred, and make it avoid splitting prefix options at = when that doesn't match a non-prefix option. llvm-svn: 82362
* Clean up the usage of evaluateICmpRelation's return value.Nick Lewycky2009-09-201-37/+30
| | | | | | | Add another line to the ConstantExprFold test to demonstrate the GEPs may not wrap around in either the signed or unsigned senses. llvm-svn: 82361
* Fix refacto, this code was expecting to stride past the argument prefix.Daniel Dunbar2009-09-201-0/+1
| | | | llvm-svn: 82360
* Strip trailing whitespace.Daniel Dunbar2009-09-201-41/+41
| | | | llvm-svn: 82359
* Remove dead store by taking a guess at what Chris meant. I wasn't able toNick Lewycky2009-09-201-2/+1
| | | | | | design a testcase that would tickle this behaviour. llvm-svn: 82357
* Still one more thing wrong here...Bill Wendling2009-09-201-0/+5
| | | | llvm-svn: 82356
* Tabs -> spaces, and remove trailing whitespace.Daniel Dunbar2009-09-2019-1235/+1234
| | | | llvm-svn: 82355
* Here's fun! It turns out that these filter functions can be internal. If they'reBill Wendling2009-09-202-7/+2
| | | | | | | | internal, they shouldn't use the indirect pointer stuff. In the case of throw_rethrow_test, it was marked as 'internal' and calculated its own offset to its contents. llvm-svn: 82354
* Delete dead code. sext and zext can not turn integers into pointers. Further,Nick Lewycky2009-09-201-15/+0
| | | | | | the optimization described in the comment is only valid with target data. llvm-svn: 82353
* convert argname to StringRef, simplifying LookupOption.Chris Lattner2009-09-201-21/+22
| | | | llvm-svn: 82352
* convert 'Value' to StringRef which makes it easier to Chris Lattner2009-09-201-12/+8
| | | | | | maintain the "null is unspecified, empty is empty" semantics. llvm-svn: 82351
* Change CommaSeparated processing to do it with StringRef instead of ↵Chris Lattner2009-09-201-21/+26
| | | | | | | | temporary std::strings. This requires StringRef'izing ProvideOption which I also did. llvm-svn: 82350
* Value* were never meant to be const. Removing constness from the constantNick Lewycky2009-09-202-184/+151
| | | | | | | folder removes a lot of const_casting and requires no changes to clang or llvm-gcc. llvm-svn: 82349
* rewrite ParseCStringVector in terms of stringref.Chris Lattner2009-09-201-33/+22
| | | | llvm-svn: 82348
* move a couple non-trivial methods out of line, add new Chris Lattner2009-09-201-0/+71
| | | | | | find_first_of/find_first_of methods. llvm-svn: 82347
* coding style cleanupChris Lattner2009-09-201-13/+12
| | | | llvm-svn: 82346
* convert a bunch more stuff to use StringRef. The ArgName arguments are nowChris Lattner2009-09-201-28/+29
| | | | | | | | stringref because they may not be nul terminated. For options like -Lfoo this now avoids a O(n) temporary std::strings where N is the length of the string after -L. llvm-svn: 82345
* When computing live intervals for earlyclobber operands,Dale Johannesen2009-09-201-3/+16
| | | | | | | | | | we pushed the beginning of the interval back 1, so the interval would overlap with inputs that die. We were also pushing the end of the interval back 1, though, which means the earlyclobber didn't overlap with other output operands. Don't do this. PR 4964. llvm-svn: 82342
* avoid a bunch of malloc thrashing for PositinoalVals by eliminatingChris Lattner2009-09-201-11/+9
| | | | | | a std::vector and a bunch of std::string temporaries. llvm-svn: 82341
* Teach the constant folder how to handle a few simple i1 cases.Nick Lewycky2009-09-201-0/+31
| | | | llvm-svn: 82340
* Avoid some temporary strings.Chris Lattner2009-09-191-19/+6
| | | | llvm-svn: 82339
* add some more overloads of StringRef::getAsInteger forChris Lattner2009-09-191-0/+45
| | | | | | common and useful integer types. llvm-svn: 82338
* Revert r82274. It's causing failures in the CINT2006 benchmarks.Bill Wendling2009-09-191-0/+6
| | | | llvm-svn: 82336
* Fix indentation.Daniel Dunbar2009-09-191-76/+76
| | | | llvm-svn: 82333
* Strip trailing whitespace.Daniel Dunbar2009-09-192-75/+75
| | | | llvm-svn: 82332
* Remove the default value for ConstantStruct::get's isPacked parameter andNick Lewycky2009-09-192-5/+6
| | | | | | update the code which was broken by this. llvm-svn: 82327
* provide a "strtoull" operation that works on StringRef's.Chris Lattner2009-09-191-0/+63
| | | | llvm-svn: 82322
* Add a comment explaining why you would ever want to do this.Nick Lewycky2009-09-191-0/+3
| | | | llvm-svn: 82319
* convert a bunch of std::strings to use StringRef. This should eliminateChris Lattner2009-09-191-48/+56
| | | | | | | a massive number of temporary strings created when parsing a command line. More still left to eliminate. llvm-svn: 82318
* Lett users of sparse propagation do their own thing with phi nodes if they wantNick Lewycky2009-09-191-0/+7
| | | | | | | to. This can be combined with LCSSA or SSI form to store more information on a PHINode than can be computed by looking at its incoming values. llvm-svn: 82317
* The flag "--dot-cfg-only" is at the moment equivalent to the flag "--dot-cfg".Duncan Sands2009-09-191-1/+1
| | | | | | | It prints the content of all bbs, instead of printing empty bbs to make the CFG more readable. Fix this. Patch by Tobias Grosser. llvm-svn: 82315
* Fix funky comments.Evan Cheng2009-09-191-5/+5
| | | | llvm-svn: 82314
* Try to speed up the slowest parts of the CommandLine libraryBenjamin Kramer2009-09-191-28/+28
| | | | | | | | - Replace std::map<std::string with StringMap - Eliminate unnecessary std::string copies - ~10% speed-up for clang's testsuite on my machine (debug build) llvm-svn: 82312
* Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic ↵Evan Cheng2009-09-1912-35/+96
| | | | | | blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks. llvm-svn: 82311
* Enhance transform passes so that they apply the same tranforms to malloc ↵Victor Hernandez2009-09-189-23/+512
| | | | | | | | calls as to MallocInst. Reviewed by Dan Gohman. llvm-svn: 82300
* Fix a comment typo and some whitespace.Bob Wilson2009-09-181-2/+2
| | | | llvm-svn: 82285
* Fix a typo in an assertion message.Bob Wilson2009-09-181-1/+1
| | | | llvm-svn: 82284
* Factor out label difference creation.Bill Wendling2009-09-182-35/+30
| | | | llvm-svn: 82282
* Enhance analysis passes so that they apply the same analysis to malloc calls ↵Victor Hernandez2009-09-185-12/+50
| | | | | | | | as to MallocInst. Reviewed by Eli Friedman. llvm-svn: 82281
* It's inefficient to have place the exception tables (which contain the LSDA)Bill Wendling2009-09-182-7/+42
| | | | | | | | | into the __DATA section. At launch time, dyld has to update most of the section to fix up the type info pointers. It's better to place it into the __TEXT section and use pc-rel indirect pointer encodings. Similar to the personality routine. llvm-svn: 82274
* Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that ↵Evan Cheng2009-09-1828-39/+81
| | | | | | | | sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273
* Fix cmake build, which has a different -I thatShantonu Sen2009-09-181-1/+1
| | | | | | causes the "../foo" to not find the file llvm-svn: 82270
* Make a new X8632_MachoTargetObjectFile TLOF implementation whose Chris Lattner2009-09-185-27/+47
| | | | | | | | | | | | | | | | | | | | | | getSymbolForDwarfGlobalReference is smart enough to know that it needs to register the stub it references with MachineModuleInfoMachO, so that it gets emitted at the end of the file. Move stub emission from X86ATTAsmPrinter::doFinalization to the new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook. The important thing here is that EmitEndOfAsmFile is called *after* the ehframes are emitted, so we get all the stubs. This allows us to remove a gross hack from the asmprinter where it would "just know" that it needed to output stubs for personality functions. Now this is all driven from a consistent interface. The testcase change is just reordering the expected output now that the stubs come out after the ehframe instead of before. This also unblocks other changes that Bill wants to make. llvm-svn: 82269
* add a new hook to allow targets to splat stuff at the end of the file.Chris Lattner2009-09-181-0/+5
| | | | | | Overriding doFinalization is pretty lame. llvm-svn: 82268
* Model the carry bit on ppc32. Without this we couldDale Johannesen2009-09-183-28/+60
| | | | | | | move a SUBFC (etc.) below the SUBFE (etc.) that consumed the carry bit. Add missing ADDIC8, noticed along the way. llvm-svn: 82266
* Add support for using the FLAGS result of or, xor, and and instructionsDan Gohman2009-09-184-5/+365
| | | | | | | on x86, to avoid explicit test instructions. A few existing tests changed due to arbitrary register allocation differences. llvm-svn: 82263
OpenPOWER on IntegriCloud