diff options
| author | Saleem Abdulrasool <compnerd@compnerd.org> | 2016-03-10 16:26:37 +0000 |
|---|---|---|
| committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2016-03-10 16:26:37 +0000 |
| commit | 1632fe1f77b114799d2aa00ff2c097d9be47708a (patch) | |
| tree | 211779f98319abc0f06e4887feddc08811b62934 /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | |
| parent | 396e02a6e309cb3270ec2cd16173ce4feef11511 (diff) | |
| download | bcm5719-llvm-1632fe1f77b114799d2aa00ff2c097d9be47708a.tar.gz bcm5719-llvm-1632fe1f77b114799d2aa00ff2c097d9be47708a.zip | |
ARM: follow up improvements for SVN r263118
The initial change was insufficiently complete for always getting the semantics
of __builtin_longjmp correct. The builtin is translated into a
`tInt_eh_sjlj_longjmp` DAG node. This node set R7 as clobbered. However, the
code would then follow up with a clobber of R11. I had failed to notice the
imp-def,kill on R7 in the isel. Unfortunately, it seems that it is not possible
to conditionalise the Defs list via an !if. Instead, construct a new parallel
WIN node and prefer that when targeting windows. This ensures that we now both
correctly model the __builtin_longjmp as well as construct the frame in a more
ABI conformant manner.
llvm-svn: 263123
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
0 files changed, 0 insertions, 0 deletions

