summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR10103: Less code for enum type translation.Hans Wennborg2011-06-183-1/+111
| | | | | | | | | | | In cases such as the attached test, where the case value for a switch destination is used in a phi node that follows the destination, it might be better to replace that value with the condition value of the switch, so that more blocks can be folded away with TryToSimplifyUncondBranchFromEmptyBlock because there are less conflicts in the phi node. llvm-svn: 133344
* Add test for r133251.Nick Lewycky2011-06-181-0/+26
| | | | llvm-svn: 133339
* When scalar replacement returns a vector type, only accept it if the vectorCameron Zwarich2011-06-183-2/+24
| | | | | | | | | | | | type's bitwidth matches the (allocated) size of the alloca. This severely pessimizes vector scalar replacement when the only vector type being used is something like <3 x float> on x86 or ARM whose allocated size matches a <4 x float>. I hope to fix some of the flawed assumptions about allocated size throughout scalar replacement and reenable this in most cases. llvm-svn: 133338
* rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which isChris Lattner2011-06-1885-4255/+1390
| | | | | | | | | for pre-2.9 bitcode files. We keep x86 unaligned loads, movnt, crc32, and the target indep prefetch change. As usual, updating the testsuite is a PITA. llvm-svn: 133337
* Fix an invalid bitcast crash that occurs when doing a partial memset of a vectorCameron Zwarich2011-06-182-3/+37
| | | | | | alloca. Fixes part of <rdar://problem/9580800>. llvm-svn: 133336
* Remove a pointless assignment. Nothing checks the value of VectorTy anymore nowCameron Zwarich2011-06-181-1/+0
| | | | | | unless ScalarKind is Vector. llvm-svn: 133335
* Use the correct comparator to avoid depending on pointer values.Jakob Stoklund Olesen2011-06-181-1/+2
| | | | | | This should fix the Linux buildbots. llvm-svn: 133334
* Store CodeGenRegisters as pointers so they won't be reallocated.Jakob Stoklund Olesen2011-06-189-71/+50
| | | | | | | Reuse the CodeGenRegBank DenseMap in a few places that would build their own or use linear search. llvm-svn: 133333
* Remove MethodProtos/MethodBodies and allocation_order_begin/end.Jakob Stoklund Olesen2011-06-185-37/+3
| | | | | | | | | | | | | | Targets that need to change the default allocation order should use the AltOrders mechanism instead. See the X86 and ARM targets for examples. The allocation_order_begin() and allocation_order_end() methods have been replaced with getRawAllocationOrder(), and there is further support functions in RegisterClassInfo. It is no longer possible to insert arbitrary code into generated register classes. This is a feature. llvm-svn: 133332
* Delete unneeded allocation order override.Jakob Stoklund Olesen2011-06-181-11/+1
| | | | llvm-svn: 133331
* Switch ARM to using AltOrders instead of MethodBodies.Jakob Stoklund Olesen2011-06-182-224/+27
| | | | | | | | | This slightly changes the GPR allocation order on Darwin where R9 is not a callee-saved register: Before: %R0 %R1 %R2 %R3 %R12 %R9 %LR %R4 %R5 %R6 %R8 %R10 %R11 After: %R0 %R1 %R2 %R3 %R9 %R12 %LR %R4 %R5 %R6 %R8 %R10 %R11 llvm-svn: 133326
* Switch x86 to using AltOrders instead of MethodBodies.Jakob Stoklund Olesen2011-06-181-67/+6
| | | | llvm-svn: 133325
* Moved to the right place.Galina Kistanova2011-06-182-0/+5
| | | | llvm-svn: 133324
* Reserve D16-D13 on subtargets that don't support them.Jakob Stoklund Olesen2011-06-181-0/+6
| | | | llvm-svn: 133321
* Provide AltOrders for specifying alternative allocation orders.Jakob Stoklund Olesen2011-06-184-7/+75
| | | | | | | | | | | | A register class can define AltOrders and AltOrderSelect instead of defining method protos and bodies. The AltOrders lists can be defined with set operations, and TableGen can verify that the alternative allocation orders only contain valid registers. This is currently an opt-in feature, and it is still possible to override allocation_order_begin/end. That will not be true for long. llvm-svn: 133320
* * Override the "EmitBytes" function, since it can sneak values in that way.Bill Wendling2011-06-181-1/+18
| | | | | | * Make this used only if CFI is used. llvm-svn: 133319
* Fix UMULO support for 2x register width to allow the fullEric Christopher2011-06-182-2/+66
| | | | | | | | | range without a libcall to a new mulo<mode> libcall that we'd have to create. Finishes the rest of rdar://9090077 and rdar://9210061 llvm-svn: 133318
* Remove false assertion.Bill Wendling2011-06-171-3/+1
| | | | llvm-svn: 133314
* Only call TRI::getRawAllocationOrder to resolve a target-dependent hint.Jakob Stoklund Olesen2011-06-171-2/+6
| | | | llvm-svn: 133313
* Zap the last reference to allocation_order_begin().Jakob Stoklund Olesen2011-06-171-3/+3
| | | | llvm-svn: 133310
* SI, DI, BP, and SP don't have 8-bit sub-registers in x86 mode.Jakob Stoklund Olesen2011-06-171-2/+9
| | | | llvm-svn: 133308
* Fix comment.Eric Christopher2011-06-171-2/+1
| | | | llvm-svn: 133307
* Fix -Asserts buildMatt Beaumont-Gay2011-06-171-2/+1
| | | | llvm-svn: 133305
* Revert r133285. Causing odd failures on Dragonegg.Chad Rosier2011-06-171-4/+5
| | | | llvm-svn: 133301
* Disable for another investigation.Bill Wendling2011-06-171-1/+2
| | | | llvm-svn: 133299
* Set debug loc for new preheader's terminator.Devang Patel2011-06-171-0/+1
| | | | llvm-svn: 133298
* Support only DwarfCFI or SjLj exception handling in LSDA decoder.Bill Wendling2011-06-171-1/+5
| | | | llvm-svn: 133297
* SjLj exception handling LSDA decoding support wasn't represented correctly. UseBill Wendling2011-06-171-17/+15
| | | | | | | the correct values, etc. In particular, the exception handling type is SjLj, not ARM. llvm-svn: 133296
* Disable to investigate ARM failure.Bill Wendling2011-06-171-1/+2
| | | | llvm-svn: 133293
* Use the verbose asm flag instead of a new flag for decoding the LSDA.Bill Wendling2011-06-177-25/+11
| | | | llvm-svn: 133292
* Fix a bug in the type-lowering of integer-promoted elements. Add a check thatNadav Rotem2011-06-172-2/+1469
| | | | | | | the newly created simple type is valid before checking its legality. Re-commit the test file. llvm-svn: 133291
* Add an alternative rev16 pattern. We should figure out a better way to ↵Evan Cheng2011-06-173-0/+29
| | | | | | handle these complex rev patterns. rdar://9609108 llvm-svn: 133289
* Lower multiply with overflow checking to __mulo<mode>Eric Christopher2011-06-175-5/+113
| | | | | | | | | calls if we haven't been able to lower them any other way. Fixes rdar://9090077 and rdar://9210061 llvm-svn: 133288
* Add an option that allows one to "decode" the LSDA.Bill Wendling2011-06-177-17/+395
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The LSDA is a bit difficult for the non-initiated to read. Even with comments, it's not always clear what's going on. This wraps the ASM streamer in a class that retains the LSDA and then emits a human-readable description of what's going on in it. So instead of having to make sense of: Lexception1: .byte 255 .byte 155 .byte 168 .space 1 .byte 3 .byte 26 Lset0 = Ltmp7-Leh_func_begin1 .long Lset0 Lset1 = Ltmp812-Ltmp7 .long Lset1 Lset2 = Ltmp913-Leh_func_begin1 .long Lset2 .byte 3 Lset3 = Ltmp812-Leh_func_begin1 .long Lset3 Lset4 = Leh_func_end1-Ltmp812 .long Lset4 .long 0 .byte 0 .byte 1 .byte 0 .byte 2 .byte 125 .long __ZTIi@GOTPCREL+4 .long __ZTIPKc@GOTPCREL+4 you can read this instead: ## Exception Handling Table: Lexception1 ## @LPStart Encoding: omit ## @TType Encoding: indirect pcrel sdata4 ## @TType Base: 40 bytes ## @CallSite Encoding: udata4 ## @Action Table Size: 26 bytes ## Action 1: ## A throw between Ltmp7 and Ltmp812 jumps to Ltmp913 on an exception. ## For type(s): __ZTIi@GOTPCREL+4 __ZTIPKc@GOTPCREL+4 ## Action 2: ## A throw between Ltmp812 and Leh_func_end1 does not have a landing pad. llvm-svn: 133286
* Relocate NUW test to cover all binary ops in a dynamic alloca expr.Stuart Hastings2011-06-171-5/+4
| | | | | | Followup to 132926. rdar://problem/9265821 llvm-svn: 133285
* est 2008-06-04-indirectmem.ll is X86-specific. Move to X86 folder.Galina Kistanova2011-06-171-0/+0
| | | | llvm-svn: 133275
* Drop the "2" suffix on some enums.Chris Lattner2011-06-174-12/+12
| | | | llvm-svn: 133274
* remove support for a bunch of obsolete instruction encodingsChris Lattner2011-06-1721-346/+17
| | | | | | and other backward compatibility hacks. llvm-svn: 133273
* Remove a useless copy of MCELFStreamer. Patch by Logan Chien!Benjamin Kramer2011-06-171-134/+0
| | | | llvm-svn: 133272
* getSuccWeight returns now default 0 if Weights vector is empty.Jakub Staszak2011-06-171-2/+4
| | | | llvm-svn: 133271
* missed a file.Chris Lattner2011-06-171-5/+5
| | | | llvm-svn: 133270
* Remove some "2" suffixes from the metadata enums now that "1" is gone.Chris Lattner2011-06-173-15/+15
| | | | llvm-svn: 133269
* remove bitcode reader support for LLVM 2.7 metadata encoding.Chris Lattner2011-06-174-61/+6
| | | | llvm-svn: 133268
* remove another old and dead hunk of code.Chris Lattner2011-06-171-4/+0
| | | | llvm-svn: 133267
* Stop accepting and ignoring attributes in function types. Attributes are ↵Chris Lattner2011-06-177-36/+11
| | | | | | | | applied to functions and call/invokes, not to types. llvm-svn: 133266
* Allow empty Weights vector.Jakub Staszak2011-06-171-1/+2
| | | | llvm-svn: 133265
* Fix a few places where 32bit instructions/registerset were used on PPC64.Roman Divacky2011-06-173-4/+27
| | | | llvm-svn: 133260
* Test for previous commit.Rafael Espindola2011-06-171-0/+85
| | | | llvm-svn: 133256
* Two fixes relating to debug value:Rafael Espindola2011-06-171-0/+10
| | | | | | | | * We should change the generated code because of a debug use. * Avoid creating debug uses of undef, as they become a kill. Test to follow. llvm-svn: 133255
* Fix typo in comment.Jay Foad2011-06-171-1/+1
| | | | llvm-svn: 133254
OpenPOWER on IntegriCloud