Chris Lattner
|
aafc339b4e
|
Add explicit #includes of <iostream>
llvm-svn: 25515
|
2006-01-22 23:41:00 +00:00 |
|
Chris Lattner
|
a91c75e676
|
Don't print a label for the first MBB in a function.
Compile this:
%_2E_str_8 = external global [75 x sbyte]
implementation ; Functions:
declare int %printf(sbyte*, ...)
void %test()
%tmp.101 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([75 x sbyte]* %_2E_str_8, int 0, int 0) ) ; <int> [#uses=0]
unreachable
}
to this:
main_endif_2E_8:
save -96, %o6, %o6
sethi %hi(_2E_str_8), %l0
add %l0, %lo(_2E_str_8), %o0
call printf
nop
instead of this:
main_endif_2E_8:
save -96, %o6, %o6
sethi %hi(_2E_str_8), %l0
or %g0, %lo(_2E_str_8), %l1 ;; extra instruction
add %l1, %l0, %o0
call printf
nop
llvm-svn: 25335
|
2006-01-15 09:26:27 +00:00 |
|
Chris Lattner
|
fdc05d74a6
|
The sun assembler only supports .xword in V9 mode.
llvm-svn: 24842
|
2005-12-18 23:36:45 +00:00 |
|
Chris Lattner
|
d0e25175d3
|
Configure the asmwriter to allow constant pools to be printed correctly
llvm-svn: 24841
|
2005-12-18 23:35:05 +00:00 |
|
Chris Lattner
|
2aab8f4471
|
Add constant pool support, including folding into addresses.
Pretty print addresses a bit, to not print [%r1+%g0]: just print [%r1]
llvm-svn: 24813
|
2005-12-18 02:37:35 +00:00 |
|
Chris Lattner
|
cba8a96bd0
|
Teach the addressing mode stuff to fold "%lo" into 'ri' addressing modes,
allowing us to compile this:
to this:
%G1 = external global int
%G2 = external global int
void %test() {
%X = load int* %G1
store int %X, int* %G2
ret void
}
test:
save -96, %sp, %sp
sethi %hi(G1), %l0
ld [%l0+%lo(G1)], %l0
sethi %hi(G2), %l1
st %l0, [%l1+%lo(G2)]
restore %g0, %g0, %g0
retl
nop
instead of this:
test:
save -96, %sp, %sp
sethi %hi(G1), %l0
or %g0, %lo(G1), %l1
ld [%l1+%l0], %l0
sethi %hi(G2), %l1
or %g0, %lo(G2), %l2
st %l0, [%l2+%l1]
restore %g0, %g0, %g0
retl
nop
llvm-svn: 24812
|
2005-12-18 02:27:00 +00:00 |
|
Chris Lattner
|
3e51b620ec
|
Add basic addressing mode support and one load.
llvm-svn: 24782
|
2005-12-17 20:04:49 +00:00 |
|
Chris Lattner
|
91e36127ed
|
Use the AsmPrinter for global variable init printing. This eliminates a
bunch of code and causes V8 to start using the fancy .asciz directive that
the sun assembler supports.
llvm-svn: 24766
|
2005-12-17 07:17:08 +00:00 |
|
Chris Lattner
|
2b66656dd9
|
Switch constant pool printing over to use the Shared AsmPrinter version
llvm-svn: 24765
|
2005-12-17 07:11:43 +00:00 |
|
Chris Lattner
|
9fcfd38a6d
|
Use the shared AsmPrinter code for some basic stuff. No functionality
change except for fewer .section directives emitted
llvm-svn: 24764
|
2005-12-17 07:04:29 +00:00 |
|
Chris Lattner
|
cf47f48fe0
|
Convert the remaining instructions over, branches and calls. Fix a couple
minor bugs
llvm-svn: 24762
|
2005-12-17 06:54:41 +00:00 |
|
Chris Lattner
|
29c644f929
|
remove some dead code
llvm-svn: 24743
|
2005-12-16 07:16:02 +00:00 |
|
Chris Lattner
|
a7ead87ba4
|
asmprint pseudo instrs
llvm-svn: 24742
|
2005-12-16 07:13:26 +00:00 |
|
Chris Lattner
|
16896ce1ed
|
Autogenerate asmprinter for F3_2 instructions
llvm-svn: 24741
|
2005-12-16 07:10:02 +00:00 |
|
Chris Lattner
|
b9b7b057d6
|
Switch F3_1 instructions over to use AsmStrings
llvm-svn: 24740
|
2005-12-16 06:52:00 +00:00 |
|
Chris Lattner
|
8fd4bf0ac7
|
Plug in basic hooks for an autogenerated asm printer to fill in.
llvm-svn: 24739
|
2005-12-16 06:34:17 +00:00 |
|
Jim Laskey
|
062df4865a
|
Promote dependency for MathExtras.h out of Constants.h.
llvm-svn: 22839
|
2005-08-17 20:04:34 +00:00 |
|
Jim Laskey
|
61e3d7bca5
|
Culling out use of unions for converting FP to bits and vice versa.
llvm-svn: 22838
|
2005-08-17 19:34:49 +00:00 |
|
Misha Brukman
|
b3e2f08638
|
Convert tabs to spaces
llvm-svn: 21457
|
2005-04-22 18:06:01 +00:00 |
|
Misha Brukman
|
1fef885677
|
Remove trailing whitespace
llvm-svn: 21425
|
2005-04-21 23:30:14 +00:00 |
|
Chris Lattner
|
4b688a1c70
|
This mega patch converts us from using Function::a{iterator|begin|end} to
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597
|
2005-03-15 04:54:21 +00:00 |
|
Brian Gaeke
|
43cb9ee8a4
|
Fix asm-printing directives (how did we not see this before...apparently,
everything was an int!)
llvm-svn: 18712
|
2004-12-09 18:51:01 +00:00 |
|
Brian Gaeke
|
29093f7ec7
|
Support printing ConstantAggregateZeros.
llvm-svn: 18172
|
2004-11-23 21:10:49 +00:00 |
|
Misha Brukman
|
dd7ba48322
|
Handle GhostLinkage case for completeness (should not be seen by the asm writer)
llvm-svn: 18015
|
2004-11-19 21:49:19 +00:00 |
|
Brian Gaeke
|
294af88a7a
|
Support UndefValue emission.
llvm-svn: 17721
|
2004-11-14 03:22:05 +00:00 |
|
Brian Gaeke
|
e9aabee09d
|
Don't use .quad to output double constants. The assembler must have a bug or
something, because the wrong bit patterns get output.
llvm-svn: 16590
|
2004-09-29 19:59:06 +00:00 |
|
Brian Gaeke
|
ab7ac780bb
|
Put quotes around argument to .section directive.
llvm-svn: 16572
|
2004-09-29 03:25:40 +00:00 |
|
Brian Gaeke
|
79802222d1
|
Back to compiling land for v8
llvm-svn: 16138
|
2004-09-02 02:37:43 +00:00 |
|
Chris Lattner
|
f499378d6e
|
getValues is gone
llvm-svn: 15494
|
2004-08-04 17:27:27 +00:00 |
|
Chris Lattner
|
b56b3b5eeb
|
CPR fixes
llvm-svn: 14960
|
2004-07-18 07:26:17 +00:00 |
|
Brian Gaeke
|
0d262c839f
|
Add special handling for pseudo-instructions (print them as comments).
llvm-svn: 14882
|
2004-07-16 10:31:47 +00:00 |
|
Brian Gaeke
|
99a4b4ecc6
|
Fix bug where SwitchSection would fail to change to ".bss" successfully.
llvm-svn: 14685
|
2004-07-08 08:08:23 +00:00 |
|
Brian Gaeke
|
5b14de32c6
|
Support printing constant pool indices.
If we see an "unknown operand", abort so it's easier to fix it.
llvm-svn: 14441
|
2004-06-27 22:50:44 +00:00 |
|
Misha Brukman
|
57b3f07b31
|
* LowercaseString moved to StringExtras.h
* Wrap long line to 80 cols
llvm-svn: 14382
|
2004-06-24 23:38:20 +00:00 |
|
Brian Gaeke
|
99b4ee166c
|
Rename the load and store opcodes. The non-fp ones only have one
variant worth worrying about; the fp ones have two.
llvm-svn: 14362
|
2004-06-24 07:37:12 +00:00 |
|
Brian Gaeke
|
26336244f5
|
.zero doesn't work in the Solaris assembler.
llvm-svn: 14231
|
2004-06-18 08:59:16 +00:00 |
|
Brian Gaeke
|
c045f38dcb
|
Support printing base+offset pairs where the offset is a register.
Use this for printing the jmpl indirect-call instruction.
llvm-svn: 14224
|
2004-06-18 06:27:59 +00:00 |
|
Brian Gaeke
|
c82f209e72
|
Emit stores correctly; don't fail an assertion.
llvm-svn: 14209
|
2004-06-17 22:34:19 +00:00 |
|
Brian Gaeke
|
7d711d517b
|
Use addGlobalAddress and addMBB for call & branch targets instead of addPCDisp.
Abort if we see a PCRelativeDisp MachineOperand, to be safe. This matches
the X86 backend.
llvm-svn: 14202
|
2004-06-17 19:39:23 +00:00 |
|
Chris Lattner
|
0cd29ae2cd
|
Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()
llvm-svn: 14201
|
2004-06-17 18:19:28 +00:00 |
|
Brian Gaeke
|
e02c780919
|
Allow special-casing of operand printing based on opcode. Print
non-register, non-immed. arguments to SETHI and OR using %hi() and
%lo() respectively.
llvm-svn: 14176
|
2004-06-15 19:52:59 +00:00 |
|
Chris Lattner
|
5ce60a188d
|
Adjust to new TM interfaces
llvm-svn: 13949
|
2004-06-02 05:47:26 +00:00 |
|
Brian Gaeke
|
6badc5d83b
|
Don't print [%reg + 0], just print [%reg]
llvm-svn: 12759
|
2004-04-07 17:33:56 +00:00 |
|
Brian Gaeke
|
90c53bcbda
|
Fix bug in printing loads.
llvm-svn: 12741
|
2004-04-07 04:29:03 +00:00 |
|
Brian Gaeke
|
b7f86edbf3
|
First attempt at special-casing printing of [%reg + offset] for
ld/st instructions - doesn't seem to work yet, but I think it's
just a typo or something somewhere.
llvm-svn: 12727
|
2004-04-06 22:10:11 +00:00 |
|
Brian Gaeke
|
741518f9f6
|
Add support for printing pc-relative displacements of functions (as used in
the CALL instruction).
llvm-svn: 12630
|
2004-04-02 20:53:35 +00:00 |
|
Brian Gaeke
|
c1c4cfd741
|
The .type directive on Solaris uses the # character instead of @.
llvm-svn: 12454
|
2004-03-16 22:52:04 +00:00 |
|
Brian Gaeke
|
fd02eeae64
|
Use ! for comment char; it works in both Solaris as and GAS.
llvm-svn: 12451
|
2004-03-16 22:37:12 +00:00 |
|
Brian Gaeke
|
b4258231ca
|
Emit register names in lowercase, as required by the assembler.
llvm-svn: 12182
|
2004-03-06 05:30:21 +00:00 |
|
Brian Gaeke
|
689af03601
|
Asm output is looking a lot better; not correct for all operands yet though.
llvm-svn: 12143
|
2004-03-05 08:39:09 +00:00 |
|