- Jun 20, 2009
-
-
Chris Lattner authored
a global with that gets printed with the :mem modifier. All operands to lea's should be handled with the lea32mem operand kind, and this allows the TLS stuff to do this. There are several better ways to do this, but I went for the minimal change since I can't really test this (beyond make check). This also makes the use of EBX explicit in the operand list in the 32-bit, instead of implicit in the instruction. llvm-svn: 73834
-
Chris Lattner authored
with MBB's. llvm-svn: 73830
-
Chris Lattner authored
it as a pcrel immediate instead. This gets pc-rel weirdness out of the main printoperand codepath. llvm-svn: 73829
-
Chris Lattner authored
llvm-svn: 73824
-
Chris Lattner authored
llvm-svn: 73818
-
Chris Lattner authored
LEA64_32r, eliminating a bunch of modifier logic stuff on addr modes. Implement support for printing mbb labels as operands. llvm-svn: 73817
-
Devang Patel authored
llvm-svn: 73813
-
Chris Lattner authored
llvm-svn: 73811
-
Chris Lattner authored
step is to make tblgen generate something more appropriate for MCInst, and generate calls to operand translation routines where needed. This includes a bunch of #if 0 code which will slowly be refactored into something sensible. llvm-svn: 73810
-
Chris Lattner authored
on X86. Not useful yet. llvm-svn: 73799
-
Devang Patel authored
llvm-svn: 73792
-
- Jun 19, 2009
-
-
Devang Patel authored
llvm-svn: 73784
-
Eli Friedman authored
handle with an SSE2 instruction. llvm-svn: 73760
-
Eli Friedman authored
Patch by Benedict Gaster. llvm-svn: 73753
-
Chris Lattner authored
llvm-svn: 73744
-
Chris Lattner authored
implementation. The idea is that we want asmprinting to work by converting MachineInstrs into a new MCInst class, then the per-instruction asmprinter works on MCInst. MCInst and the new asmprinters will not depend on most of the llvm code generators. This allows building diassemblers that don't link in the whole llvm code generator. This is step #1 of many. llvm-svn: 73743
-
Chris Lattner authored
into DarwinTargetAsmInfo.cpp. The remaining differences should be evaluated. It seems strange that x86/arm has .zerofill but ppc doesn't, etc. llvm-svn: 73742
-
Chris Lattner authored
llvm-svn: 73738
-
Chris Lattner authored
llvm-svn: 73737
-
Chris Lattner authored
llvm-svn: 73736
-
- Jun 18, 2009
-
-
Evan Cheng authored
On Darwin, ams printer should output a second label before a jump table so the linker knows it's a new atom. But this is only needed if the jump table is put in a separate section from the function body. llvm-svn: 73720
-
- Jun 17, 2009
-
-
Devang Patel authored
Do not use first actual instruction's location for prologue. The debug wants to skip prologue while setting a breakpoint for the function. llvm-svn: 73592
-
- Jun 16, 2009
-
-
Douglas Gregor authored
initialization of all targets (InitializeAllTargets.h) or assembler printers (InitializeAllAsmPrinters.h). This is a step toward the elimination of relinked object files, so that we can build normal archives. llvm-svn: 73543
-
Evan Cheng authored
llvm-svn: 73536
-
Eli Friedman authored
llvm-svn: 73476
-
Chris Lattner authored
llvm-svn: 73472
-
Chris Lattner authored
llvm-svn: 73471
-
Bill Wendling authored
llvm-svn: 73468
-
Bill Wendling authored
comes after the DW_CFA_def_cfa_register, because the CFA is really ESP from the start of the function and only gets an offset when the "subl $xxx,%esp" instruction happens, not the other way around. And reapply r72898: The DWARF unwind info was incorrect. While compiling with `-fomit-frame-pointer', we would lack the DW_CFA_advance_loc information for a lot of function, and then they would be `0'. The linker (at least on Darwin) needs to encode the stack size. In some cases, the stack size is too large to directly encode. So the linker checks to see if there is a "subl $xxx,%esp" instruction at the point where the `DW_CFA_def_cfa_offset' says the pc was. If so, the compact encoding records the offset in the function to where the stack size is embedded. But because the `DW_CFA_advance_loc' instructions are missing, it looks before the function and dies. So, instead of emitting the EH debug label before the stack adjustment operations, emit it afterwards, right before the frame move stuff. llvm-svn: 73465
-
- Jun 15, 2009
-
-
Bill Wendling authored
llvm-svn: 73417
-
Bill Wendling authored
that push immediate operands of 1, 2, and 4 bytes (extended to the native register size in each case). The assembly mnemonics are "pushl" and "pushq." One such instruction appears at the beginning of the "start" function , so this is essential for accurate disassembly when unwinding." Patch by Sean Callanan! llvm-svn: 73407
-
Chris Lattner authored
llvm-svn: 73373
-
Chris Lattner authored
llvm-svn: 73372
-
Chris Lattner authored
llvm-svn: 73366
-
- Jun 12, 2009
-
-
Arnold Schwaighofer authored
out of sync with regular cc. The only difference between the tail call cc and the normal cc was that one parameter register - R9 - was reserved for calling functions through a function pointer. After time the tail call cc has gotten out of sync with the regular cc. We can use R11 which is also caller saved but not used as parameter register for potential function pointers and remove the special tail call cc on x86-64. llvm-svn: 73233
-
Eli Friedman authored
add a few suggestions from looking at some assembly code. llvm-svn: 73210
-
Bruno Cardoso Lopes authored
llvm-svn: 73209
-
- Jun 11, 2009
-
-
Bruno Cardoso Lopes authored
Emission for globals, using the correct data sections Function alignment can be computed for each target using TargetELFWriterInfo Some small fixes llvm-svn: 73201
-
- Jun 10, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 73152
-
- Jun 09, 2009
-
-
Bill Wendling authored
change. llvm-svn: 73143
-