summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix comment.Devang Patel2010-03-181-1/+1
| | | | llvm-svn: 98830
* Debug info intrinsic does not intefer during tail call optimization.Devang Patel2010-03-171-0/+3
| | | | llvm-svn: 98778
* reapply r98656 unmodified, which exposed the asmprinter not Chris Lattner2010-03-161-0/+5
| | | | | | handling constant unions. llvm-svn: 98680
* Revert r98656, its breaking all over the place.Daniel Dunbar2010-03-161-5/+0
| | | | llvm-svn: 98662
* improve support for uniontype and ConstantUnion, patch by Tim Northover!Chris Lattner2010-03-161-0/+5
| | | | llvm-svn: 98656
* Create SDDbgValue for dbg_value intrinsics and remember its connections with ↵Devang Patel2010-03-151-5/+28
| | | | | | | | DAG nodes. This is a work in progress. Patch by Dale Johannesen! llvm-svn: 98568
* Emit dwarf variable info communicated by code generator through DBG_VALUE ↵Devang Patel2010-03-151-2/+0
| | | | | | | | machine instructions. This is a work in progress. llvm-svn: 98556
* SIGN_EXTEND from the same type as the dest is valid.Chris Lattner2010-03-151-1/+1
| | | | llvm-svn: 98548
* sink the call to VT.getSizeInBits() down into its uses,Chris Lattner2010-03-151-7/+5
| | | | | | not all unary nodes necessarily have a simple result type. llvm-svn: 98547
* Turn calls to copysignl into an FCOPYSIGN node. Handle FCOPYSIGN nodesDuncan Sands2010-03-144-1/+18
| | | | | | | with ppc_f128 type by having the type legalizer turn these back into a call to copysignl. llvm-svn: 98514
* Rename SDDbgValue.h to SDNodeDbgValue.h for consistency.Evan Cheng2010-03-144-6/+6
| | | | llvm-svn: 98513
* fix ShrinkDemandedOps to not leave dead nodes around,Chris Lattner2010-03-141-0/+6
| | | | | | fixing PR6607 llvm-svn: 98512
* rewrite ShrinkDemandedOps to be faster and indent less,Chris Lattner2010-03-141-48/+64
| | | | | | no functionality change. llvm-svn: 98511
* make -view-isel-dags print after the 'ShrinkDemandedOps' pass.Chris Lattner2010-03-141-2/+2
| | | | llvm-svn: 98509
* Make default expansion for FP16 <-> FP32 nodes into libcallsAnton Korobeynikov2010-03-146-0/+47
| | | | llvm-svn: 98501
* Add DAG nodes to represent FP16 <-> FP32 intrinsicsAnton Korobeynikov2010-03-141-0/+8
| | | | llvm-svn: 98500
* fix AsmPrinter::GetBlockAddressSymbol to always return a uniqueChris Lattner2010-03-141-0/+2
| | | | | | | label instead of trying to form one based on the BB name (which causes collisions if the name is empty). This fixes PR6608 llvm-svn: 98495
* get MMI out of the label uniquing business, just go to MCContextChris Lattner2010-03-141-2/+2
| | | | | | to get unique assembler temporary labels. llvm-svn: 98489
* change the LabelSDNode to be EHLabelSDNode and make it holdChris Lattner2010-03-144-28/+23
| | | | | | | | an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4". llvm-svn: 98463
* change EH related stuff (other than EH_LABEL) to use MCSymbolChris Lattner2010-03-141-5/+7
| | | | | | | | | | | | | | | | instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress. Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :( One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert. llvm-svn: 98459
* Revert turning copysignl into a COPYSIGN node for the moment:Duncan Sands2010-03-121-1/+1
| | | | | | | ppc calls copysignl with a 128 bit ppc long double, resulting in a node that the type legalizer doesn't know how to expand. llvm-svn: 98357
* Now that it's supported, turn copysignl into a COPYSIGN node.Duncan Sands2010-03-121-1/+1
| | | | llvm-svn: 98348
* Fix PR6522: implement copysign expansion for x86 long doubleDuncan Sands2010-03-121-23/+39
| | | | | | | | (it seems that FreeBSD doesn't have copysignl). Done by removing a bunch of assumptions from the code. This may also help with sparc 128 bit floats. llvm-svn: 98346
* fix PR6577, a bug in sdbuilder lowering select instructionsChris Lattner2010-03-121-1/+2
| | | | | | whose true value was not Val#0. llvm-svn: 98336
* Remove getWidenVectorType, which is no longer used.Dan Gohman2010-03-111-14/+0
| | | | llvm-svn: 98289
* In case of tail call size of Ins and InVals may not match.Evan Cheng2010-03-111-6/+7
| | | | llvm-svn: 98277
* Remove dead include.Daniel Dunbar2010-03-111-1/+0
| | | | llvm-svn: 98225
* fix PR6533 by updating the br(xor) code to remember the caseChris Lattner2010-03-101-5/+7
| | | | | | when it looked past a trunc. llvm-svn: 98203
* Cosmetic: lengthen names and improve comments.Dale Johannesen2010-03-102-16/+15
| | | | llvm-svn: 98202
* Progress towards shepherding debug info through SelectionDAG.Dale Johannesen2010-03-105-27/+127
| | | | | | | No functional effect yet. This is still evolving and should not be viewed as final. llvm-svn: 98195
* Fix another bitwidth calculation to handle vector types; based on aDan Gohman2010-03-101-1/+1
| | | | | | patch by Micah Villmow for PR6572. llvm-svn: 98188
* Attempt to make this debug output meaningful, both in the case ofDan Gohman2010-03-091-3/+6
| | | | | | multibyte opcodes and in the case of multiple scopes. llvm-svn: 98036
* Print the correct index in the "match failed at index" message.Dan Gohman2010-03-091-1/+1
| | | | llvm-svn: 98013
* Add Order to SDDbgValueDale Johannesen2010-03-081-4/+10
| | | | llvm-svn: 97939
* Use Other as a sentinel instead of iAny.Chris Lattner2010-03-071-4/+4
| | | | llvm-svn: 97914
* Add some new bits of debug info handling. NoDale Johannesen2010-03-063-0/+129
| | | | | | functional change yet. llvm-svn: 97855
* Reapply r97778 and r97779, enabled only for unsigned i64 to f64Dan Gohman2010-03-061-0/+25
| | | | | | conversions. llvm-svn: 97854
* Avoid creating bad PHI instructions when BR is being const-folded.Jakob Stoklund Olesen2010-03-051-0/+2
| | | | llvm-svn: 97836
* Fix PR6497, a bug where we'd fold a load into an addcChris Lattner2010-03-051-0/+7
| | | | | | | | | | | node which has a flag. That flag in turn was used by an already-selected adde which turned into an ADC32ri8 which used a selected load which was chained to the load we folded. This flag use caused us to form a cycle. Fix this by not ignoring chains in IsLegalToFold even in cases where the isel thinks it can. llvm-svn: 97791
* inline a small function with one call site.Chris Lattner2010-03-051-16/+4
| | | | llvm-svn: 97789
* Revert r97778 and r97779. They're somehow breaking llvm-gcc builds.Dan Gohman2010-03-051-17/+41
| | | | llvm-svn: 97781
* Fix these constants to be more portable.Dan Gohman2010-03-051-3/+3
| | | | llvm-svn: 97779
* Rewrite i64-to-f64 conversion using an algorithm which handlesDan Gohman2010-03-051-41/+17
| | | | | | | | | rounding correctly. This implementation is a generalization of the x86_64 code in compiler-rt. This fixes rdar://7683708. llvm-svn: 97778
* add a statistic for # times fastisel fails.Chris Lattner2010-03-041-0/+6
| | | | llvm-svn: 97738
* Fix a typo Duncan noticed.Dan Gohman2010-03-041-1/+1
| | | | llvm-svn: 97735
* change the new isel matcher to emit ComplexPattern matchesChris Lattner2010-03-041-3/+7
| | | | | | | | | | as the very last thing before node emission. This should dramatically reduce the number of times we do 'MatchAddress' on X86, speeding up compile time. This also improves comments in the tables and shrinks the table a bit, now down to 80506 bytes for x86. llvm-svn: 97703
* Fix more code to work properly with vector operands. Based onDan Gohman2010-03-041-5/+5
| | | | | | a patch my Micah Villmow for PR6465. llvm-svn: 97692
* inline CannotYetSelectIntrinsic into CannotYetSelect and simplify.Chris Lattner2010-03-041-19/+16
| | | | llvm-svn: 97690
* Fix a bug in SelectionDAG's ReplaceAllUsesWith in the case whereDan Gohman2010-03-031-4/+45
| | | | | | | | | | CSE and recursive RAUW calls delete a node from the use list, invalidating the use list iterator. There's currently no known way to reproduce this in an unmodified LLVM, however there's no fundamental reason why a SelectionDAG couldn't be formed which would trigger this case. llvm-svn: 97665
* add some of the more obscure predicate types to the Chris Lattner2010-03-031-56/+99
| | | | | | Scope accelerator. llvm-svn: 97652
OpenPOWER on IntegriCloud