- Feb 06, 2010
-
-
Evan Cheng authored
only run for x86 with fastisel. I've found it being very effective in eliminating some obvious dead code as result of formal parameter lowering especially when tail call optimization eliminated the need for some of the loads from fixed frame objects. It also shrinks a number of the tests. A couple of tests no longer make sense and are now eliminated. llvm-svn: 95493
-
Bob Wilson authored
llvm-svn: 95488
-
Rafael Espindola authored
llvm-svn: 95477
-
Evan Cheng authored
Do not emit callseq instructions around sibcalls. This eliminated some unnecessary stack adjustments. llvm-svn: 95475
-
Dale Johannesen authored
addresses in dbg.declare; ignore this for the moment to prevent things from breaking. llvm-svn: 95471
-
Victor Hernandez authored
llvm-svn: 95468
-
Victor Hernandez authored
Function-local metadata whose operands had been optimized to no longer refer to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata. llvm-svn: 95467
-
Jakob Stoklund Olesen authored
This time it's for real! I am going to hook this up in the frontends as well. The inliner has some experimental heuristics for dealing with the inline hint. When given a -respect-inlinehint option, functions marked with the inline keyword are given a threshold just above the default for -O3. We need some experiments to determine if that is the right thing to do. llvm-svn: 95466
-
Devang Patel authored
llvm-svn: 95461
-
Bob Wilson authored
Radar 7614112. llvm-svn: 95456
-
Jakob Stoklund Olesen authored
llvm-svn: 95454
-
Jakob Stoklund Olesen authored
llvm-svn: 95453
-
Devang Patel authored
llvm-svn: 95452
-
- Feb 05, 2010
-
-
Chris Lattner authored
llvm-svn: 95448
-
Chris Lattner authored
redundant with a correct one) pattern that was added for the disassembler. llvm-svn: 95446
-
Chris Lattner authored
llvm-svn: 95445
-
Chris Lattner authored
pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0x00,0x00,0x00] instead of like this: pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0000,0000,0000] this only affects 0. llvm-svn: 95441
-
Chris Lattner authored
llvm-svn: 95440
-
Jakob Stoklund Olesen authored
Weird code sometimes uses pointer constants other than null. This patch teaches SimplifyCFG to build switch instructions in those cases. Code like this: void f(const char *x) { if (!x) puts("null"); else if ((uintptr_t)x == 1) puts("one"); else if (x == (char*)2 || x == (char*)3) puts("two"); else if ((intptr_t)x == 4) puts("four"); else puts(x); } Now becomes a switch: define void @f(i8* %x) nounwind ssp { entry: %magicptr23 = ptrtoint i8* %x to i64 ; <i64> [#uses=1] switch i64 %magicptr23, label %if.else16 [ i64 0, label %if.then i64 1, label %if.then2 i64 2, label %if.then9 i64 3, label %if.then9 i64 4, label %if.then14 ] Note that LLVM's own DenseMap uses magic pointers. llvm-svn: 95439
-
Chris Lattner authored
llvm-svn: 95438
-
Chris Lattner authored
llvm-svn: 95437
-
Chris Lattner authored
llvm-svn: 95435
-
Chris Lattner authored
pseudo instructions. llvm-svn: 95433
-
Chris Lattner authored
llvm-svn: 95432
-
Chris Lattner authored
lower the SETB* instructions. llvm-svn: 95431
-
Chris Lattner authored
xform it is checking to actually pass. There is no need to match m_SelectCst<0, -1> since instcombine canonicalizes that into not(sext). Add matches for sext(not(x)) in addition to not(sext(x)). llvm-svn: 95420
-
Chris Lattner authored
llvm-svn: 95414
-
Chris Lattner authored
llvm-svn: 95410
-
Dan Gohman authored
container data. This prevents it from holding onto dangling pointers and potentially behaving unpredictably. llvm-svn: 95409
-
Chris Lattner authored
llvm-svn: 95408
-
Dan Gohman authored
malloc caller in a profile. llvm-svn: 95407
-
Chris Lattner authored
TSFlags directly instead of a TargetInstrDesc. llvm-svn: 95405
-
Chris Lattner authored
llvm-svn: 95403
-
Eric Christopher authored
that in mind. llvm-svn: 95402
-
Johnny Chen authored
llvm-svn: 95397
-
Jeffrey Yasskin authored
llc.cpp also defined these flags, meaning that when I linked all of LLVM's libraries into a single shared library, llc crashed on startup with duplicate flag definitions. This patch passes them through the EngineBuilder into JIT::selectTarget(). llvm-svn: 95390
-
Daniel Dunbar authored
llvm-svn: 95378
-
Chris Lattner authored
llvm-svn: 95368
-
Evan Cheng authored
llvm-svn: 95351
-
Chris Lattner authored
to start limping. llvm-svn: 95350
-