- May 26, 2010
-
-
Benjamin Kramer authored
llvm-svn: 104648
-
Bill Wendling authored
llvm-svn: 104646
-
- May 25, 2010
-
-
Dan Gohman authored
llvm-svn: 104645
-
Dan Gohman authored
llvm-svn: 104644
-
Eric Christopher authored
as well. llvm-svn: 104642
-
Bill Wendling authored
If you have a setjmp/longjmp situation, it's possible for stack slot coloring to reuse a stack slot before it's really dead. For instance, if we have something like this: 1: y = g; x = sigsetjmp(env, 0); switch (x) { case 1: /* ... */ goto run; case 0: run: do_run(); /* marked as "no return" */ break; case 3: if (...) { /* ... */ goto run; } /* ... */ break; } 2: g = y; "y" may be put onto the stack, so the expression "g = y" is relying upon the fact that the stack slot containing "y" isn't modified between (1) and (2). But it can be, because of the "no return" calls in there. A longjmp might come back with 3, modify the stack slot, and then go to case 0. And it's perfectly acceptable to reuse the stack slot there because there's no CFG flow from case 3 to (2). The fix is to disable certain optimizations in these situations. Ideally, we'd disable them for all "returns twice" functions. But we don't support that attribute. Check for "setjmp" and "sigsetjmp" instead. llvm-svn: 104640
-
Eric Christopher authored
and testcases accordingly. llvm-svn: 104635
-
Kevin Enderby authored
are st(0). These can be encoded using an opcode for storing in st(0) or using an opcode for storing in st(i), where i can also be 0. To allow testing with the darwin assembler and get a matching binary the opcode for storing in st(0) is now used. To do this the same logical trick is use from the darwin assembler in converting things like this: fmul %st(0), %st into this: fmul %st(0) by looking for the second operand being X86::ST0 for specific floating point mnemonics then removing the second X86::ST0 operand. This also has the add benefit to allow things like: fmul %st(1), %st that llvm-mc did not assemble. llvm-svn: 104634
-
Jakob Stoklund Olesen authored
llvm-svn: 104629
-
Jakob Stoklund Olesen authored
llvm-svn: 104628
-
Jakob Stoklund Olesen authored
SubRegIndex instances are now numbered uniquely the same way Register instances are - in lexicographical order by name. llvm-svn: 104627
-
Daniel Dunbar authored
llvm-svn: 104626
-
Dale Johannesen authored
Mon Ping provided; unfortunately bugpoint failed to reduce it, but I think it's important to have a test for this in the suite. 8023512. llvm-svn: 104624
-
Daniel Dunbar authored
llvm-svn: 104622
-
Kevin Enderby authored
for the 64-bit version of the Bit Test instruction. llvm-svn: 104621
-
Dale Johannesen authored
(oye, a word which should be better known to people writing tree traversals, means grandchild.) llvm-svn: 104619
-
Eric Christopher authored
Fixes rdar://8017638 llvm-svn: 104617
-
Jakob Stoklund Olesen authored
This passes lit tests, but I'll give it a go through the buildbots to smoke out any remaining places that depend on the old SubRegIndex numbering. Then I'll remove NumberHack entirely. llvm-svn: 104615
-
Jakob Stoklund Olesen authored
llvm-svn: 104612
-
Jakob Stoklund Olesen authored
The cases in getMatchingSuperRegClass cannot be broken up until the enums have unique values. llvm-svn: 104611
-
Zonr Chang authored
Add missing implementation to the materialization of VFP misc. instructions (vmrs, vmsr and vmov (immediate)) llvm-svn: 104588
-
Zonr Chang authored
llvm-svn: 104587
-
Bob Wilson authored
I don't know of any particular reason why that would be important, but neither can I see any reason to disallow it. llvm-svn: 104583
-
Bob Wilson authored
Thumb2 ADD and SUB instructions: allow RSB instructions be changed to set the condition codes, and allow RSBS instructions to be predicated. llvm-svn: 104582
-
Bob Wilson authored
llvm-svn: 104580
-
Jakob Stoklund Olesen authored
llvm-svn: 104574
-
Jakob Stoklund Olesen authored
llvm-svn: 104573
-
Bill Wendling authored
llvm-svn: 104572
-
Jakob Stoklund Olesen authored
llvm-svn: 104571
-
Bob Wilson authored
version of t2MVN already allowed that, but not the register versions. llvm-svn: 104570
-
- May 24, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 104564
-
Jakob Stoklund Olesen authored
structure that represents a mapping without any dependencies on SubRegIndex numbering. This brings us closer to being able to remove the explicit SubRegIndex numbering, and it is now possible to specify any mapping without inventing *_INVALID register classes. llvm-svn: 104563
-
Evan Cheng authored
llvm-svn: 104560
-
Dan Gohman authored
llvm-svn: 104552
-
Kevin Enderby authored
llvm-svn: 104549
-
Bob Wilson authored
llvm-svn: 104544
-
Bob Wilson authored
Fix it by changing the T2I_rbin_s_is multiclass to handle the CPSR output and 'S' suffix in the same way as T2I_bin_s_irs. llvm-svn: 104531
-
Devang Patel authored
This fixes recent regression in store.exp from gdb testsuite. llvm-svn: 104524
-
Evan Cheng authored
llvm-svn: 104518
-
Jakob Stoklund Olesen authored
never used. llvm-svn: 104517
-