1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/include/llvm/MC
Daniel Dunbar 21e9834bc1 MC: Stop restarting layout on every relaxation.
- Still O(N^2), just a faster form, and now its the MCAsmLayout's fault.

On the .s I am tuning against (combine.s from 403.gcc):
--
ddunbar@lordcrumb:MC$ diff stats-before.txt stats-after.txt
5,10c5,10
<    1728 assembler - Number of assembler layout and relaxation steps
<    7707 assembler - Number of emitted assembler fragments
<  120588 assembler - Number of emitted object file bytes
< 2233448 assembler - Number of evaluated fixups
<    1727 assembler - Number of relaxed instructions
< 6723845 mcexpr    - Number of MCExpr evaluations
---
>      3 assembler - Number of assembler layout and relaxation steps
>   7707 assembler - Number of emitted assembler fragments
> 120588 assembler - Number of emitted object file bytes
>  14796 assembler - Number of evaluated fixups
>   1727 assembler - Number of relaxed instructions
>  67889 mcexpr    - Number of MCExpr evaluations
--
Feel free to LOL at the -before numbers, if you like.

I am a little surprised we make more than 2 relaxation passes. It's pretty
trivial for us to do relaxation out-of-order if that would give a speedup.

llvm-svn: 99543
2010-03-25 19:35:56 +00:00
..
MCParser llvm-mc: Support -n, useful for comparing -integrated-as output since the 2010-03-13 02:20:57 +00:00
MachObjectWriter.h MC: Direct all {fragment,section,symbol} address access through the MCAsmLayout object. 2010-03-24 03:43:40 +00:00
MCAsmInfo.h move fastcall/stdcall mangling up into Mangler. 2010-03-12 21:03:47 +00:00
MCAsmInfoCOFF.h revert 93934, removing the MCAsmInfo endianness bit. I can't 2010-01-20 06:34:14 +00:00
MCAsmInfoDarwin.h revert 93934, removing the MCAsmInfo endianness bit. I can't 2010-01-20 06:34:14 +00:00
MCAsmLayout.h MC: Stop restarting layout on every relaxation. 2010-03-25 19:35:56 +00:00
MCAssembler.h MC: Stop restarting layout on every relaxation. 2010-03-25 19:35:56 +00:00
MCCodeEmitter.h MCCodeEmitter: Add target independent fixup flag for is-pc-relative. 2010-03-19 10:43:23 +00:00
MCContext.h fix GetOrCreateTemporarySymbol to require a name, clients 2010-03-17 05:41:18 +00:00
MCDirectives.h doxygenize some comments, patch by Peter Collingbourne! 2010-02-12 21:54:28 +00:00
MCDisassembler.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
MCExpr.h MC: Allow modifiers in MCSymbolRefExpr, and eliminate X86MCTargetExpr. 2010-03-15 23:51:06 +00:00
MCFixup.h MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size. 2010-02-13 09:28:54 +00:00
MCInst.h MCInst: Add ::dump_pretty. 2010-03-22 21:49:34 +00:00
MCInstPrinter.h add a new MCInstPrinter::getOpcodeName interface, when it is 2010-02-11 22:39:10 +00:00
MCObjectWriter.h MC: Direct all {fragment,section,symbol} address access through the MCAsmLayout object. 2010-03-24 03:43:40 +00:00
MCSection.h Put MCSectionCOFF::Name into the MCContext instead of leaking it. 2010-03-22 23:26:12 +00:00
MCSectionELF.h Don't save a temporary string into a StringRef field. 2010-03-15 06:59:21 +00:00
MCSectionMachO.h MC/Mach-O: Add MCSectionMachO::getType() 2010-03-15 21:56:38 +00:00
MCStreamer.h Docuemntation corrections from John Myers. 2010-03-25 00:03:04 +00:00
MCSymbol.h Add MCSymbol::isInSection. 2010-03-18 00:59:02 +00:00
MCValue.h MCValue: Change to holding MCSymbolRefExprs instead of MCSymbols, we will need this for accessing to symbol modifiers. 2010-03-18 00:59:10 +00:00
SectionKind.h make TLOF subclassify BSS based on linkage type into private, external 2010-01-19 04:15:51 +00:00