summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Change errs() to dbgs().David Greene2010-01-041-5/+5
| | | | llvm-svn: 92490
* fix PR5930, allowing the asmprinter to emit difference betweenChris Lattner2010-01-031-2/+8
| | | | | | two labels as a truncate. llvm-svn: 92455
* Teach codegen to handle:Chris Lattner2010-01-021-0/+12
| | | | | | | | | | | (X != null) | (Y != null) --> (X|Y) != 0 (X == null) & (Y == null) --> (X|Y) == 0 so that instcombine can stop doing this for pointers. This is part of PR3351, which is a case where instcombine doing this for pointers (inserting ptrtoint) is pessimizing code. llvm-svn: 92406
* whitespace cleanupChris Lattner2010-01-011-6/+6
| | | | llvm-svn: 92404
* Fix a warning on gcc 4.4.Mikhail Glushenkov2010-01-011-1/+2
| | | | | | | SelectionDAGBuilder.cpp:4294: warning: suggest explicit braces to avoid ambiguous ‘else’ llvm-svn: 92395
* Trailing whitespace, 80-col violations.Mikhail Glushenkov2010-01-011-77/+82
| | | | llvm-svn: 92394
* Teach codegen to lower llvm.powi to an efficient (but not optimal) Chris Lattner2010-01-011-5/+57
| | | | | | | | | | multiply sequence when the power is a constant integer. Before, our codegen for std::pow(.., int) always turned into a libcall, which was really inefficient. This should also make many gfortran programs happier I'd imagine. llvm-svn: 92388
* remove a bunch of unneeded functions.Chris Lattner2009-12-292-2/+2
| | | | llvm-svn: 92263
* Final step in the metadata API restructuring: move the Chris Lattner2009-12-291-4/+2
| | | | | | | | getMDKindID/getMDKindNames methods to LLVMContext (and add convenience methods to Module), eliminating MetadataContext. Move the state that it maintains out to LLVMContext. llvm-svn: 92259
* This is a major cleanup of the instruction metadata interfaces thatChris Lattner2009-12-283-21/+10
| | | | | | | | | | | | | | | | | | | | | | I asked Devang to do back on Sep 27. Instead of going through the MetadataContext class with methods like getMD() and getMDs(), just ask the instruction directly for its metadata with getMetadata() and getAllMetadata(). This includes a variety of other fixes and improvements: previously all Value*'s were bloated because the HasMetadata bit was thrown into value, adding a 9th bit to a byte. Now this is properly sunk down to the Instruction class (the only place where it makes sense) and it will be folded away somewhere soon. This also fixes some confusion in getMDs and its clients about whether the returned list is indexed by the MDID or densely packed. This is now returned sorted and densely packed and the comments make this clear. This introduces a number of fixme's which I'll follow up on. llvm-svn: 92235
* rename getMDKind -> getMDKindID, make it autoinsert if an MD KindChris Lattner2009-12-283-34/+30
| | | | | | | doesn't exist already, eliminate registerMDKind. Tidy up a bunch of random stuff. llvm-svn: 92225
* snip one more #include from Metadata.hChris Lattner2009-12-281-0/+1
| | | | llvm-svn: 92214
* move these out of their own timer groups into the 'uncategorized' groups.Chris Lattner2009-12-282-14/+2
| | | | llvm-svn: 92206
* Allow targets to specify the return type of libcalls that are generated for ↵Sanjiv Gupta2009-12-282-1/+6
| | | | | | floating point comparisons, rather than hard-coding them as i32. llvm-svn: 92199
* Remove dead store.Bill Wendling2009-12-281-2/+2
| | | | llvm-svn: 92190
* Remove dead variable.Bill Wendling2009-12-281-2/+0
| | | | llvm-svn: 92189
* Remove dead variable.Bill Wendling2009-12-281-1/+0
| | | | llvm-svn: 92188
* Remove dead store.Bill Wendling2009-12-281-1/+1
| | | | llvm-svn: 92187
* Remove dead variable.Bill Wendling2009-12-281-3/+0
| | | | llvm-svn: 92180
* Remove dead variable.Bill Wendling2009-12-281-2/+0
| | | | llvm-svn: 92179
* Remove dead variable.Bill Wendling2009-12-281-1/+0
| | | | llvm-svn: 92178
* Remove dead store.Bill Wendling2009-12-251-1/+1
| | | | llvm-svn: 92159
* Remove dead store from copy-pasto.Bill Wendling2009-12-251-1/+1
| | | | llvm-svn: 92158
* Remove dead store.Bill Wendling2009-12-251-1/+0
| | | | llvm-svn: 92157
* Remove dead store.Bill Wendling2009-12-251-1/+0
| | | | llvm-svn: 92156
* handle equality memcmp of 8 bytes on x86-64 with two unaligned loads and a Chris Lattner2009-12-241-19/+55
| | | | | | | | compare. On other targets we end up with a call to memcmp because we don't want 16 individual byte loads. We should be able to use movups as well, but we're failing to select the generated icmp. llvm-svn: 92107
* Change errs() to dbgs().David Greene2009-12-241-1/+1
| | | | llvm-svn: 92099
* move an optimization for memcmp out of simplifylibcalls and into Chris Lattner2009-12-242-0/+107
| | | | | | | | | SDISel. This optimization was causing simplifylibcalls to introduce type-unsafe nastiness. This is the first step, I'll be expanding the memcmp optimizations shortly, covering things that we really really wouldn't want simplifylibcalls to do. llvm-svn: 92098
* Change errs() to dbgs().David Greene2009-12-241-13/+13
| | | | llvm-svn: 92097
* Change errs() to dbgs().David Greene2009-12-241-1/+1
| | | | llvm-svn: 92096
* Change errs() to dbgs().David Greene2009-12-241-3/+4
| | | | llvm-svn: 92094
* Change errs() to dbgs().David Greene2009-12-241-59/+59
| | | | llvm-svn: 92093
* move a few more symbols to .rodataNuno Lopes2009-12-231-1/+1
| | | | llvm-svn: 92011
* Use more sensible type for flags in asms. PR 5570.Dale Johannesen2009-12-232-5/+2
| | | | | | Patch by Sylve`re Teissier (sorry, ASCII only). llvm-svn: 91988
* Update objectsize intrinsic and associated dependencies. FixEric Christopher2009-12-231-1/+1
| | | | | | lowering code and update testcases. llvm-svn: 91979
* Remove superfluous SDNode ordering.Bill Wendling2009-12-231-48/+16
| | | | llvm-svn: 91971
* Remove node ordering from inline asm nodes. It's not needed.Bill Wendling2009-12-231-16/+0
| | | | llvm-svn: 91961
* Remove node ordering from VA nodes. It's not needed.Bill Wendling2009-12-231-25/+14
| | | | llvm-svn: 91958
* Revert r91949 r91942 and r91936.Bill Wendling2009-12-231-407/+119
| | | | llvm-svn: 91953
* Finish up node ordering in ExpandNode.Bill Wendling2009-12-231-45/+113
| | | | llvm-svn: 91949
* Add coalescer asserts.Jakob Stoklund Olesen2009-12-221-4/+6
| | | | llvm-svn: 91945
* Assign ordering to nodes created in ExpandNode. Only roughly 1/2 of the functionBill Wendling2009-12-221-84/+237
| | | | | | is finished. llvm-svn: 91942
* Assign ordering to SDNodes in PromoteNode. Also fixing a subtle bug where BSWAPBill Wendling2009-12-222-15/+83
| | | | | | was using "Tmp1" in the first getNode call instead of Node->getOperand(0). llvm-svn: 91936
* Remove minimal CFG sanity checks from verifier.Jakob Stoklund Olesen2009-12-221-18/+0
| | | | | | | | | These checks would often trigger on unreachable statements inserted by bugpoint, leading it astray. It would be nice if we could distinguish unreachable blocks from errors. llvm-svn: 91923
* Allow explicit %reg0 operands beyond what the .td file describes.Jakob Stoklund Olesen2009-12-221-1/+2
| | | | | | ARM uses these to indicate predicates. llvm-svn: 91922
* Allow 0 as an order number. Don't assign an order to formal arguments.Bill Wendling2009-12-222-21/+11
| | | | llvm-svn: 91920
* Report an error for bad inline assembly, where the value passed for anBob Wilson2009-12-221-2/+6
| | | | | | "indirect" operand is not a pointer. llvm-svn: 91913
* Add more plumbing. This time in the LowerArguments and "get" functions whichBill Wendling2009-12-225-49/+147
| | | | | | | | return partial registers. This affected the back-end lowering code some. Also patch up some places I missed before in the "get" functions. llvm-svn: 91880
* Add SDNode ordering to inlined asm and VA functions.Bill Wendling2009-12-221-28/+78
| | | | llvm-svn: 91876
* Adding more assignment of ordering to SDNodes. This time in the "call" andBill Wendling2009-12-221-32/+66
| | | | | | generic copy functions. llvm-svn: 91872
OpenPOWER on IntegriCloud