summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add another (and hopefully the last) exception case, where once we recalculateBill Wendling2010-02-261-3/+11
| | | | | | | the alignment requirement, if it no longer makes the TType base offset overflow into extra bytes, then we need to pad to those bytes ourselves. llvm-svn: 97196
* And should use the correct variable.Bill Wendling2010-02-261-1/+1
| | | | llvm-svn: 97193
* Got assertion check backwards.Bill Wendling2010-02-261-1/+1
| | | | llvm-svn: 97192
* Catch a corner case where adding the padding to the "TType base offset" fieldBill Wendling2010-02-251-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | will eliminate the need for padding in the "Call site table length". E.g., if we have this: GCC_except_table1: Lexception1: .byte 0xff ## @LPStart Encoding = omit .byte 0x9b ## @TType Encoding = indirect pcrel sdata4 .byte 0x7f ## @TType base offset .byte 0x03 ## Call site Encoding = udata4 .byte 0x89 ## Call site table length with padding of 1. We want to emit the padding like this: GCC_except_table1: Lexception1: .byte 0xff ## @LPStart Encoding = omit .byte 0x9b ## @TType Encoding = indirect pcrel sdata4 .byte 0xff ## @TType base offset .space 1,0 ## Padding .byte 0x03 ## Call site Encoding = udata4 .byte 0x89 ## Call site table length and not with padding on the "Call site table length" entry. llvm-svn: 97183
* rewrite OptimizeGlobalAddressOfMalloc to fix PR6422, some bugsChris Lattner2010-02-251-79/+73
| | | | | | introduced when mallocinst was eliminated. llvm-svn: 97178
* Make comment more meaningful.Bill Wendling2010-02-251-1/+2
| | | | llvm-svn: 97169
* Fix ExpandVectorBuildThroughStack for the case where theDan Gohman2010-02-251-3/+3
| | | | | | | operands are themselves vectors. Based on a patch by Micah Villmow for PR6338. llvm-svn: 97165
* Added the following 32-bit Thumb instructions for disassembly only: SMC, RFE,Johnny Chen2010-02-251-0/+59
| | | | | | and SRS. llvm-svn: 97164
* Added the 32-bit Thumb instructions (BXJ) for disassembly only.Johnny Chen2010-02-251-0/+11
| | | | llvm-svn: 97163
* Added the 32-bit Thumb instructions (MRS and MSR) for disassembly only.Johnny Chen2010-02-251-0/+50
| | | | llvm-svn: 97159
* This is a patch to the assembler frontend to detect when aligning a textKevin Enderby2010-02-251-3/+9
| | | | | | | | section with TextAlignFillValue and calls EmitCodeAlignment() instead of calling EmitValueToAlignment(). This allows x86 assembly code to be aligned with optimal nops. llvm-svn: 97158
* Fix TextAlignFillValue in a few placesDaniel Dunbar2010-02-251-0/+4
| | | | llvm-svn: 97151
* Added the following 16-bit Thumb instructions for disassembly only: YIELD, WFE,Johnny Chen2010-02-251-0/+42
| | | | | | WFI, SEV, SETEND. llvm-svn: 97149
* Teach the constant folder about union types.Dan Gohman2010-02-251-0/+34
| | | | llvm-svn: 97142
* Remove code which assumes it knows how vectors are stored in memory.Dan Gohman2010-02-251-12/+2
| | | | llvm-svn: 97141
* Revert r97064. Duncan pointed out that bitcasts are defined inDan Gohman2010-02-254-65/+13
| | | | | | | | terms of store and load, which means bitcasting between scalar integer and vector has endian-specific results, which undermines this whole approach. llvm-svn: 97137
* 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. llvm-svn: 97132
* Make LoopSimplify change conditional branches in loop exiting blocksDan Gohman2010-02-253-27/+61
| | | | | | | | | | | | 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. llvm-svn: 97126
* 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). llvm-svn: 97124
* Modernize comment.Nick Lewycky2010-02-251-1/+1
| | | | llvm-svn: 97121
* Correct whitespace.Nick Lewycky2010-02-251-1/+1
| | | | llvm-svn: 97120
* Each field of auxiliary debug entry is only 1 byte long.Sanjiv Gupta2010-02-251-1/+1
| | | | llvm-svn: 97108
* Added tNOP for disassembly only.Johnny Chen2010-02-251-1/+8
| | | | llvm-svn: 97105
* 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. llvm-svn: 97100
* Revert this patch for the time being. Needs more testing.Scott Michel2010-02-253-150/+11
| | | | llvm-svn: 97099
* Added tSVC and tTRAP for disassembly only.Johnny Chen2010-02-251-0/+18
| | | | llvm-svn: 97098
* 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. llvm-svn: 97091
* MC'ize padding when padding the ULEB128 value.Bill Wendling2010-02-251-7/+5
| | | | llvm-svn: 97087
* 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. llvm-svn: 97078
* clean up various VT manipulations, patch by Micah Villmow! PR6337Chris Lattner2010-02-241-9/+6
| | | | llvm-svn: 97072
* Create a stack frame on ARM whenJakob Stoklund Olesen2010-02-241-41/+41
| | | | | | | | | | | - 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. llvm-svn: 97071
* Check for comparisons of +/- zero when optimizing less-than-or-equal andBob Wilson2010-02-241-22/+31
| | | | | | | | 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. llvm-svn: 97065
* Make getTypeSizeInBits work correctly for array types; it should returnDan Gohman2010-02-244-13/+65
| | | | | | | | | | | | | | | 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. llvm-svn: 97064
* convert cycle checker to smallptrset, add comments and make itChris Lattner2010-02-241-20/+20
| | | | | | more elegant. llvm-svn: 97059
* revert david's patch which does not even build.Chris Lattner2010-02-241-4/+4
| | | | llvm-svn: 97057
* Use a SmallPtrSet as suggested by Chris.David Greene2010-02-241-4/+4
| | | | llvm-svn: 97056
* 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. llvm-svn: 97054
* Added Vector Swap (VSWPd and VSWPq) instructions for disassembly only.Johnny Chen2010-02-241-0/+8
| | | | | | A8.6.405 llvm-svn: 97052
* ConstantFoldInstOperands can theoretically return null if itDan Gohman2010-02-241-2/+3
| | | | | | didn't fold anything. llvm-svn: 97049
* Simplify this code; these casts aren't necessary.Dan Gohman2010-02-241-12/+4
| | | | llvm-svn: 97048
* Stay away from str <undef> in ARMLoadStoreOpt. This pass does not understandJakob Stoklund Olesen2010-02-241-1/+9
| | | | | | | <undef> operands, and can cause scavenger failures when it translates <kill,undef> to <kill>. llvm-svn: 97046
* Fixed typo of opcodestr, should be "vst1", not "vld1".Johnny Chen2010-02-241-9/+9
| | | | llvm-svn: 97044
* Convert a few more backedge-taken count functions to use BackedgeTakenInfo.Dan Gohman2010-02-241-14/+13
| | | | llvm-svn: 97042
* Speculatively revert r97011, "Re-apply 96540 and 96556 with fixes.", again inDaniel Dunbar2010-02-243-122/+25
| | | | | | the hopes of fixing PPC bootstrap. llvm-svn: 97040
* Reapply r97010, the speculative revert failed.Daniel Dunbar2010-02-243-39/+30
| | | | llvm-svn: 97036
* Speculatively revert r97010, "Add an argument to PHITranslateValue to specifyDaniel Dunbar2010-02-243-30/+39
| | | | | | the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap. llvm-svn: 97027
* When forming SSE min and max nodes for UGE and ULE comparisons, it'sDan Gohman2010-02-242-10/+97
| | | | | | | | | | | necessary to swap the operands to handle NaN and negative zero properly. Also, reintroduce logic for checking for NaN conditions when forming SSE min and max instructions, fixed to take into consideration NaNs and negative zeros. This allows forming min and max instructions in more cases. llvm-svn: 97025
* Fix indentation.Dan Gohman2010-02-241-10/+10
| | | | llvm-svn: 97024
* Change the scheduler from adding nodes in allnodes orderChris Lattner2010-02-241-2/+14
| | | | | | | | | | | | | | | | | | to adding them in a determinstic order (bottom up from the root) based on the structure of the graph itself. This updates tests for some random changes, interesting bits: CodeGen/Blackfin/promote-logic.ll no longer crashes. I have no idea why, but that's good right? CodeGen/X86/2009-07-16-LoadFoldingBug.ll also fails, but now compiles to have one fewer constant pool entry, making the expected load that was being folded disappear. Since it is an unreduced mass of gnast, I just removed it. This fixes PR6370 llvm-svn: 97023
* Remove an unused variable. Was this intentional?Chandler Carruth2010-02-241-1/+0
| | | | llvm-svn: 97022
OpenPOWER on IntegriCloud