summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PowerPC/empty-functions.ll
Commit message (Collapse)AuthorAgeFilesLines
* Use the generic Lfunc_begin label on ppc.Rafael Espindola2015-03-051-4/+6
| | | | | | This removes yet another custom label to mark the start of a function. llvm-svn: 231390
* Use the vanilla func_end symbol for .size.Rafael Espindola2015-03-041-1/+1
| | | | | | No need to create yet another temp symbol. llvm-svn: 231198
* Add back tests for empty function in SPARC and PowerPC.Rafael Espindola2014-09-151-0/+43
| | | | llvm-svn: 217834
* Fix a lot of confusion around inserting nops on empty functions.Rafael Espindola2014-09-151-13/+0
| | | | | | | | | | | | | | | | On MachO, and MachO only, we cannot have a truly empty function since that breaks the linker logic for atomizing the section. When we are emitting a frame pointer, the presence of an unreachable will create a cfi instruction pointing past the last instruction. This is perfectly fine. The FDE information encodes the pc range it applies to. If some tool cannot handle this, we should explicitly say which bug we are working around and only work around it when it is actually relevant (not for ELF for example). Given the unreachable we could omit the .cfi_def_cfa_register, but then again, we could also omit the entire function prologue if we wanted to. llvm-svn: 217801
* Provide an implementation of getNoopForMachoTarget for PPC, otherwiseJoerg Sonnenberger2014-08-081-2/+3
| | | | | | empty functions will assert in the MC object writer. llvm-svn: 215238
* Consider this function:Bill Wendling2010-07-161-0/+12
void foo() { __builtin_unreachable(); } It will output the following on Darwin X86: _func1: Leh_func_begin0: pushq %rbp Ltmp0: movq %rsp, %rbp Ltmp1: Leh_func_end0: This prolog adds a new Call Frame Information (CFI) row to the FDE with an address that is not within the address range of the code it describes -- part is equal to the end of the function -- and therefore results in an invalid EH frame. If we emit a nop in this situation, then the CFI row is now within the address range. llvm-svn: 108568
OpenPOWER on IntegriCloud