aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/StackProtector.cpp
diff options
context:
space:
mode:
authorDavid Sehr <sehr@google.com>2013-03-05 00:02:23 +0000
committerDavid Sehr <sehr@google.com>2013-03-05 00:02:23 +0000
commit4c8979cd4d19814b8de2e45bd4cc42a5d99ebe19 (patch)
tree0c1a536f13bd7189f92e7d89cd00ddd75b63bbb9 /llvm/lib/CodeGen/StackProtector.cpp
parent85707b28e865b7b5baef750418f587956035ffe5 (diff)
downloadllvm-4c8979cd4d19814b8de2e45bd4cc42a5d99ebe19.zip
llvm-4c8979cd4d19814b8de2e45bd4cc42a5d99ebe19.tar.gz
llvm-4c8979cd4d19814b8de2e45bd4cc42a5d99ebe19.tar.bz2
The current X86 NOP padding uses one long NOP followed by the remainder in
one-byte NOPs. If the processor actually executes those NOPs, as it sometimes does with aligned bundling, this can have a performance impact. From my micro-benchmarks run on my one machine, a 15-byte NOP followed by twelve one-byte NOPs is about 20% worse than a 15 followed by a 12. This patch changes NOP emission to emit as many 15-byte (the maximum) as possible followed by at most one shorter NOP. llvm-svn: 176464
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions