- Apr 13, 2009
-
-
Dan Gohman authored
This will be used to replace things like X86's MOV32to32_. Enhance ScheduleDAGSDNodesEmit to be more flexible and robust in the presense of subregister superclasses and subclasses. It can now cope with the definition of a virtual register being in a subclass of a use. Re-introduce the code for recording register superreg classes and subreg classes. This is needed because when subreg extracts and inserts get coalesced away, the virtual registers are left in the correct subclass. llvm-svn: 68961
-
Dan Gohman authored
ISD::SIGN_EXTEND_INREG. Tablegen-generated code can handle these cases, and the scheduling issues observed earlier appear to be resolved now. llvm-svn: 68959
-
Dan Gohman authored
llvm-svn: 68958
-
Dan Gohman authored
a live interval. This is needed for some upcoming subreg changes. llvm-svn: 68956
-
Dan Gohman authored
the subreg field to 0, since the subreg field is only used for virtual register subregs. This doesn't change current functionality; it just eliminates bogus noise from debug output. llvm-svn: 68955
-
Dan Gohman authored
llvm-svn: 68954
-
Dan Gohman authored
llvm-svn: 68953
-
Dan Gohman authored
llvm-svn: 68951
-
Dan Gohman authored
llvm-svn: 68950
-
Dan Gohman authored
This unbreaks the JIT on x86-64. llvm-svn: 68948
-
Rafael Espindola authored
llvm-svn: 68947
-
Sanjiv Gupta authored
While passing arg of types larger than char only one byte at lower end was getting passed. We couldn't catch this as we did not have tests that were passing an int value larger than 256. llvm-svn: 68946
-
Nick Lewycky authored
declarations. llvm-svn: 68944
-
Chris Lattner authored
to support C99 inline, GNU extern inline, etc. Related bugzilla's include PR3517, PR3100, & PR2933. Nothing uses this yet, but it appears to work. llvm-svn: 68940
-
Chris Lattner authored
llvm-svn: 68939
-
Nick Lewycky authored
interpreter mode" when it's not. llvm-svn: 68937
-
Chris Lattner authored
patch by Alexei Svitkine! llvm-svn: 68929
-
Rafael Espindola authored
only if symbolic addresses are RIP relatives. llvm-svn: 68924
-
- Apr 12, 2009
-
-
Rafael Espindola authored
llvm-svn: 68915
-
Chris Lattner authored
strncat :( strncat(foo, "bar", 99) would be optimized to memcpy(foo+strlen(foo), "bar", 100, 1) instead of memcpy(foo+strlen(foo), "bar", 4, 1)" Patch by Benjamin Kramer! llvm-svn: 68905
-
Chris Lattner authored
See comment for details. This fixes rdar://6772169 llvm-svn: 68890
-
Chris Lattner authored
copying into the right register, avoiding a copy. llvm-svn: 68889
-
Chris Lattner authored
and make it return the assigned register. llvm-svn: 68888
-
Chris Lattner authored
llvm-svn: 68887
-
Chris Lattner authored
hasImplicitDefOfPhysReg methods. Use them to remove a look in X86 fast isel. llvm-svn: 68886
-
Chris Lattner authored
code. Patch by Benjamin Kramer! llvm-svn: 68885
-
- Apr 11, 2009
-
-
Dan Gohman authored
from the assembler: Error: unknown pseudo-op: `.debug_inlined' llvm-svn: 68863
-
Devang Patel authored
Keep track of inlined functions and their locations. This information is collected when nested llvm.dbg.func.start intrinsics are seen. (Right now, inliner removes nested llvm.dbg.func.start intrinisics during inlining.) Create debug_inlined dwarf section using these information. This info is used by gdb, at least on Darwin, to enable better experience debugging inlined functions. See DwarfWriter.cpp for more information on structure of debug_inlined section. llvm-svn: 68847
-
- Apr 10, 2009
-
-
Devang Patel authored
DebugLabelFolder ruthlessly deletes redundant labels. However, sometimes the redundant labels is referenced by debug info somewhere else. This patch provies a way so that dwarf writer can mark labels as used. llvm-svn: 68813
-
Bob Wilson authored
No functional changes. llvm-svn: 68808
-
Chris Lattner authored
1. Sinking would crash when the first instruction of a block was sunk due to iterator problems. 2. Instructions could be sunk to their current block, causing an infinite loop. This fixes PR3968 llvm-svn: 68787
-
Dan Gohman authored
llvm-svn: 68786
-
Sanjiv Gupta authored
llvm-svn: 68783
-
Rafael Espindola authored
With this we generate movl %gs:0, %eax leal i@NTPOFF(%eax), %eax instead of movl $i@NTPOFF, %eax addl %gs:0, %eax llvm-svn: 68778
-
Chris Lattner authored
llvm::PointerType::get(). Patch by Anders Johnsen! llvm-svn: 68772
-
Chris Lattner authored
It turns out that there are still several problems with this, will file a bugzilla. llvm-svn: 68749
-
Bill Wendling authored
llvm-svn: 68747
-
Bill Wendling authored
llvm-svn: 68745
-
Dan Gohman authored
code that uses it by using SelectionDAG::getVTList instead. llvm-svn: 68744
-
Bill Wendling authored
the key. This will cause it to create a new std::string, which isn't wanted. Instead, pass back the "const char*". Modify the EmitString() method to take a "const char*". llvm-svn: 68741
-