Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Reapply r110396, with fixes to appease the Linux buildbot gods. | Owen Anderson | 2010-08-06 | 1 | -2/+2 | |
| | | | | llvm-svn: 110460 | |||||
* | Revert r110396 to fix buildbots. | Owen Anderson | 2010-08-06 | 1 | -2/+2 | |
| | | | | llvm-svn: 110410 | |||||
* | Don't use PassInfo* as a type identifier for passes. Instead, use the ↵ | Owen Anderson | 2010-08-05 | 1 | -2/+2 | |
| | | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396 | |||||
* | Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). | Owen Anderson | 2010-07-21 | 1 | -2/+2 | |
| | | | | llvm-svn: 109045 | |||||
* | tighten up this code. | Chris Lattner | 2010-07-06 | 1 | -12/+7 | |
| | | | | llvm-svn: 107670 | |||||
* | Fix up -fstack-protector on linux to use the segment | Eric Christopher | 2010-07-06 | 1 | -2/+15 | |
| | | | | | | | | | registers. Split out testcases per architecture and os now. Patch from Nelson Elhage. llvm-svn: 107640 | |||||
* | Uniformize the names of type predicates: rather than having isFloatTy and | Duncan Sands | 2010-02-15 | 1 | -1/+1 | |
| | | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223 | |||||
* | Move remaining stuff to the isInteger predicate. | Benjamin Kramer | 2010-01-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 92771 | |||||
* | Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. | Nick Lewycky | 2009-10-25 | 1 | -1/+1 | |
| | | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042 | |||||
* | Neuter stack protectors by only checking character arrays. This is what GCC | Bill Wendling | 2009-10-23 | 1 | -1/+6 | |
| | | | | | | does. llvm-svn: 84916 | |||||
* | Push LLVMContexts through the IntegerType APIs. | Owen Anderson | 2009-08-13 | 1 | -4/+7 | |
| | | | | llvm-svn: 78948 | |||||
* | Revert yesterday's change by removing the LLVMContext parameter to ↵ | Owen Anderson | 2009-07-15 | 1 | -1/+1 | |
| | | | | | | AllocaInst and MallocInst. llvm-svn: 75863 | |||||
* | Move EVER MORE stuff over to LLVMContext. | Owen Anderson | 2009-07-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 75703 | |||||
* | This started as a small change, I swear. Unfortunately, lots of things call ↵ | Owen Anderson | 2009-07-09 | 1 | -1/+1 | |
| | | | | | | the [I|F]CmpInst constructors. Who knew!? llvm-svn: 75200 | |||||
* | Rename PaddedSize to AllocSize, in the hope that this | Duncan Sands | 2009-05-09 | 1 | -1/+1 | |
| | | | | | | | will make it more obvious what it represents, and stop it being confused with the StoreSize. llvm-svn: 71349 | |||||
* | When we split a basic block, there's a default branch to the newly created BB. | Bill Wendling | 2009-03-06 | 1 | -0/+3 | |
| | | | | | | Delete this default branch, because we're going to generate our own. llvm-svn: 66234 | |||||
* | Rename getABITypeSize to getTypePaddedSize, as | Duncan Sands | 2009-01-12 | 1 | -1/+1 | |
| | | | | | | suggested by Chris. llvm-svn: 62099 | |||||
* | Rename stackprotector_create intrinsic to stackprotector. | Bill Wendling | 2008-11-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 59519 | |||||
* | Remove the stackprotector_check intrinsic. Use a volatile load instead. | Bill Wendling | 2008-11-18 | 1 | -6/+4 | |
| | | | | llvm-svn: 59504 | |||||
* | - Use "moveAfter" instead of "remove/insert" of a basic block. | Bill Wendling | 2008-11-18 | 1 | -103/+104 | |
| | | | | | | | | | - Use less indentation in coding. - Shorten description. - Update comments. - Move code around llvm-svn: 59496 | |||||
* | Implement stack protectors as function attributes: "ssp" and "sspreq". | Bill Wendling | 2008-11-13 | 1 | -14/+12 | |
| | | | | llvm-svn: 59202 | |||||
* | Small simplification. Use the iterator already present as the insertion point. | Bill Wendling | 2008-11-10 | 1 | -4/+3 | |
| | | | | llvm-svn: 59008 | |||||
* | - Make sure that we don't over-increment the iterator when going through the | Bill Wendling | 2008-11-10 | 1 | -7/+8 | |
| | | | | | | | basic blocks. - Minor code clean-up. llvm-svn: 59002 | |||||
* | - Modify the stack protector algorithm so that the stack slot is allocated in | Bill Wendling | 2008-11-07 | 1 | -31/+29 | |
| | | | | | | | | | LLVM IR code and not in the selection DAG ISel. This is a cleaner solution. - Fix the heuristic for determining if protectors are necessary. The previous one wasn't checking the proper type size. llvm-svn: 58824 | |||||
* | Remove unneeded header file. | Bill Wendling | 2008-11-06 | 1 | -1/+0 | |
| | | | | llvm-svn: 58823 | |||||
* | Don't build a vector of returns. Just modify the Function in the loop. | Bill Wendling | 2008-11-06 | 1 | -46/+49 | |
| | | | | llvm-svn: 58822 | |||||
* | The size limit is for individual arrays. So if any array has more than 8 bytes | Bill Wendling | 2008-11-06 | 1 | -5/+3 | |
| | | | | | | in it, then emit stack protectors. llvm-svn: 58819 | |||||
* | - Rename stackprotector_{prologue,epilogue} to stackprotector_{create,check}. | Bill Wendling | 2008-11-06 | 1 | -2/+2 | |
| | | | | | | | - Get rid of "HasStackProtector" in MachineFrameInfo. - Modify intrinsics to tell which are doing what with memory. llvm-svn: 58799 | |||||
* | Adjust the stack protector heuristic to care about only arrays or calls to | Bill Wendling | 2008-11-06 | 1 | -1/+9 | |
| | | | | | | "alloca". llvm-svn: 58792 | |||||
* | Implement the stack protector stack accesses via intrinsics: | Bill Wendling | 2008-11-06 | 1 | -9/+11 | |
| | | | | | | | | | | | | - stackprotector_prologue creates a stack object and stores the guard there. - stackprotector_epilogue reads the stack guard from the stack position created by stackprotector_prologue. - The PrologEpilogInserter was changed to make sure that the stack guard is first on the stack frame. llvm-svn: 58791 | |||||
* | Remove dead variable. | Bill Wendling | 2008-11-05 | 1 | -1/+0 | |
| | | | | llvm-svn: 58741 | |||||
* | Simplify the allocated size calculation. | Bill Wendling | 2008-11-05 | 1 | -3/+3 | |
| | | | | llvm-svn: 58740 | |||||
* | Fix comment | Bill Wendling | 2008-11-05 | 1 | -1/+2 | |
| | | | | llvm-svn: 58739 | |||||
* | Some code simplification. It now doesn't generate a prologue if the epilogue | Bill Wendling | 2008-11-05 | 1 | -61/+47 | |
| | | | | | | isn't going to be generated. llvm-svn: 58734 | |||||
* | Small simplification of the stack guard type. | Bill Wendling | 2008-11-04 | 1 | -4/+3 | |
| | | | | llvm-svn: 58728 | |||||
* | - Add a "getOrInsertGlobal" method to the Module class. This acts similarly to | Bill Wendling | 2008-11-04 | 1 | -14/+11 | |
| | | | | | | | | | | "getOrInsertFunction" in that it either adds a new declaration of the global and returns it, or returns the current one -- optionally casting it to the correct type. - Use the new getOrInsertGlobal in the stack protector code. - Use "splitBasicBlock" in the stack protector code. llvm-svn: 58727 | |||||
* | Update in response to feedback from Chris: | Bill Wendling | 2008-11-04 | 1 | -28/+34 | |
| | | | | | | | | | | | | | | | | | - Use enums instead of magic numbers. - Rework algorithm to use the bytes size from the target to determine when to emit stack protectors. - Get rid of "propolice" in any comments. - Renamed an option to its expanded form. - Other miscellanenous changes. More changes will come after this. llvm-svn: 58723 | |||||
* | Initial checkin for stack protectors. Here's what it does: | Bill Wendling | 2008-11-04 | 1 | -0/+228 | |
* The prologue is modified to read the __stack_chk_guard global and insert it onto the stack. * The epilogue is modified to read the stored guard from the stack and compare it to the original __stack_chk_guard value. If they differ, then the __stack_chk_fail() function is called. * The stack protector needs to be first on the stack (after the parameters) to catch any stack-smashing activities. Front-end support will follow after a round of beta testing. llvm-svn: 58673 |