- Jan 28, 2013
-
-
Michael Gottesman authored
Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. llvm-svn: 173647
-
- Jan 27, 2013
-
-
Bill Wendling authored
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173601
-
Bill Wendling authored
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173600
-
- Jan 26, 2013
-
-
Bill Wendling authored
The 'getSlot' function and its ilk allow introspection into the AttributeSet class. However, that class should be opaque. Allow access through accessor methods instead. llvm-svn: 173522
-
- Jan 25, 2013
-
-
Bill Wendling authored
llvm-svn: 173499
-
Pedro Artigas authored
created InternalizePass (useful for pass reuse) llvm-svn: 173474
-
- Jan 23, 2013
-
-
Bill Wendling authored
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. llvm-svn: 173230
-
Bill Wendling authored
Collections of attributes are handled via the AttributeSet class now. This finally frees us up to make significant changes to how attributes are structured. llvm-svn: 173228
-
Bill Wendling authored
when removing one attribute. This further encapsulates the use of the attributes. llvm-svn: 173214
-
Bill Wendling authored
when adding a single attribute to the function. llvm-svn: 173210
-
- Jan 22, 2013
-
-
Bill Wendling authored
Use the AttributeSet when we're talking about more than one attribute. Add a function that adds a single attribute. No functionality change intended. llvm-svn: 173196
-
- Jan 21, 2013
-
-
Bill Wendling authored
This further restricts the use of the Attribute class to the Attribute family of classes. llvm-svn: 173098
-
Bill Wendling authored
This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a collection of attributes. llvm-svn: 173094
-
Chandler Carruth authored
a dynamic analysis done on each call to the routine. However, now it can use the standard pass infrastructure to reference other analyses, instead of a silly setter method. This will become more interesting as I teach it about more analysis passes. This updates the two inliner passes to use the inline cost analysis. Doing so highlights how utterly redundant these two passes are. Either we should find a cheaper way to do always inlining, or we should merge the two and just fiddle with the thresholds to get the desired behavior. I'm leaning increasingly toward the latter as it would also remove the Inliner sub-class split. llvm-svn: 173030
-
Chandler Carruth authored
Formatting fixes brought to you by clang-format. llvm-svn: 173029
-
Chandler Carruth authored
functionality changed. llvm-svn: 173028
-
- Jan 18, 2013
-
-
Bill Wendling authored
Further encapsulation of the Attribute object. Don't allow direct access to the Attribute object as an aggregate. llvm-svn: 172853
-
Bill Wendling authored
Because the Attribute class is going to stop representing a collection of attributes, limit the use of it as an aggregate in favor of using AttributeSet. This replaces some of the uses for querying the function attributes. llvm-svn: 172844
-
- Jan 13, 2013
-
-
Dmitri Gribenko authored
llvm-svn: 172358
-
- Jan 12, 2013
-
-
Benjamin Kramer authored
Found by valgrind. llvm-svn: 172318
-
Michael Gottesman authored
llvm-svn: 172271
-
- Jan 11, 2013
-
-
Michael Gottesman authored
Specifically: 1. Added a missing new line when we emit a debug message saying that we are marking a global variable as constant. 2. Added debug messages that describe what is occuring when GlobalOpt is evaluating a block/function. 3. Added a debug message that says what specific constructor is being evaluated. llvm-svn: 172247
-
- Jan 10, 2013
-
-
Joey Gouly authored
llvm-svn: 172051
-
- Jan 07, 2013
-
-
Chandler Carruth authored
llvm-svn: 171749
-
Chandler Carruth authored
implementation lives already. llvm-svn: 171746
-
Chandler Carruth authored
builder these days, and this thing hasn't seen updates for a very long time. llvm-svn: 171741
-
- Jan 04, 2013
-
-
Nadav Rotem authored
Move the loop vectorizer from O2 to O3. It looks like the increase in code size actually hurts the performance on many programs. llvm-svn: 171471
-
- Jan 02, 2013
-
-
Chandler Carruth authored
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. llvm-svn: 171366
-
- Dec 30, 2012
-
-
Nuno Lopes authored
The later API is nicer than the former, and is correct regarding wrap-around offsets (if anyone cares). There are a few more places left with duplicated code, which I'll remove soon. llvm-svn: 171259
-
Bill Wendling authored
llvm-svn: 171255
-
Bill Wendling authored
directly. This is in preparation for removing the use of the 'Attribute' class as a collection of attributes. That will shift to the AttributeSet class instead. llvm-svn: 171253
-
- Dec 27, 2012
-
-
Chandler Carruth authored
getAnalysisUsage implementations. llvm-svn: 171157
-
- Dec 21, 2012
-
-
Roman Divacky authored
llvm-svn: 170902
-
- Dec 19, 2012
-
-
Bill Wendling authored
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. llvm-svn: 170502
-
Nadav Rotem authored
Enable the loop vectorizer in clang and not in the pass manager, so that we can disable it in clang. llvm-svn: 170470
-
- Dec 18, 2012
-
-
Nadav Rotem authored
llvm-svn: 170416
-
- Dec 15, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 170267
-
- Dec 14, 2012
-
-
Nadav Rotem authored
llvm-svn: 170246
-
Nadav Rotem authored
llvm-svn: 170172
-
Nadav Rotem authored
llvm-svn: 170166
-