summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SafeStack.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [safestack] Sink unsafe address computation to each use.Evgeniy Stepanov2016-06-161-8/+31
| | | | | | | | | | This is a fix for PR27844. When replacing uses of unsafe allocas, emit the new location immediately after each use. Without this, the pointer stays live from the function entry to the last use, while it's usually cheaper to recalculate. llvm-svn: 272969
* [safestack] Fixup llvm.dbg.value when rewriting unsafe allocas.Evgeniy Stepanov2016-06-161-0/+1
| | | | | | | | | When moving unsafe allocas to the unsafe stack, dbg.declare intrinsics are updated to refer to the new location. This change does the same to dbg.value intrinsics. llvm-svn: 272968
* [safestack] Add canary to unsafe stack framesEvgeniy Stepanov2016-04-111-19/+76
| | | | | | | | Add StackProtector to SafeStack. This adds limited protection against data corruption in the caller frame. Current implementation treats all stack protector levels as -fstack-protector-all. llvm-svn: 266004
* [safestack] Make sure the unsafe stack pointer is popped in all casesAnna Zaks2016-02-021-27/+26
| | | | | | | | | | The unsafe stack pointer is only popped in moveStaticAllocasToUnsafeStack so it won't happen if there are no static allocas. Fixes https://llvm.org/bugs/show_bug.cgi?id=26122 Differential Revision: http://reviews.llvm.org/D16339 llvm-svn: 259447
* Move SafeStack to CodeGen.Benjamin Kramer2016-01-271-0/+760
It depends on the target machinery, that's not available for instrumentation passes. llvm-svn: 258942
OpenPOWER on IntegriCloud