aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/CppBackend
AgeCommit message (Collapse)Author
2013-11-23fixesAlon Zakai
2013-11-23handle all unaligned double storesAlon Zakai
2013-11-23alignment fixesAlon Zakai
2013-11-23handle unaligned storesAlon Zakai
2013-11-23refactor getPtrUse to handle extra offsets and forced byte alignmentAlon Zakai
2013-11-23fix getPtrAlon Zakai
2013-11-23more binary opsAlon Zakai
2013-11-23handle int/float bitcastsAlon Zakai
2013-11-23use signedness in icmpAlon Zakai
2013-11-23clean up brAlon Zakai
2013-11-23logical and float mathopsAlon Zakai
2013-11-23clean up div/remAlon Zakai
2013-11-23fix sext and refactorAlon Zakai
2013-11-23<32 bit int castsAlon Zakai
2013-11-23fix parens in sdiv/sremAlon Zakai
2013-11-23correct sign in sdiv, sremAlon Zakai
2013-11-23fix phi constantsAlon Zakai
2013-11-23handle dependencies and cycles in phisAlon Zakai
2013-11-23split out cast and non-cast versions of getValueAsStrAlon Zakai
2013-11-22align stack to 8 bytesAlon Zakai
2013-11-22sextAlon Zakai
2013-11-22truncAlon Zakai
2013-11-22support 8-bit constantsAlon Zakai
2013-11-22ir debugger helperAlon Zakai
2013-11-22make assert show something even in release buildsAlon Zakai
2013-11-22fix relooper branch directionsAlon Zakai
2013-11-22set asm mode in relooper and add label varAlon Zakai
2013-11-22Math.imulAlon Zakai
2013-11-22native phi pushingAlon Zakai
2013-11-22preparation for phi pushingAlon Zakai
2013-11-22update relooper and fix indentation and empty linesAlon Zakai
2013-11-22more mathopsAlon Zakai
2013-11-22fix getOpName - we have no problem with forward refsAlon Zakai
2013-11-22more debug infoAlon Zakai
2013-11-22note each instruction in a debug messageAlon Zakai
2013-11-22fail on invalid getOpName valuesAlon Zakai
2013-11-22improve pre-relooper branch parsingAlon Zakai
2013-11-22remove phi printing code, in preparation for pushing them back into branchesAlon Zakai
2013-11-21fix mathop return typeAlon Zakai
2013-11-21fix sitofp return typeAlon Zakai
2013-11-21fix sitofp castAlon Zakai
2013-11-21merge in CppBackend workAlon Zakai
2013-03-25Remove assert. There may be target-dependent attributes left.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177878 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-27Convert the CPP backend to use the AttributeSet instead of AttributeWithIndex.Bill Wendling
Further removal of the introspective AttributeWithIndex thing. Also fix the #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173599 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-25Remove some introspection functions.Bill Wendling
The 'getSlot' function and its ilk allow introspection into the AttributeSet class. However, that class should be opaque. Allow access through accessor methods instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173522 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-25Use the new 'getSlotIndex' method to retrieve the attribute's slot index.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173499 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-23Add the IR attribute 'sspstrong'.Bill Wendling
SSPStrong applies a heuristic to insert stack protectors in these situations: * A Protector is required for functions which contain an array, regardless of type or length. * A Protector is required for functions which contain a structure/union which contains an array, regardless of type or length. Note, there is no limit to the depth of nesting. * A protector is required when the address of a local variable (i.e., stack based variable) is exposed. (E.g., such as through a local whose address is taken as part of the RHS of an assignment or a local whose address is taken as part of a function argument.) This patch implements the SSPString attribute to be equivalent to SSPRequired. This will change in a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173230 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-02Move all of the header files which are involved in modelling the LLVM IRChandler Carruth
into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30s/hasAttribute/contains/g to be more consistent with other method names.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171252 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Rename the 'Attributes' class to 'Attribute'. It's going to represent a ↵Bill Wendling
single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8