aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge the advanced getelementptr FAQ into the regularDan Gohman2010-02-253-382/+384
| | | | | | | getelementptr FAQ. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97154 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix TextAlignFillValue in a few placesDaniel Dunbar2010-02-251-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97151 91177308-0d34-0410-b5e6-96231b3b80d8
* Add simple script for finding most-recent-rev-before-N in a git-svn repo; usefulDaniel Dunbar2010-02-251-0/+50
| | | | | | when bisecting multiple repos in sync. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97150 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the following 16-bit Thumb instructions for disassembly only: YIELD, WFE,Johnny Chen2010-02-251-0/+42
| | | | | | | WFI, SEV, SETEND. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97149 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a dead PatLeaf, I previously changed all uses to use -1 instead.Chris Lattner2010-02-251-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97148 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo.Dan Gohman2010-02-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97144 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify the description of pointer types, and move theDan Gohman2010-02-251-4/+7
| | | | | | | address space content to its own paragraph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97143 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the constant folder about union types.Dan Gohman2010-02-252-6/+82
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97142 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove code which assumes it knows how vectors are stored in memory.Dan Gohman2010-02-251-12/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97141 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more information to the getSizeOf comment.Dan Gohman2010-02-251-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97140 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove this paragraph. Vectors may not always have the same layout asDan Gohman2010-02-251-4/+0
| | | | | | | arrays now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97139 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r97064. Duncan pointed out that bitcasts are defined inDan Gohman2010-02-256-106/+20
| | | | | | | | | terms of store and load, which means bitcasting between scalar integer and vector has endian-specific results, which undermines this whole approach. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97137 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the side-numbering of instructions used by metadata (which is needed toNick Lewycky2010-02-252-2/+2
| | | | | | | | | | keep track of instructions that return void) per-function. This fixes PR5278. This breaks backwards compatibility with the metadata format. That's okay because we haven't released the metadata bitcode yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97132 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the first half of redundancy factoring: efficiently Chris Lattner2010-02-251-4/+89
| | | | | | | | | | | splitting all the patterns under scope nodes into equality sets based on their first node. The second step is to rewrite the graph info a form that exposes the sharing. Before I do this, I want to redesign the Scope node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97130 91177308-0d34-0410-b5e6-96231b3b80d8
* Make LoopSimplify change conditional branches in loop exiting blocksDan Gohman2010-02-256-30/+128
| | | | | | | | | | | | | which branch on undef to branch on a boolean constant for the edge exiting the loop. This helps ScalarEvolution compute trip counts for loops. Teach ScalarEvolution to recognize single-value PHIs, when safe, and ForgetSymbolicName to forget such single-value PHI nodes as apprpriate in ForgetSymbolicName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97126 91177308-0d34-0410-b5e6-96231b3b80d8
* factor the print method better.Chris Lattner2010-02-252-100/+69
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97125 91177308-0d34-0410-b5e6-96231b3b80d8
* Dump the presence of attached metadata even if we don't know what it is. ThisNick Lewycky2010-02-251-6/+10
| | | | | | | | | format is not parsable, even if the module is legal. To get parsable output, dump the module instead of the function or smaller, since metadata kind are attached to the module (not the context). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97124 91177308-0d34-0410-b5e6-96231b3b80d8
* add methods to do equality checks and get hashes of MatchersChris Lattner2010-02-252-8/+245
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97123 91177308-0d34-0410-b5e6-96231b3b80d8
* Modernize comment.Nick Lewycky2010-02-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97121 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct whitespace.Nick Lewycky2010-02-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97120 91177308-0d34-0410-b5e6-96231b3b80d8
* Try r96559 for the third time. This time the shared library is only built ifJeffrey Yasskin2010-02-2510-13/+155
| | | | | | | --enable-shared is passed to configure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97119 91177308-0d34-0410-b5e6-96231b3b80d8
* Each field of auxiliary debug entry is only 1 byte long.Sanjiv Gupta2010-02-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97108 91177308-0d34-0410-b5e6-96231b3b80d8
* Added tNOP for disassembly only.Johnny Chen2010-02-251-1/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97105 91177308-0d34-0410-b5e6-96231b3b80d8
* Truncate from i64 to i32 is "free" on x86-32, because it involves Dan Gohman2010-02-251-2/+2
| | | | | | | just discarding one of the registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97100 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert this patch for the time being. Needs more testing.Scott Michel2010-02-253-150/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97099 91177308-0d34-0410-b5e6-96231b3b80d8
* Added tSVC and tTRAP for disassembly only.Johnny Chen2010-02-251-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97098 91177308-0d34-0410-b5e6-96231b3b80d8
* formatting.Chris Lattner2010-02-251-6/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97097 91177308-0d34-0410-b5e6-96231b3b80d8
* rename fooMatcherNode to fooMatcher.Chris Lattner2010-02-256-401/+397
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97096 91177308-0d34-0410-b5e6-96231b3b80d8
* add some noop code to push it out of my tree.Chris Lattner2010-02-251-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97094 91177308-0d34-0410-b5e6-96231b3b80d8
* rename PushMatcherNode -> ScopeMatcherNode to more accuratelyChris Lattner2010-02-256-41/+40
| | | | | | | | reflect what it does. Switch the sense of the Next and the Check arms to be more logical. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97093 91177308-0d34-0410-b5e6-96231b3b80d8
* Large stack frame patch for the CellSPU: handle stack frames that exceed 8176Scott Michel2010-02-253-11/+150
| | | | | | | | | | | | | | (511*16) bytes register displacement (D-form). NOTE: This is a potential headache, given the SPU's local core limitations, allowing the software developer to commit stack overrun suicide unknowingly. Also, large SPU stack frames will cause code size explosion. But, one presumes that the software developer knows what they're doing... Contributed by Kalle.Raiskila@nokia.com, edited slightly before commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97091 91177308-0d34-0410-b5e6-96231b3b80d8
* Filter the future all-of-llvm shared library out of the llvm-configJeffrey Yasskin2010-02-251-0/+2
| | | | | | | | | results. I'm checking this in before the shared library so that I can tell if it breaks anything on its own. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97089 91177308-0d34-0410-b5e6-96231b3b80d8
* MC'ize padding when padding the ULEB128 value.Bill Wendling2010-02-251-7/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97087 91177308-0d34-0410-b5e6-96231b3b80d8
* add a fixme for an experiment that defeated me for the time being.Chris Lattner2010-02-251-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97081 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVM puts padding bytes in the __gcc_except_tab section after theBill Wendling2010-02-243-41/+52
| | | | | | | | | | | GCC_except_table label but before the Lexception, which the FDE references. This causes problems as the FDE does not point to the start of an LSDA chunk. Use an unnormalized uleb128 for the call-site table length that includes the padding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97078 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a bug I introduced by checking the wrong node's VT in OPC_CheckChildXTypeChris Lattner2010-02-241-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97074 91177308-0d34-0410-b5e6-96231b3b80d8
* clean up various VT manipulations, patch by Micah Villmow! PR6337Chris Lattner2010-02-241-9/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97072 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a stack frame on ARM whenJakob Stoklund Olesen2010-02-242-41/+56
| | | | | | | | | | | - Function uses all scratch registers AND - Function does not use any callee saved registers AND - Stack size is too big to address with immediate offsets. In this case a register must be scavenged to calculate the address of a stack object, and the scavenger needs a spare register or emergency spill slot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97071 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR5954, patch by Roman Divacky.Chris Lattner2010-02-241-0/+3
| | | | | | | | I don't have a great way to test this myself (it's linux/bsd only), but Roman says it works. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97069 91177308-0d34-0410-b5e6-96231b3b80d8
* Check for comparisons of +/- zero when optimizing less-than-or-equal andBob Wilson2010-02-242-22/+47
| | | | | | | | | greater-than-or-equal SELECT_CCs to NEON vmin/vmax instructions. This is only allowed when UnsafeFPMath is set or when at least one of the operands is known to be nonzero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97065 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getTypeSizeInBits work correctly for array types; it should returnDan Gohman2010-02-246-20/+106
| | | | | | | | | | | | | | | | the number of value bits, not the number of bits of allocation for in-memory storage. Make getTypeStoreSize and getTypeAllocSize work consistently for arrays and vectors. Fix several places in CodeGen which compute offsets into in-memory vectors to use TargetData information. This fixes PR1784. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97064 91177308-0d34-0410-b5e6-96231b3b80d8
* convert cycle checker to smallptrset, add comments and make itChris Lattner2010-02-241-20/+20
| | | | | | | more elegant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97059 91177308-0d34-0410-b5e6-96231b3b80d8
* revert david's patch which does not even build.Chris Lattner2010-02-241-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97057 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a SmallPtrSet as suggested by Chris.David Greene2010-02-241-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97056 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding function "lookupGCCName" to MBlazeIntrinsicInfoWesley Peck2010-02-245-13/+17
| | | | | | | | | | | | | Adding the function "lookupGCCName" to the MBlazeIntrinsicInfo class to support the Clang MicroBlaze target. Additionally, minor fixes which remove some unused PIC code (PIC is not supported yet in the MicroBlaze backend) and removed some unused variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97054 91177308-0d34-0410-b5e6-96231b3b80d8
* contract movechild+checktype into a new checkchild node, shrinking theChris Lattner2010-02-245-5/+66
| | | | | | | x86 table by 1200 bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97053 91177308-0d34-0410-b5e6-96231b3b80d8
* Added Vector Swap (VSWPd and VSWPq) instructions for disassembly only.Johnny Chen2010-02-241-0/+8
| | | | | | | A8.6.405 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97052 91177308-0d34-0410-b5e6-96231b3b80d8
* split the movechild/record/moveparent -> recordchild optzn into aChris Lattner2010-02-241-16/+22
| | | | | | | | | movechild/record -> recordchild/movechild and movechild/moveparent -> noop xforms. This slightly shrinks the tables (x86 to 117454) and enables adding future improvements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97051 91177308-0d34-0410-b5e6-96231b3b80d8
* ConstantFoldInstOperands can theoretically return null if itDan Gohman2010-02-241-2/+3
| | | | | | | didn't fold anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97049 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify this code; these casts aren't necessary.Dan Gohman2010-02-241-12/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97048 91177308-0d34-0410-b5e6-96231b3b80d8