1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/test
Preston Gurd 4b0d66f924 Pad Short Functions for Intel Atom
The current Intel Atom microarchitecture has a feature whereby
when a function returns early then it is slightly faster to execute
a sequence of NOP instructions to wait until the return address is ready,
as opposed to simply stalling on the ret instruction until
the return address is ready.

When compiling for X86 Atom only, this patch will run a pass,
called "X86PadShortFunction" which will add NOP instructions where less
than four cycles elapse between function entry and return.

It includes tests.

This patch has been updated to address Nadav's review comments
- Optimize only at >= O1 and don't do optimization if -Os is set
- Stores MachineBasicBlock* instead of BBNum
- Uses DenseMap instead of std::map
- Fixes placement of braces

Patch by Andy Zhang.

llvm-svn: 171879
2013-01-08 18:27:24 +00:00
..
Analysis Make opt grab the triple from the module and use it to initialize the target machine. 2013-01-01 08:00:32 +00:00
Archive
Assembler
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Pad Short Functions for Intel Atom 2013-01-08 18:27:24 +00:00
DebugInfo Add the C testcase to this file. 2013-01-08 03:03:14 +00:00
ExecutionEngine
Feature There was a switch fall-through in the parser for textual LLVM that caused 2013-01-07 13:32:38 +00:00
FileCheck
Instrumentation [ASan] Fix lifetime intrinsics handling. Now for each intrinsic we check if it describes one of 'interesting' allocas. Assume that allocas can go through casts and phi-nodes before apperaring as llvm.lifetime arguments 2012-12-27 08:50:58 +00:00
Integer
JitListener Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
Linker
MC Add some additional tests for the .bundle_lock align_to_end feature that didn't 2013-01-07 23:12:59 +00:00
Object [Object][ELF] Fix incorrect size of members for the 64 version of Elf_Phdr_Impl. 2013-01-06 03:57:11 +00:00
Other
Scripts
TableGen Fix typo, which prevent test from being check. 2012-12-12 21:10:56 +00:00
tools PR10867: Analogue of r169441 for when using external 'sh'. And actually run the test! 2012-12-05 23:15:33 +00:00
Transforms Make sure we don't emit instructions before a landingpad instruction. 2013-01-08 10:51:32 +00:00
Unit
Verifier
YAMLParser
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile Drop the address space limit for tests in the makefile build. 2012-12-09 10:34:22 +00:00
Makefile.tests
TestRunner.sh