1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
Commit Graph

50 Commits

Author SHA1 Message Date
Chris Lattner
ddf92db1ca Add support for ${:comment}, which expands to the current target's comment
character, and ${:uid} which expands to a unique ID for the MachineInstr.
More can be added if/when they are needed.

llvm-svn: 30619
2006-09-26 23:59:50 +00:00
Chris Lattner
167aa73273 Add support for targets that want to do something with the llvm.used list,
because they have an aggressive linker that does dead code stripping.

llvm-svn: 30604
2006-09-26 03:38:18 +00:00
Evan Cheng
499d77553a Added support for machine specific constantpool values. These are useful for
representing expressions that can only be resolved at link time, etc.

llvm-svn: 30278
2006-09-12 21:00:35 +00:00
Jim Laskey
9da25f6119 Make target asm info a property of the target machine.
llvm-svn: 30162
2006-09-07 22:06:40 +00:00
Jim Laskey
6b86ef852c Separate target specific asm properties from the asm printers.
llvm-svn: 30126
2006-09-06 18:34:40 +00:00
Nate Begeman
0e92042770 Emit .set directives for jump table entries when possible, which reduces
the number of relocations in object files, shrinkifying them.

llvm-svn: 29650
2006-08-12 21:29:52 +00:00
Nate Begeman
3d5f5b4e8b Support jump tables when in PIC relocation model
llvm-svn: 29318
2006-07-27 01:13:04 +00:00
Evan Cheng
6ec6e10b48 Add support to print 4-, 8-, and 16- byte constant literals in special
sections. e.g. On Darwin that would be .literal4 and .literal8.

llvm-svn: 28977
2006-06-29 00:26:09 +00:00
Evan Cheng
6572fa9869 Allow EmitConstantPool to be redefined by derived classes.
llvm-svn: 28952
2006-06-28 00:52:32 +00:00
Jim Laskey
a8284f65e1 Add and sort "sections" in debug lines. This always stepping through
code in sections other than ".text", including weak sections like ctors and
dtors.

llvm-svn: 28909
2006-06-23 12:51:53 +00:00
Reid Spencer
55df120f95 Fix some doxygen usage in these headers.
llvm-svn: 28394
2006-05-19 19:07:54 +00:00
Chris Lattner
9669e5ece6 Implement MASM sections correctly, without a "has masm sections flag" and a
bunch of special case code.

llvm-svn: 28193
2006-05-09 05:33:28 +00:00
Chris Lattner
a5f13d3120 Split SwitchSection into the SwitchTo{Text|Data}Section functions, to better
support assemblers that distinguish the two.

llvm-svn: 28183
2006-05-09 04:59:30 +00:00
Nate Begeman
05174045df Extend printBasicBlockLabel a bit so that it can be used to print all
basic block labels, consolidating the code to do so in one place for each
target.

llvm-svn: 28050
2006-05-02 05:37:32 +00:00
Jeff Cohen
a35a8a5f9c De-virtualize SwitchSection.
llvm-svn: 28047
2006-05-02 03:58:45 +00:00
Jeff Cohen
b257253098 De-virtualize EmitZeroes.
llvm-svn: 28046
2006-05-02 03:46:13 +00:00
Jeff Cohen
5c2e201a63 Finish support for Microsoft ML/MASM. May still be a few rough edges.
llvm-svn: 28045
2006-05-02 03:11:50 +00:00
Jeff Cohen
ec0f5808a1 Make Intel syntax mode friendlier to Microsoft ML assembler (still needs more work).
llvm-svn: 28044
2006-05-02 01:16:28 +00:00
Nate Begeman
7ed816f900 JumpTable support! What this represents is working asm and jit support for
x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.

llvm-svn: 27947
2006-04-22 18:53:45 +00:00
Chris Lattner
68518b9e83 Add a PrintAsmMemoryOperand method for printing addresses
llvm-svn: 26363
2006-02-24 20:21:12 +00:00
Chris Lattner
6556f15ad8 Add support for assembler directives that wrap inline asm
llvm-svn: 26065
2006-02-08 23:41:56 +00:00
Chris Lattner
81280678cc Change the prototype of PrintAsmOperand
llvm-svn: 26020
2006-02-06 22:16:41 +00:00
Chris Lattner
682b5a2626 add a new method, getPreferredAlignmentLog.
llvm-svn: 25977
2006-02-05 01:24:06 +00:00
Chris Lattner
c97cf51e02 add a new PrintAsmOperand method, move some stuff around for ease of reading.
llvm-svn: 25885
2006-02-01 22:39:30 +00:00
Chris Lattner
0ef77f8cec add a method
llvm-svn: 25675
2006-01-27 02:09:16 +00:00
Jim Laskey
61138e28ff Applied some recommend changes from sabre. The dominate one beginning "let the
pass manager do it's thing."  Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.

