- Mar 10, 2010
-
-
Chris Lattner authored
llvm-svn: 98124
-
Dan Gohman authored
llvm-svn: 98122
-
Evan Cheng authored
1. Be careful with cse "cheap" expressions. e.g. constant materialization. Only cse them when the common expression is local or in a direct predecessor. We don't want cse of cheap instruction causing other expressions to be spilled. 2. Watch out for the case where the expression doesn't itself uses a virtual register. e.g. lea of frame object. If the common expression itself is used by copies (common for passing addresses to function calls), don't perform the cse. Since these expressions do not use a register, it creates a live range but doesn't close any, we want to be very careful with increasing register pressure. Note these are heuristics so machine cse doesn't make register allocator unhappy. Once we have proper live range splitting and re-materialization support in place, these should be evaluated again. Now machine cse is almost always a win on llvm nightly tests on x86 and x86_64. llvm-svn: 98121
-
Daniel Dunbar authored
llvm-svn: 98120
-
Chris Lattner authored
Add a new GetOrCreateTemporarySymbol method and a version that takes a twine. llvm-svn: 98118
-
Chris Lattner authored
dead IsPCRel argument. llvm-svn: 98117
-
Chris Lattner authored
need to be MCized, but the last debug info thing are LEB and cygwin specific (which the MC api doesn't support yet) and one specific form of EmitReference which I'll tackle next. llvm-svn: 98116
-
Daniel Dunbar authored
- I'm not sure why, but this is what 'as' does. llvm-svn: 98115
-
Jim Grosbach authored
llvm-svn: 98109
-
Dale Johannesen authored
llvm-svn: 98108
-
Chris Lattner authored
llvm-svn: 98107
-
Chris Lattner authored
llvm-svn: 98106
-
Chris Lattner authored
method. With this, comments should end up on the same lines as the .byte directives (for example) and we now get no output with: $ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose woot. llvm-svn: 98105
-
Dale Johannesen authored
llvm-svn: 98104
-
Dan Gohman authored
They are lots of trouble, and they don't matter. This fixes PR6559. llvm-svn: 98103
-
Chris Lattner authored
off "EOL". llvm-svn: 98102
-
Chris Lattner authored
significant debug info testcases are now all going through MCStreamer, though they print a lot of extraneous newlines to "O". llvm-svn: 98101
-
Chris Lattner authored
llvm-svn: 98100
-
Jakob Stoklund Olesen authored
The Caller cost info would be reset everytime a callee was inlined. If the caller has lots of calls and there is some mutual recursion going on, the caller cost info could be calculated many times. This patch reduces inliner runtime from 240s to 0.5s for a function with 20000 small function calls. This is a more conservative version of r98089 that doesn't break the clang test CodeGenCXX/temp-order.cpp. That test relies on rather extreme inlining for constant folding. llvm-svn: 98099
-
- 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
-
Jakob Stoklund Olesen authored
llvm-svn: 98094
-
Jakob Stoklund Olesen authored
The Caller cost info would be reset everytime a callee was inlined. If the caller has lots of calls and there is some mutual recursion going on, the caller cost info could be calculated many times. This patch reduces inliner runtime from 240s to 0.5s for a function with 20000 small function calls. llvm-svn: 98089
-
Jakob Stoklund Olesen authored
can sometimes help reduce function size. llvm-svn: 98088
-
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
-
Johnny Chen authored
what fields of the CPSR or SPSR are affected. llvm-svn: 98085
-
Daniel Dunbar authored
MC/Mach-O: For PCrel relocations, we need to compensate for the PCrel adjustment when determining if we need a scattered relocation. llvm-svn: 98082
-
Daniel Dunbar authored
llvm-svn: 98081
-
Daniel Dunbar authored
llvm-svn: 98080
-
Dale Johannesen authored
Make it so. (This patch is in LowerCall_Darwin, which seems to be used by SVR4 code as well; since that doesn't belong here, I haven't worried about this case.) llvm-svn: 98077
-
Jim Grosbach authored
register is involved for thumb1. Work around this for the moment by only re-using SP-relative offsets. This is temporary 'til the code can distinguish multiple base registers. llvm-svn: 98071
-
Bill Wendling authored
Place the LSDA into the TEXT section for ARM platforms. This involves making the encoding indirect, pcrel, and sdata4 instead of an absolute pointer. The references to the type infos are then non-lazy pointers. Revision 98019 changed the encoding of non-lazy pointers to add the symbol to the non-lazy pointer definition if it's a local symbol (otherwise, it's external and set to '0' so that the loader can adjust it to the real value). This paved the way for this change to work on ARM. llvm-svn: 98068
-
Richard Osborne authored
to an add or a sub. llvm-svn: 98059
-
Richard Osborne authored
llvm-svn: 98058
-
Richard Osborne authored
llvm-svn: 98057
-
Evan Cheng authored
llvm-svn: 98048
-
Chris Lattner authored
Now that setStartLabel takes an MCSymbol, we can de-ID'ize beginScope and RecordSourceLine. llvm-svn: 98047
-
Chris Lattner authored
failure remaining on mainline. llvm-svn: 98046
-
Evan Cheng authored
llvm-svn: 98045
-
Jakob Stoklund Olesen authored
llvm-svn: 98044
-