1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 13:33:37 +02:00
llvm-mirror/test/CodeGen/SPARC
Adrian Prantl 3eb19e0717 Don't emit CFI instructions at the end of a function
When functions are terminated by unreachable instructions, the last
instruction might trigger a CFI instruction to be generated. However,
emitting it would be be illegal since the function (and thus the FDE
the CFI is in) has already ended with the previous instruction.

Darwin's dwarfdump --verify --eh-frame complains about this and the
specification supports this.
Relevant bits from the DWARF 5 standard (6.4 Call Frame Information):

"[The] address_range [field in an FDE]: The number of bytes of
 program instructions described by this entry."

"Row creation instructions: [...]
 The new location value is always greater than the current one."
The first quotation implies that a CFI cannot describe a target
address outside of the enclosing FDE's range.

rdar://problem/26244988

Differential Revision: https://reviews.llvm.org/D32246

llvm-svn: 301219
2017-04-24 18:45:59 +00:00
..
32abi.ll VirtRegMap: Replace some identity copies with KILL instructions. 2016-07-09 00:19:07 +00:00
64abi.ll [Sparc] Add Soft Float support 2016-05-18 09:14:13 +00:00
64bit.ll
64cond.ll
64spill.ll
2006-01-22-BitConvertLegalize.ll
2007-05-09-JumpTables.ll
2007-07-05-LiveIntervalAssert.ll
2008-10-10-InlineAsmMemoryOperand.ll
2008-10-10-InlineAsmRegOperand.ll
2009-08-28-PIC.ll
2009-08-28-WeakLinkage.ll
2011-01-11-Call.ll
2011-01-11-CC.ll Fix tests that used CHECK-NEXT-NOT and CHECK-DAG-NOT. 2016-02-26 19:40:34 +00:00
2011-01-11-FrameAddr.ll
2011-01-19-DelaySlot.ll ScheduleDAGInstrs: Add condjump deps to addSchedBarrierDeps() 2016-11-11 01:34:21 +00:00
2011-01-21-ByValArgs.ll
2011-01-22-SRet.ll [SPARC] Switch to the Machine Scheduler. 2015-09-10 21:49:06 +00:00
2011-12-03-TailDuplication.ll
2012-05-01-LowerArguments.ll
2013-05-17-CallFrame.ll [Sparc] Don't overlap variable-sized allocas with other stack variables. 2016-10-25 22:13:28 +00:00
analyze-branch.ll [SPARC] Revamp AnalyzeBranch and add ReverseBranchCondition. 2016-01-13 04:44:14 +00:00
atomics.ll Support expanding partial-word cmpxchg to full-word cmpxchg in AtomicExpandPass. 2016-06-17 18:11:48 +00:00
basictest.ll [Sparc] Implement UMUL_LOHI and SMUL_LOHI instead of MULHS/MULHU/MUL. 2016-10-05 20:54:17 +00:00
blockaddr.ll
constpool.ll
ctpop.ll
DbgValueOtherTargets.test
empty-functions.ll Don't emit CFI instructions at the end of a function 2017-04-24 18:45:59 +00:00
exception.ll
fail-alloca-align.ll [Sparc] Don't overlap variable-sized allocas with other stack variables. 2016-10-25 22:13:28 +00:00
float-constants.ll Fix assert when emitting llvm.pow.f86. 2015-10-09 21:36:19 +00:00
float.ll [Sparc] Fix double-float fabs and fneg on little endian CPUs. 2016-04-25 22:54:09 +00:00
fp128.ll [Sparc] Fix double-float fabs and fneg on little endian CPUs. 2016-04-25 22:54:09 +00:00
func-addr.ll [Sparc] Allow taking of function address into a register. 2016-05-04 12:11:05 +00:00
globals.ll
inlineasm.ll [Sparc] Enable more inline assembly constraints. 2016-05-20 09:03:01 +00:00
leafproc.ll
LeonCASAInstructionUT.ll [Myriad]: set LeonCASA processor feature 2016-09-13 17:51:41 +00:00
LeonDetectRoundChangePassUT.ll Sparc: fix test. 2016-10-19 15:55:11 +00:00
LeonFixAllFDIVSQRTPassUT.ll [Sparc][LEON] Test for FixFDIVSQRT erratum fix. 2016-11-01 14:23:37 +00:00
LeonInsertNOPLoadPassUT.ll [Sparc][LEON] Removed the parts of the errata fixes implemented using inline assembly as this is not the desired behaviour for end-users. Small change to a unit test to implement this without requiring the inline assembly. 2016-09-09 14:16:51 +00:00
LeonItinerariesUT.ll [Sparc][LEON] Itineraries unit test. 2016-05-10 09:09:20 +00:00
LeonReplaceFMULSPassUT.ll [Sparc][LEON] Removed the parts of the errata fixes implemented using inline assembly as this is not the desired behaviour for end-users. Small change to a unit test to implement this without requiring the inline assembly. 2016-09-09 14:16:51 +00:00
LeonReplaceSDIVPassUT.ll This pass, fixing an erratum in some LEON 2 processors ensures that the SDIV instruction is not issued, but replaced by SDIVcc instead, which does not exhibit the error. Unit test included. 2016-10-10 08:53:06 +00:00
LeonSMACUMACInstructionUT.ll [SPARC] Fixes for hardware errata on LEON processor. 2016-06-19 11:03:28 +00:00
lit.local.cfg
mature-mc-support.ll [LLC] Add an inline assembly diagnostics handler. 2017-02-03 11:14:39 +00:00
missing-sret.ll Drop assert that a call with struct return goes to a function with sret 2015-10-21 20:05:01 +00:00
missinglabel.ll Codegen: Fix broken assumption in Tail Merge. 2016-06-24 18:16:36 +00:00
mult-alt-generic-sparc.ll
multiple-div.ll
obj-relocs.ll
parts.ll
private.ll
register-clobber.ll Check for register clobbers when merging a vreg live range with a 2017-01-13 19:08:36 +00:00
rem.ll
reserved-regs.ll [Sparc] Check register use with isPhysRegUsed() instead of reg_nodbg_empty() 2017-03-08 15:23:10 +00:00
select-mask.ll Fix CHECK directives that weren't checking. 2015-08-31 21:10:35 +00:00
setjmp.ll
sjlj.ll Codegen: Make chains from trellis-shaped CFGs 2017-02-15 19:49:14 +00:00
soft-float.ll [SPARC] Fix test so that it checks the correct label. 2017-01-04 14:01:58 +00:00
spill.ll
spillsize.ll
sret-secondary.ll
stack-align.ll [Sparc] Don't overlap variable-sized allocas with other stack variables. 2016-10-25 22:13:28 +00:00
stack-protector.ll [SPARC] [SSP] Add support for LOAD_STACK_GUARD. 2016-04-26 10:37:14 +00:00
thread-pointer.ll [SPARC] Add support for llvm.thread.pointer. 2016-04-26 10:37:01 +00:00
tls.ll [SPARC] Switch to the Machine Scheduler. 2015-09-10 21:49:06 +00:00
trap.ll
varargs.ll [SPARC] Switch to the Machine Scheduler. 2015-09-10 21:49:06 +00:00
vector-call.ll Fix Sparc 32bit Lowering to rebundle up v2i32 values. 2016-02-26 18:55:22 +00:00
vector-extract-elt.ll [DAG] Teach computeKnownBits and ComputeNumSignBits in SelectionDAG to look through EXTRACT_VECTOR_ELT. 2016-10-05 17:40:27 +00:00
zerostructcall.ll [Sparc] Allow passing of empty structs. 2016-06-01 08:48:56 +00:00