- Sep 21, 2010
-
-
Evan Cheng authored
define double @foo(double %x, double %y, i1 %c) nounwind { %a = fdiv double %x, 3.2 %z = select i1 %c, double %a, double %y ret double %z } Was: _foo: divsd LCPI0_0(%rip), %xmm0 testb $1, %dil jne LBB0_2 movaps %xmm1, %xmm0 LBB0_2: ret Now: _foo: testb $1, %dil je LBB0_2 divsd LCPI0_0(%rip), %xmm0 ret LBB0_2: movaps %xmm1, %xmm0 ret This avoids the divsd when early exit is taken. rdar://8454886 llvm-svn: 114372
-
Dan Gohman authored
from rdar://8452472. This unbreaks gcc.dg/builtins-17.c. llvm-svn: 114368
-
- Sep 20, 2010
-
-
Owen Anderson authored
llvm-svn: 114354
-
Owen Anderson authored
CombinerAA cannot assume that different FrameIndex's never alias, but can instead use MachineFrameInfo to get the actual offsets of these slots and check for actual aliasing. This fixes CodeGen/X86/2010-02-19-TailCallRetAddrBug.ll and CodeGen/X86/tailcallstack64.ll when CombinerAA is enabled, modulo a different register allocation sequence. llvm-svn: 114348
-
Jim Grosbach authored
between the high and low registers for prologue/epilogue code. This was a Darwin-only thing that wasn't providing a realistic benefit anymore. Combining the save areas simplifies the compiler code and results in better ARM/Thumb2 codegen. For example, previously we would generate code like: push {r4, r5, r6, r7, lr} add r7, sp, #12 stmdb sp!, {r8, r10, r11} With this change, we combine the register saves and generate: push {r4, r5, r6, r7, r8, r10, r11, lr} add r7, sp, #12 rdar://8445635 llvm-svn: 114340
-
Rafael Espindola authored
llvm-svn: 114339
-
Evan Cheng authored
llvm-svn: 114338
-
Francois Pichet authored
Fix the "unable to rename temporary" lit test failing on Windows. rename is now copy + delete on Windows. Problem to be revisited for a permanent and clean solution. llvm-svn: 114320
-
Chris Lattner authored
llvm-svn: 114319
-
- Sep 19, 2010
-
-
NAKAMURA Takumi authored
test/CodeGen/X86: Add explicit triplet -mtriple=i686-linux to 3 tests incompatible to Win32 codegen. r114297 raises 3 failures. They might fail also on mingw. llvm-svn: 114317
-
Owen Anderson authored
llvm-svn: 114313
-
Owen Anderson authored
r114268 fixed the last of the blockers to enabling it. I will be monitoring for failures. llvm-svn: 114312
-
Jakob Stoklund Olesen authored
llvm-svn: 114310
-
Misha Brukman authored
readable and easier to edit. llvm-svn: 114308
-
Chris Lattner authored
llvm-svn: 114304
-
Chris Lattner authored
llvm-svn: 114303
-
Chris Lattner authored
llvm-svn: 114302
-
- Sep 18, 2010
-
-
NAKAMURA Takumi authored
llvm-svn: 114297
-
Eric Christopher authored
Patch by Che-Liang Chiou <clchiou@gmail.com>! llvm-svn: 114294
-
Eric Christopher authored
llvm-svn: 114293
-
Michael J. Spencer authored
llvm-svn: 114292
-
Rafael Espindola authored
llvm-svn: 114285
-
Benjamin Kramer authored
llvm-svn: 114284
-
Gabor Greif authored
restrict dyn_cast_or_null to pointer types, just like cast_or_null; re-commit of r114279, backed out in r114280 llvm-svn: 114282
-
Gabor Greif authored
svn merge -c -114279 llvm/include/llvm/Support/Casting.h llvm-svn: 114280
-
Gabor Greif authored
llvm-svn: 114279
-
Gabor Greif authored
llvm-svn: 114278
-
Gabor Greif authored
llvm-svn: 114277
-
Gabor Greif authored
remove CallSite::get; it is still present (as protected) in the baseclass, use one of the constructors intead llvm-svn: 114275
-
Lang Hames authored
llvm-svn: 114273
-
Lang Hames authored
Added a separate class (PBQPBuilder) for PBQP Problem construction. This class can be extended to support custom constraints. For now the allocator still uses the old (internal) construction mechanism by default. This will be phased out soon assuming no issues with the builder system come up. To invoke the new construction mechanism just pass '-regalloc=pbqp -pbqp-builder' to llc. To provide custom constraints a Target just needs to extend PBQPBuilder and pass an instance of their derived builder to the RegAllocPBQP constructor. llvm-svn: 114272
-
Michael J. Spencer authored
llvm-svn: 114271
-
Evan Cheng authored
llvm-svn: 114270
-
Owen Anderson authored
NO path to the destination containing side effects, not that SOME path contains no side effects. In practice, this only manifests with CombinerAA enabled, because otherwise the chain has little to no branching, so "any" is effectively equivalent to "all". llvm-svn: 114268
-
Eric Christopher authored
llvm-svn: 114263
-
Daniel Dunbar authored
llvm-svn: 114262
-
Daniel Dunbar authored
llvm-svn: 114261
-
Daniel Dunbar authored
llvm-svn: 114260
-
Eric Christopher authored
thumb with floating point. llvm-svn: 114256
-
Eric Christopher authored
llvm-svn: 114254
-