summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/TargetLoweringBase.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2015-01-29 22:12:50 +0000
committerRui Ueyama <ruiu@google.com>2015-01-29 22:12:50 +0000
commitc4038ab5bf3ee228a2bb0d3e1b2940e7c3318a0c (patch)
tree18df4ad248f296134f61ae2cbc31655e2c9e14fd /llvm/lib/CodeGen/TargetLoweringBase.cpp
parent64419d414b468f5f1c49cbc4b4edbab1988fb7a8 (diff)
downloadbcm5719-llvm-c4038ab5bf3ee228a2bb0d3e1b2940e7c3318a0c.tar.gz
bcm5719-llvm-c4038ab5bf3ee228a2bb0d3e1b2940e7c3318a0c.zip
PECOFF: Do not use LayoutPass and instead use simpler one.
The LayoutPass is one of the slowest pass. This change is to skip that pass. This change not only improve performance but also improve maintainability of the code because the LayoutPass is pretty complex. Previously we used the LayoutPass to sort all atoms in a specific way, and reorder them again for PE/COFF in GroupedSectionPass. I spent time on improving and fixing bugs in the LayoutPass (e.g. r193029), but the pass is still hard to understand and hard to use. It's better not to depend on that if we don't need. For PE/COFF, we just wanted to sort atoms in the same order as the file order in the command line. The feature we used in the LayoutPass is now simplified to compareByPosition function in OrderPass.cpp. The function is just 5 lines. This patch changes the order of final output because it changes the sort order a bit. The output is still correct, though. llvm-svn: 227500
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringBase.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud