- Jun 23, 2011
-
-
Bill Wendling authored
If the linker supports it, this will hold the CIE and FDE information in a compact format. The implementation of the compact unwinding emission is coming soon. llvm-svn: 133658
-
- Jun 22, 2011
-
-
Jim Grosbach authored
llvm-svn: 133640
-
Jim Grosbach authored
Just tidy up a bit. No functional change. llvm-svn: 133638
-
Justin Holewinski authored
llvm-svn: 133619
-
Dan Bailey authored
llvm-svn: 133613
-
Justin Holewinski authored
llvm-svn: 133599
-
Justin Holewinski authored
Patch by Wei-Ren Chen llvm-svn: 133589
-
Nick Lewycky authored
to emit "movd" across the board to continue supporting a Darwin assembler bug. This is the reincarnation of r133452. llvm-svn: 133565
-
Eric Christopher authored
Noticed on inspection. llvm-svn: 133553
-
- Jun 21, 2011
-
-
Evan Cheng authored
llvm-svn: 133533
-
Bob Wilson authored
This is breaking compiler-rt and llvm-gcc builds on MacOSX when not using the integrated assembler. llvm-svn: 133524
-
Anna Zaks authored
Add support for sadd.with.overflow and uadd.with.overflow intrinsics to the CBackend by emitting definitions for each intrinsic that occurs in the module. llvm-svn: 133522
-
Jay Foad authored
self-hosted build failure has been fixed (r133512). llvm-svn: 133513
-
Evan Cheng authored
1. (((x) & 0xFF00) >> 8) | (((x) & 0x00FF) << 8) => (bswap x) >> 16 2. ((x&0xff)<<8)|((x&0xff00)>>8)|((x&0xff000000)>>8)|((x&0x00ff0000)<<8)) => (rotl (bswap x) 16) This allows us to eliminate most of the def : Pat patterns for ARM rev16 revsh instructions. It catches many more cases for ARM and x86. rdar://9609108 llvm-svn: 133503
-
Chad Rosier authored
llvm-svn: 133499
-
Akira Hatanaka authored
handle functions with return type Complex long long. llvm-svn: 133497
-
Akira Hatanaka authored
llvm-svn: 133496
-
Akira Hatanaka authored
llvm-svn: 133494
-
- Jun 20, 2011
-
-
Justin Holewinski authored
llvm-svn: 133454
-
Nick Lewycky authored
movd when assembling. llvm-svn: 133452
-
Justin Holewinski authored
llvm-svn: 133447
-
Justin Holewinski authored
The current implementation generates stack loads/stores, which are really just mov instructions from/to "special" registers. This may not be the most efficient implementation, compared to an approach where the stack registers are directly folded into instructions, but this is easier to implement and I have yet to see a case where ptxas is unable to see through this kind of register usage and know what is really going on. llvm-svn: 133443
-
Roman Divacky authored
with 32bit values. llvm-svn: 133439
-
Jay Foad authored
Change PHINodes to store simple pointers to their incoming basic blocks, instead of full-blown Uses. Note that this loses an optimization in SplitCriticalEdge(), because we can no longer walk the use list of a BasicBlock to find phi nodes. See the comment I removed starting "However, the foreach loop is slow for blocks with lots of predecessors". Extend replaceAllUsesWith() on a BasicBlock to also update any phi nodes in the block's successors. This mimics what would have happened when PHINodes were proper Users of their incoming blocks. (Note that this only works if OldBB->replaceAllUsesWith(NewBB) is called when OldBB still has a terminator instruction, so it still has some successors.) llvm-svn: 133435
-
Jay Foad authored
Change various bits of code to make better use of the existing PHINode API, to insulate them from forthcoming changes in how PHINodes store their operands. llvm-svn: 133434
-
- Jun 19, 2011
-
-
Jay Foad authored
const Constant *. llvm-svn: 133400
-
- Jun 18, 2011
-
-
Benjamin Kramer authored
llvm-svn: 133347
-
Jakob Stoklund Olesen authored
llvm-svn: 133331
-
Jakob Stoklund Olesen authored
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
-
Jakob Stoklund Olesen authored
llvm-svn: 133325
-
Jakob Stoklund Olesen authored
llvm-svn: 133321
-
Jakob Stoklund Olesen authored
llvm-svn: 133310
-
Jakob Stoklund Olesen authored
llvm-svn: 133308
-
- Jun 17, 2011
-
-
Bill Wendling authored
llvm-svn: 133292
-
Evan Cheng authored
Add an alternative rev16 pattern. We should figure out a better way to handle these complex rev patterns. rdar://9609108 llvm-svn: 133289
-
Bill Wendling authored
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
-
Roman Divacky authored
llvm-svn: 133260
-
Justin Holewinski authored
* rounding modes for fp add, mul, sub now use .rn * float -> int rounding correctly uses .rzi not .rni * 32bit fdiv for sm13 uses div.rn (instead of div.approx) * 32bit fdiv for sm10 now uses div (instead of div.approx) Approx is not IEEE 754 compatible (and should be optionally set by a flag to the backend instead). The .rn rounding modifier is the PTX default anyway, but it's better to be explicit. All these modifiers should be available by using __fmul_rz functions for example, but support will need to be added for this in the backend. Patch by Dan Bailey llvm-svn: 133253
-
Jakob Stoklund Olesen authored
The reserved R14-R15 are always saved in the prolog, and using CSRs starting from R13 allows them to be saved in one instruction. Thanks to Anton for explaining this. llvm-svn: 133233
-
Cameron Zwarich authored
tail call pseudoinstruction. This fixes <rdar://problem/9624333>. llvm-svn: 133227
-