Layout each section independently. With the testcase in PR8711:
commitcc7d26bb39bafca363075cb35bd6596740a85cf9
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 7 Dec 2010 23:32:26 +0000 (7 23:32 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 7 Dec 2010 23:32:26 +0000 (7 23:32 +0000)
tree09d5eac129b73842b2c992e37524792891790cdd
parentb0987d857bca2b3e5ab7677505f745428918d177
Layout each section independently. With the testcase in PR8711:

before:
        4 assembler - Number of assembler layout and relaxation steps
    78563 assembler - Number of emitted assembler fragments
  8693904 assembler - Number of emitted object file bytes
   271223 assembler - Number of evaluated fixups
330771677 assembler - Number of fragment layouts
     5958 assembler - Number of relaxed instructions
  2508361 mcexpr    - Number of MCExpr evaluations

real 0m26.123s
user 0m25.694s
sys 0m0.388s

after:

      4 assembler - Number of assembler layout and relaxation steps
  78563 assembler - Number of emitted assembler fragments
8693904 assembler - Number of emitted object file bytes
 271223 assembler - Number of evaluated fixups
 231507 assembler - Number of fragment layouts
   5958 assembler - Number of relaxed instructions
2508361 mcexpr    - Number of MCExpr evaluations

real 0m2.500s
user 0m2.113s
sys 0m0.273s

And yes, the outputs are identical :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121207 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCAsmLayout.h
include/llvm/MC/MCAssembler.h
lib/MC/MCAssembler.cpp