- Mar 12, 2010
-
-
Chris Lattner authored
actually X86_StdCall or X86_FastCall. llvm-svn: 98374
-
Chris Lattner authored
llvm-svn: 98373
-
Chris Lattner authored
llvm-svn: 98372
-
Bill Wendling authored
llvm-svn: 98370
-
Devang Patel authored
llvm-svn: 98369
-
Chris Lattner authored
definitions. llvm-svn: 98368
-
Chris Lattner authored
llvm-svn: 98367
-
Chris Lattner authored
no arguments instead of having to come up with a unique name. This also makes the code less fragile. llvm-svn: 98364
-
Benjamin Kramer authored
string temporary. This should fix PR6590. llvm-svn: 98349
-
- Mar 11, 2010
-
-
Dan Gohman authored
llvm-svn: 98289
-
Bill Wendling authored
llvm-svn: 98281
-
Chris Lattner authored
an MCExpr and not an MCSymbol. Change it to take an MCStreamer, which is currently unused. No functionality change. llvm-svn: 98278
-
Evan Cheng authored
Bad bad bug. x86 force indirect tail call address into eax when it's meant to force it into a call preserved register instead. Change it to ecx for now. llvm-svn: 98270
-
Eric Christopher authored
different codegen. llvm-svn: 98244
-
Daniel Dunbar authored
MC: Sketch initial MCAsmLayout class, which encapsulates the current layout of an assembly file. The MCAsmLayout is also available for use by MCExpr::EvaluateAs{Absolute,Relocatable}, to allow target specific hooks and "absolutizing" of symbols. llvm-svn: 98227
-
Daniel Dunbar authored
llvm-svn: 98221
-
Daniel Dunbar authored
llvm-svn: 98220
-
Chris Lattner authored
convention. Patch by David Terei! llvm-svn: 98212
-
Chris Lattner authored
which doesn't support .quad correctly because it is "really really old". PR6528. Yet another reason the mc assembler should take over ;-) llvm-svn: 98205
-
- Mar 10, 2010
-
-
Bill Wendling authored
indicates that an MCSymbol is external or not. (It's true if it's external.) This will be used to specify the correct information to add to non-lazy pointers. That will be explained further when this bit is used. llvm-svn: 98199
-
Dale Johannesen authored
No functional effect yet. This is still evolving and should not be viewed as final. llvm-svn: 98195
-
Chris Lattner authored
llvm-svn: 98124
-
- Mar 09, 2010
-
-
Daniel Dunbar authored
MC/X86: Rename alternate spellings of ADD{8,16,32} and mark as "code gen only" so they don't get selected by the asm matcher. llvm-svn: 98098
-
Daniel Dunbar authored
MC/X86: Rename alternate spellings of CMP{8,16,32} and mark as "code gen only" so they don't get selected by the asm matcher. llvm-svn: 98097
-
Jim Grosbach authored
is preparatory to having PEI's scavenged frame index value reuse logic properly distinguish types of frame values (e.g., whether the value is stack-pointer relative or frame-pointer relative). No functionality change. llvm-svn: 98086
-
Dan Gohman authored
large code models. llvm-svn: 98042
-
Bill Wendling authored
llvm-svn: 98018
-
Chris Lattner authored
llvm-svn: 98004
-
- Mar 08, 2010
-
-
Kevin Enderby authored
for the encoding and is not the same as vmptrld. llvm-svn: 97992
-
Daniel Dunbar authored
llvm-svn: 97982
-
Chris Lattner authored
pattern which is broken (source and address swapped). llvm-svn: 97958
-
Chris Lattner authored
llvm-svn: 97957
-
Chris Lattner authored
could never have matched because the operand list was backwards. llvm-svn: 97933
-
- Mar 06, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 97888
-
Anton Korobeynikov authored
We cannot use a normal call here since it has extra unmodelled side effects (it changes stack pointer). This should fix PR5292. llvm-svn: 97884
-
- Mar 05, 2010
-
-
Evan Cheng authored
llvm-svn: 97818
-
Evan Cheng authored
Fix an oops in x86 sibcall optimization. If the ByVal callee argument is itself passed as a pointer, then it's obviously not safe to do a tail call. llvm-svn: 97797
-
Evan Cheng authored
llvm-svn: 97782
-
Bill Wendling authored
llvm-svn: 97768
-
Bill Wendling authored
This code: float floatingPointComparison(float x, float y) { double product = (double)x * y; if (product == 0.0) return product; return product - 1.0; } produces this: _floatingPointComparison: 0000000000000000 cvtss2sd %xmm1,%xmm1 0000000000000004 cvtss2sd %xmm0,%xmm0 0000000000000008 mulsd %xmm1,%xmm0 000000000000000c pxor %xmm1,%xmm1 0000000000000010 ucomisd %xmm1,%xmm0 0000000000000014 jne 0x00000004 0000000000000016 jp 0x00000002 0000000000000018 jmp 0x00000008 000000000000001a addsd 0x00000006(%rip),%xmm0 0000000000000022 cvtsd2ss %xmm0,%xmm0 0000000000000026 ret The "jne/jp/jmp" sequence can be reduced to this instead: _floatingPointComparison: 0000000000000000 cvtss2sd %xmm1,%xmm1 0000000000000004 cvtss2sd %xmm0,%xmm0 0000000000000008 mulsd %xmm1,%xmm0 000000000000000c pxor %xmm1,%xmm1 0000000000000010 ucomisd %xmm1,%xmm0 0000000000000014 jp 0x00000002 0000000000000016 je 0x00000008 0000000000000018 addsd 0x00000006(%rip),%xmm0 0000000000000020 cvtsd2ss %xmm0,%xmm0 0000000000000024 ret for a savings of 2 bytes. This xform can happen when we recognize that jne and jp jump to the same "true" MBB, the unconditional jump would jump to the "false" MBB, and the "true" branch is the fall-through MBB. llvm-svn: 97766
-