- Oct 10, 2010
-
-
Chris Lattner authored
truncate the stack pointer to 32-bits on a 64-bit machine. llvm-svn: 116169
-
Chris Lattner authored
alignment for PPC32/64, avoiding some masking operations. llvm-gcc expands vaarg inline instead of using the instruction so it has never hit this. llvm-svn: 116168
-
Kenneth Uildriks authored
Now using a variant of the existing inlining heuristics to decide whether to create a given specialization of a function in PartialSpecialization. If the total performance bonus across all callsites passing the same constant exceeds the specialization cost, we create the specialization. llvm-svn: 116158
-
- Oct 09, 2010
-
-
Benjamin Kramer authored
llvm-svn: 116156
-
Michael J. Spencer authored
llvm-svn: 116155
-
Michael J. Spencer authored
llvm-svn: 116151
-
Michael J. Spencer authored
llvm-svn: 116150
-
Michael J. Spencer authored
llvm-svn: 116149
-
Michael J. Spencer authored
llvm-svn: 116148
-
Evan Cheng authored
llvm-svn: 116143
-
Michael J. Spencer authored
llvm-svn: 116142
-
Evan Cheng authored
llvm-svn: 116140
-
Evan Cheng authored
llvm-svn: 116136
-
Evan Cheng authored
llvm-svn: 116135
-
Evan Cheng authored
1. Cortex-A8 load / store multiplies can only issue on ALU0. 2. Eliminate A8_Issue, A8_LSPipe will correctly limit the load / store issues. 3. Correctly model all vld1 and vld2 variants. llvm-svn: 116134
-
Bill Wendling authored
before decrementing. <rdar://problem/8529919> llvm-svn: 116126
-
Chris Lattner authored
the add/or xform. The JIT isn't mcized yet, boo. This fixes Olden/voronoi, bh and a ton of other stuff that uses the jit. llvm-svn: 116125
-
Chris Lattner authored
llvm-svn: 116124
-
Eric Christopher authored
llvm-svn: 116123
-
Jakob Stoklund Olesen authored
functions: computeRemainder and rewrite. When the remainder breaks up into multiple components, remember to rewrite those uses as well. llvm-svn: 116121
-
Evan Cheng authored
llvm-svn: 116119
-
Jakob Stoklund Olesen authored
are still way too long, but it's a start. No functional change intended. llvm-svn: 116116
-
- Oct 08, 2010
-
-
Anton Korobeynikov authored
Such a check does not make any sense in presense of inlining and other compiler-dependent stuff. This should fix bunch of warnings on mingw32. llvm-svn: 116113
-
Jim Grosbach authored
concept level stuff at this point, but it is generally working for those instructions that know how to map the operands. This patch fills in the register operands for add/sub/or/etc instructions and adds the conditional execution predicate encoding. llvm-svn: 116112
-
Jakob Stoklund Olesen authored
llvm-svn: 116105
-
Rafael Espindola authored
are easier to diff with those produced by llvm-mc. llvm-svn: 116095
-
Dan Gohman authored
formulae which become illegal as a result of the offset updating don't escape. This is for rdar://8529692. No testcase yet, because the given cases hit use-list ordering differences. llvm-svn: 116093
-
Cameron Esfahani authored
llvm-svn: 116083
-
Evan Cheng authored
llvm-svn: 116081
-
Evan Cheng authored
implicit. e.g. %D6<def>, %D7<def> = VLD1q16 %R2<kill>, 0, ..., %Q3<imp-def> %Q1<def> = VMULv8i16 %Q1<kill>, %Q3<kill>, ... The real definition indices are 0,1. llvm-svn: 116080
-
Daniel Dunbar authored
llvm-svn: 116072
-
Jim Grosbach authored
''const'ify getMachineOpValue() and associated helpers.' llvm-svn: 116067
-
Jim Grosbach authored
llvm-svn: 116064
-
Andrew Trick authored
llvm-svn: 116063
-
Devang Patel authored
llvm-svn: 116061
-
Jim Grosbach authored
llvm-svn: 116059
-
Kenneth Uildriks authored
Start separating out code metrics into code size metrics and code performance metrics. Partial Specialization will apply the former to function specializations, and the latter to all callsites that can use a specialization, in order to decide whether to create a specialization llvm-svn: 116057
-
Cameron Esfahani authored
Small patch to restore home register stack space allocation for the Win64 case. Add test case. This code eventually needs to be tighter, since it's always allocating it, even in leaf routines. llvm-svn: 116056
-
Bob Wilson authored
callee-saved registers at the end of the lists. Also prefer to avoid using the low registers that are in register subclasses required by certain instructions, so that those registers will more likely be available when needed. This change makes a huge improvement in spilling in some cases. Thanks to Jakob for helping me realize the problem. Most of this patch is fixing the testsuite. There are quite a few places where we're checking for specific registers. I changed those to wildcards in places where that doesn't weaken the tests. The spill-q.ll and thumb2-spill-q.ll tests stopped spilling with this change, so I added a bunch of live values to force spills on those tests. llvm-svn: 116055
-
Chris Lattner authored
the i8 versions of instructions in some cases. In test6, we started generating: cmpq $0, -8(%rsp) ## encoding: [0x48,0x81,0x7c,0x24,0xf8,0x00,0x00,0x00,0x00] ## <MCInst #478 CMP64mi32 ## <MCOperand Reg:114> ## <MCOperand Imm:1> ## <MCOperand Reg:0> ## <MCOperand Imm:-8> ## <MCOperand Reg:0> ## <MCOperand Imm:0>> instead of: cmpq $0, -8(%rsp) ## encoding: [0x48,0x83,0x7c,0x24,0xf8,0x00] ## <MCInst #479 CMP64mi8 ## <MCOperand Reg:114> ## <MCOperand Imm:1> ## <MCOperand Reg:0> ## <MCOperand Imm:-8> ## <MCOperand Reg:0> ## <MCOperand Imm:0>> Fix this and add some comments. llvm-svn: 116053
-