- Jul 22, 2009
-
-
Daniel Dunbar authored
simplification. - NFC llvm-svn: 76789
-
David Greene authored
Put comment printing under asm-verbose. llvm-svn: 76780
-
David Greene authored
Make some changes suggested by Bill and Evan. llvm-svn: 76775
-
Chris Lattner authored
a new getSectionForMergableConstant hook. This removes one dependence of TAI on Type, and provides the hook with enough info to make the right decision based on whether the global has relocations etc. llvm-svn: 76705
-
Evan Cheng authored
Let each target determines whether a machine instruction is dead. If true, that allows late codeine passes to delete it. This is considered a workaround. The problem is some targets are not modeling side effects correctly. PPC is apparently one of those. This patch allows ppc llvm-gcc to bootstrap on Darwin. Once we find out which instruction definitions are wrong, we can remove the PPCInstrInfo workaround. llvm-svn: 76703
-
Owen Anderson authored
llvm-svn: 76702
-
Chris Lattner authored
Constant::getRelocationInfo(), which has a much simpler to use API. It still should not be part of libvmcore, but is better than it was. Also teach it to be smart about hidden visibility. llvm-svn: 76700
-
Lang Hames authored
llvm-svn: 76688
-
David Greene authored
Add some support for iterative coalescers to calculate a joined live range's weight properly. This is turned off right now in the sense that you'll get an assert if you get into a situation that can only be caused by an iterative coalescer. All other code paths operate exactly as before so there is no functional change with this patch. The asserts should be disabled if/when an iterative coalescer gets added to trunk. llvm-svn: 76680
-
Chris Lattner authored
llvm-svn: 76679
-
Chris Lattner authored
pool entry will require relocations against it. I implemented this conservatively for ARM, someone who is knowledgable about it should see if this can be improved. llvm-svn: 76678
-
Bruno Cardoso Lopes authored
their appropriate sections before the code itself. They need to be emitted before the function because on some targets (x86 but not x86_64) the later may reference a JT or CP entry address llvm-svn: 76672
-
- Jul 21, 2009
-
-
Chris Lattner authored
llvm-svn: 76646
-
Eli Friedman authored
be useful, and it's currently unused. (Some issues: it isn't actually rich enough to capture the semantics on many architectures, and semantics can vary depending on the type being shifted.) llvm-svn: 76633
-
David Greene authored
Prefix IR dumps with LiveInterval indices when possible. This turns this: %ESI<def> = MOV32rr %EDI<kill> ADJCALLSTACKDOWN64 0, %RSP<imp-def>, %EFLAGS<imp-def,dead>, %RSP<imp-use> %reg1027<def> = MOVZX64rr32 %ESI %reg1027<def> = ADD64ri8 %reg1027, 15, %EFLAGS<imp-def,dead> %reg1027<def> = AND64ri8 %reg1027, -16, %EFLAGS<imp-def,dead> %RDI<def> = MOV64rr %RSP %RDI<def> = SUB64rr %RDI, %reg1027<kill>, %EFLAGS<imp-def,dead> %RSP<def> = MOV64rr %RDI into this: 4 %reg1024<def> = MOV32rr %EDI<kill> 12 ADJCALLSTACKDOWN64 0, %RSP<imp-def>, %EFLAGS<imp-def,dead>, %RSP<imp-use> 20 %reg1025<def> = MOVZX64rr32 %reg1024 28 %reg1026<def> = MOV64rr %reg1025<kill> 36 %reg1026<def> = ADD64ri8 %reg1026, 15, %EFLAGS<imp-def,dead> 44 %reg1027<def> = MOV64rr %reg1026<kill> 52 %reg1027<def> = AND64ri8 %reg1027, -16, %EFLAGS<imp-def,dead> 60 %reg1028<def> = MOV64rr %RSP 68 %reg1029<def> = MOV64rr %reg1028<kill> 76 %reg1029<def> = SUB64rr %reg1029, %reg1027<kill>, %EFLAGS<imp-def,dead> 84 %RSP<def> = MOV64rr %reg1029 This helps greatly when debugging register allocation and coalescing problems. llvm-svn: 76615
-
Chris Lattner authored
and call PrintGlobalVariable, allowing elimination and simplification of various targets. llvm-svn: 76604
-
David Greene authored
Add PrefixPrinter arguments to the dump routines for MachineFunction and MachineBasicBlock. We'll use these shortly. llvm-svn: 76603
-
Owen Anderson authored
llvm-svn: 76598
-
Chris Lattner authored
LLVM IR concept. llvm-svn: 76590
-
Evan Cheng authored
Another rewriter bug exposed by recent coalescer changes. ReuseInfo::GetRegForReload() should make sure the "switched" register is in the desired register class. I'm surprised this hasn't caused more failures in the past. llvm-svn: 76558
-
Daniel Dunbar authored
llvm-svn: 76553
-
Bruno Cardoso Lopes authored
global declared symbols are initialized with references from other global symbols. llvm-svn: 76540
-
Evan Cheng authored
Is this really a winning transformation? fold (shl (srl x, c1), c2) -> (shl (and x, (shl -1, c1)), (sub c2, c1)) or (srl (and x, (shl -1, c1)), (sub c1, c2)) llvm-svn: 76535
-
Owen Anderson authored
llvm-svn: 76533
-
Evan Cheng authored
llvm-svn: 76519
-
Dale Johannesen authored
to a place where it affects everything. Occurs only on calls AFAIK. llvm-svn: 76502
-
- Jul 20, 2009
-
-
Bill Wendling authored
llvm-svn: 76480
-
Bill Wendling authored
"LinkerPrivatePrefix". It seems to have been used in only one place before I started this "linker_private" business. I'm thinking that a rename is in order... llvm-svn: 76479
-
Evan Cheng authored
llvm-svn: 76472
-
Evan Cheng authored
Fix some sub-reg coalescing bugs where the coalescer wasn't updating the resulting interval's register class. llvm-svn: 76458
-
Bruno Cardoso Lopes authored
are referenced, ignore the relocation entry and patch the relocatable field with the computed symbol offset directly llvm-svn: 76414
-
Chris Lattner authored
doesn't cause ".no_dead_strip" to be emitted on darwin. llvm-svn: 76399
-
Chris Lattner authored
llvm-svn: 76397
-
Bill Wendling authored
"private" symbols which the assember shouldn't strip, but which the linker may remove after evaluation. This is mostly useful for Objective-C metadata. This is plumbing, so we don't have a use of it yet. More to come, etc. llvm-svn: 76385
-
- Jul 19, 2009
-
-
http://llvm.org/bugs/show_bug.cgi?id=4583Jakob Stoklund Olesen authored
Inline asm instructions may have additional <imp-def,kill> register operands. These operands are not marked with a flag like the normal asm operands, so we must not assert that there is a flag. llvm-svn: 76373
-
Daniel Dunbar authored
llvm-svn: 76356
-
Bruno Cardoso Lopes authored
Use R_X86_64_32S to handle Jump Table Index relocation entries. Hide TAI usage inside getSection* functions llvm-svn: 76347
-
- Jul 18, 2009
-
-
Bruno Cardoso Lopes authored
llvm-svn: 76334
-
Bruno Cardoso Lopes authored
Use proper relocation type to build relocations for JumpTables (rodata sections). llvm-svn: 76326
-
Evan Cheng authored
llvm-svn: 76282
-