llvm-svn: 25100
2006-01-04 22:28:25 +00:00
Jim Laskey
62b29812a6 Tie dwarf generation to darwin assembler.
llvm-svn: 25093
2006-01-04 13:52:30 +00:00
Chris Lattner
d27892a194 Add a couple more fields, move ctor init list to .cpp file, add support
for emitting the ctor/dtor list for common targets.

llvm-svn: 24694
2005-12-13 06:32:10 +00:00
Chris Lattner
e8b78e73f7 Add a new flag
llvm-svn: 24480
2005-11-21 23:06:08 +00:00
Chris Lattner
e68011991d Add some more directives
llvm-svn: 24474
2005-11-21 19:51:51 +00:00
Chris Lattner
7edfd3138a add two more config directives, add method for printing constant pool
llvm-svn: 24463
2005-11-21 08:24:11 +00:00
Chris Lattner
37cc677f05 Make the AsmPrinter keep track of the notion of a function number.
llvm-svn: 24460
2005-11-21 08:12:47 +00:00
Chris Lattner
29dcb4d3ef Capitalize methods for better consistency
llvm-svn: 24455
2005-11-21 07:51:06 +00:00
Chris Lattner
05782d4087 Add section switching to to common AsmPrinter code.
llvm-svn: 24444
2005-11-21 07:05:42 +00:00
Chris Lattner
cf57490f4c Add a new option.
llvm-svn: 24439
2005-11-21 06:41:08 +00:00
Chris Lattner
389e3bfb0c Teach emitAlignment to handle explicit alignment requests by globals.
llvm-svn: 24354
2005-11-14 19:00:06 +00:00
Chris Lattner
bfa198b9f1 add support for .asciz, and enable it by default. If your target assembler
doesn't support .asciz, just set AscizDirective to null in your asmprinter.

This compiles C strings to:

l1__2E_str_1:                           ; '.str_1'
        .asciz  "foo"

instead of:

l1__2E_str_1:                           ; '.str_1'
        .ascii  "foo\000"

llvm-svn: 24271
2005-11-10 18:05:57 +00:00
Misha Brukman
4ad5efd1a9 Remove trailing whitespace
llvm-svn: 21409
2005-04-21 20:39:54 +00:00
Duraid Madina
6b3090447d a wise man once said:
"!!!!!!!! IF YOU CHANGE SPACES TO TABS, YOU WILL BE KILLED!!!!!!"

llvm-svn: 21062
2005-04-03 14:57:35 +00:00
Duraid Madina
3a10f491f0 add support for prefix/suffix strings to go around GlobalValue(s)
(which may or be function pointers) in the asmprinter. For the moment,
this changes nothing, except the IA64 backend which can use this to write:

  data8.ua  @fptr(blah__blah__mangled_function_name)

  (by setting FunctionAddrPrefix/Suffix to "@fptr(" / ")")

llvm-svn: 21024
2005-04-02 12:21:51 +00:00
Chris Lattner
911dca53ee Adjust prototype
llvm-svn: 19387
2005-01-08 19:57:49 +00:00
Chris Lattner
17411aae8b Alkis pointed out that this is not a character (we actually support strings)
and as such, we should use self revealing names.  Hey, makes sense to me!

llvm-svn: 15896
2004-08-18 02:22:34 +00:00
Chris Lattner
34334091d5 new method
llvm-svn: 15895
2004-08-17 21:38:51 +00:00
Chris Lattner
659175521b Add support for alignment
llvm-svn: 15888
2004-08-17 19:14:29 +00:00
Chris Lattner
05683db298 Allow targets to specify a comment character
llvm-svn: 15879
2004-08-17 16:26:36 +00:00
Chris Lattner
1c87acdfa8 Add missing \t
llvm-svn: 15871
2004-08-17 06:48:34 +00:00
Chris Lattner
0b1a8c9b57 Add some hooks
llvm-svn: 15867
2004-08-17 06:36:27 +00:00
Chris Lattner
1362ba130b We now allow targets to use any prefix they want for global symbols. Lets
hear it for ".".

llvm-svn: 15863
2004-08-17 06:06:19 +00:00
Chris Lattner
5420524642 Some asmweriters want an _ prefix
llvm-svn: 15844
2004-08-17 02:28:12 +00:00
Chris Lattner
aac51aa3d8 Initial implementation of the asmprinter base class
llvm-svn: 15838
2004-08-16 23:15:22 +00:00