aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add documentation for the upcoming bswap intrinsics!Nate Begeman2006-01-131-0/+90
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25300 91177308-0d34-0410-b5e6-96231b3b80d8
* Added instcombine support for extractelement.Robert Bocchino2006-01-131-1/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25299 91177308-0d34-0410-b5e6-96231b3b80d8
* testcase for PR691Chris Lattner2006-01-131-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25298 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcases for the stackrestore instcombine optimizationsChris Lattner2006-01-131-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25297 91177308-0d34-0410-b5e6-96231b3b80d8
* Add truncstore i1 patterns.Evan Cheng2006-01-131-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25296 91177308-0d34-0410-b5e6-96231b3b80d8
* it is ok to dce stacksave.Chris Lattner2006-01-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25295 91177308-0d34-0410-b5e6-96231b3b80d8
* Do a simple instcombine xforms to delete llvm.stackrestore cases.Chris Lattner2006-01-131-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25294 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in my last X86 checkin, pointed out by cozmicChris Lattner2006-01-131-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25293 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify this a tiny bit by using the new IntrinsicInst functionality.Chris Lattner2006-01-131-7/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25292 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the implementations of classof using the new IntrinsicInst classof.Chris Lattner2006-01-131-56/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25291 91177308-0d34-0410-b5e6-96231b3b80d8
* LHS = X86ISD::CMOVcc LHS, RHS means LHS = RHS if cc. So the operands must beEvan Cheng2006-01-131-2/+4
| | | | | | | flipped around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25290 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some functionality to the IntrinsicInst class and some commentsChris Lattner2006-01-131-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25289 91177308-0d34-0410-b5e6-96231b3b80d8
* Permit inlining functions that contain dynamic allocations now thatChris Lattner2006-01-131-27/+4
| | | | | | | | InlineFunction handles this case safely. This implements Transforms/Inline/dynamic_alloca_test.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25288 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase that functions with dynamic allocas can be inlined, and areChris Lattner2006-01-131-0/+28
| | | | | | | inlined correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25287 91177308-0d34-0410-b5e6-96231b3b80d8
* If inlining a call to a function that contains dynamic allocas, wrap theChris Lattner2006-01-131-0/+30
| | | | | | | resultant code with llvm.stacksave/llvm.stackrestore intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25286 91177308-0d34-0410-b5e6-96231b3b80d8
* Use ClonedCodeInfo to avoid another walk over the inlined code, this thisChris Lattner2006-01-131-2/+4
| | | | | | | time in common C cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25285 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the ClonedCodeInfo object to avoid scans of the inlined code whenChris Lattner2006-01-131-62/+67
| | | | | | | | it doesn't contain any calls. This is a fairly common case for C++ code, so it will probably speed up the inliner marginally in these cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25284 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor a bunch of invoke handling stuff out into a new functionChris Lattner2006-01-131-88/+108
| | | | | | | "HandleInlinedInvoke". No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25283 91177308-0d34-0410-b5e6-96231b3b80d8
* make DAG isel the defaultAndrew Lenharth2006-01-131-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25282 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the code cloning interfaces to capture some important info about theChris Lattner2006-01-132-17/+74
| | | | | | | code being cloned if the client wants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25281 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug I noticed by inspection: if the first instruction in the inlinedChris Lattner2006-01-131-5/+3
| | | | | | | | | function was not an alloca, we wouldn't check the entry block for any allocas, leading to increased stack space in some cases. In practice, allocas are almost always at the top of the block, so this was never noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25280 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 80 column violationsChris Lattner2006-01-131-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25279 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable X86 support for savestack/restorestackChris Lattner2006-01-132-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25278 91177308-0d34-0410-b5e6-96231b3b80d8
* implement stacksave/stackrestore on PPCChris Lattner2006-01-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25277 91177308-0d34-0410-b5e6-96231b3b80d8
* If a target specified a stack pointer with setStackPointerRegisterToSaveRestore,Chris Lattner2006-01-131-5/+21
| | | | | | | lower STACKSAVE/STACKRESTORE into a copy from/to that register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25276 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide an interface for Targets to specify their stack pointer registerChris Lattner2006-01-131-0/+19
| | | | | | | for llvm.stacksave/restore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25275 91177308-0d34-0410-b5e6-96231b3b80d8
* don't be a doofus - this fixes storing boolsDuraid Madina2006-01-131-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25274 91177308-0d34-0410-b5e6-96231b3b80d8
* Compile llvm.stacksave/restore into STACKSAVE/STACKRESTORE nodes, and allowChris Lattner2006-01-132-4/+72
| | | | | | | targets to custom expand them as they desire. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25273 91177308-0d34-0410-b5e6-96231b3b80d8
* expand unsupported stacksave/stackrestore nodesChris Lattner2006-01-135-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25272 91177308-0d34-0410-b5e6-96231b3b80d8
* new nodesChris Lattner2006-01-132-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25271 91177308-0d34-0410-b5e6-96231b3b80d8
* add stacksave/stackrestore nodesChris Lattner2006-01-132-2/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25270 91177308-0d34-0410-b5e6-96231b3b80d8
* testcase for the llvm.stacksave/llvm.stackrestore intrinsics.Chris Lattner2006-01-131-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25269 91177308-0d34-0410-b5e6-96231b3b80d8
* Add "support" for stacksave/stackrestore to the dag iselChris Lattner2006-01-131-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25268 91177308-0d34-0410-b5e6-96231b3b80d8
* Add "support" for the llvm.stacksave/stackrestore intrinsics, this isChris Lattner2006-01-131-2/+15
| | | | | | | used by the C backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25267 91177308-0d34-0410-b5e6-96231b3b80d8
* Add recognition and verification of new llvm.stacksave/llvm.stackrestore ↵Chris Lattner2006-01-132-4/+18
| | | | | | intrinsics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25266 91177308-0d34-0410-b5e6-96231b3b80d8
* add new llvm.stacksave/llvm.stackrestore intrinsicsChris Lattner2006-01-131-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25265 91177308-0d34-0410-b5e6-96231b3b80d8
* Add llvm.stacksave and llvm.stackrestore.Chris Lattner2006-01-131-0/+68
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25264 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor update.Evan Cheng2006-01-131-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25263 91177308-0d34-0410-b5e6-96231b3b80d8
* void* is not legal in LLVM.Chris Lattner2006-01-131-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25262 91177308-0d34-0410-b5e6-96231b3b80d8
* More typo's. I need new eye glasses...Evan Cheng2006-01-131-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25261 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops. Typo.Evan Cheng2006-01-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25260 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a SETCC / BRCOND folding bug.Evan Cheng2006-01-131-12/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25259 91177308-0d34-0410-b5e6-96231b3b80d8
* Test case for a SETCC / BRCOND folding bug.Evan Cheng2006-01-131-0/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25258 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix sint_to_fp (fild*) support.Evan Cheng2006-01-125-42/+61
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25257 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a simple missing fold to produce this:Chris Lattner2006-01-121-0/+8
| | | | | | | | | | | | subfic r3, r2, 33 instead of this: subfic r2, r2, 32 addi r3, r2, 1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25255 91177308-0d34-0410-b5e6-96231b3b80d8
* Specify transformation from GlobalAddress to TargetGlobalAddress andEvan Cheng2006-01-121-2/+2
| | | | | | | ExternalSymbol to TargetExternalSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25253 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow transformation from GlobalAddress to TargetGlobalAddress andEvan Cheng2006-01-121-13/+24
| | | | | | | ExternalSymbol to TargetExternalSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25252 91177308-0d34-0410-b5e6-96231b3b80d8
* If using __main, emit global ctor/dtor list like any other globalChris Lattner2006-01-121-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25251 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't create rotate instructions in unsupported types, because we don't haveChris Lattner2006-01-121-2/+2
| | | | | | | promote/expand code yet. This fixes the 177.mesa failure on PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25250 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix branches on FP comparesChris Lattner2006-01-124-42/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25249 91177308-0d34-0410-b5e6-96231b3b80d8