- Jan 24, 2013
-
-
Andrew Trick authored
Allow schedulers to order DAG edges by critical path. This makes DFS-based heuristics more stable and effective. llvm-svn: 173317
-
Bill Wendling authored
llvm-svn: 173313
-
Bill Wendling authored
llvm-svn: 173311
-
Bill Wendling authored
This is a helper class for the AttributeSetImpl class. It holds a set of attributes that apply to a single element: function, return type, or parameter. These are uniqued. llvm-svn: 173310
-
Bill Wendling authored
Push down the conversion of the alignment from the bit mask to a real number into the attribute implementation class. llvm-svn: 173304
-
- Jan 23, 2013
-
-
Bill Wendling authored
llvm-svn: 173302
-
Tom Stellard authored
This intrinsic is translated to ALLOC_EXPORT_WORD1_SWIZ, hence its name. It is used to store vs/fs outputs Patch by: Vincent Lejeune Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 173297
-
Tom Stellard authored
Patch by: Vincent Lejeune Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 173296
-
Benjamin Kramer authored
llvm-svn: 173293
-
Benjamin Kramer authored
This fixes some edge cases that we would get wrong with uint64_ts. PR14986. llvm-svn: 173289
-
Richard Osborne authored
llvm-svn: 173288
-
Benjamin Kramer authored
This causes crashes during the build of compiler-rt during selfhost. Add a testcase for coverage. llvm-svn: 173279
-
Benjamin Kramer authored
This does the right thing unless the multiplication overflows, but the old code didn't handle that case either. llvm-svn: 173276
-
Eli Bendersky authored
llvm-svn: 173275
-
Eli Bendersky authored
Clean up assignment of CalleeSaveStackSlotSize: get rid of the default and explicitly set this in every target that needs to change it from the default. llvm-svn: 173270
-
Benjamin Kramer authored
This is still an egregious hack since we don't have a nice interface for this kind of thing but should help the valgrind leak check buildbot to become green. llvm-svn: 173267
-
Anton Korobeynikov authored
Otherwise this might hide the problems. llvm-svn: 173265
-
Kostya Serebryany authored
[asan] use ADD instead of OR when applying shadow offset of PowerPC. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55975 for details llvm-svn: 173258
-
Duncan Sands authored
used uninitialized, since it fails to understand that Array is only used when SingleValue is not, and outputs a warning. It also seems generally safer given that the constructor is non-trivial and has plenty of early exits. llvm-svn: 173242
-
Bill Wendling authored
The requirements of the strong heuristic are: * 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.) llvm-svn: 173231
-
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
-
Tom Stellard authored
Remove Cxxx registers, add new special register - "ALU_CONST" and new operand for each alu src - "sel". ALU_CONST is used to designate that the new operand contains the value to override src.sel, src.kc_bank, src.chan for constants in the driver. Patch by: Vadim Girlin Vincent Lejeune: - Use pointers for constants - Fold CONST_ADDRESS when possible Tom Stellard: - Give CONSTANT_BUFFER_0 its own address space - Use integer types for constant loads Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 173222
-
Tom Stellard authored
Patch by: Vincent Lejeune Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 173221
-
Tom Stellard authored
Patch by: Vincent Lejeune Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 173220
-
Nadav Rotem authored
Add support for reverse pointer induction variables. These are loops that contain pointers that count backwards. For example, this is the hot loop in BZIP: do { m = *--p; *p = ( ... ); } while (--n); llvm-svn: 173219
-
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
-
-
Richard Osborne authored
llvm-svn: 173204
-
Michael Gottesman authored
llvm-svn: 173202
-
Michael Gottesman authored
[ObjCARC] Refactored out the inner most 2-loops from PerformCodePlacement into the method ConnectTDBUTraversals. The method PerformCodePlacement was doing too much (i.e. 3x loops, lots of different checking). This refactoring separates the analysis section of the method into a separate function while leaving the actual code placement and analysis preparation in PerformCodePlacement. *NOTE* Really this part of ObjCARC should be refactored out of the main pass class into its own seperate class/struct. But, it is not time to make that change yet though (don't want to make such an invasive change without fixing all of the bugs first). llvm-svn: 173201
-
Michael Liao authored
- Add list of physical registers clobbered in pseudo atomic insts Physical registers are clobbered when pseudo atomic instructions are expanded. Add them in clobber list to prevent DAG scheduler to mis-schedule them after these insns are declared side-effect free. - Add test case from Michael Kuperstein <michael.m.kuperstein@intel.com> llvm-svn: 173200
-
Kevin Enderby authored
the body does not use them and it appears the body has positional parameters. This can cause unexpected results as in the added test case. As the darwin version of gas(1) which only supported positional parameters, happened to ignore the named parameters. Now that we want to support both styles of macros we issue a warning in this specific case. rdar://12861644 llvm-svn: 173199
-
Akira Hatanaka authored
llvm-svn: 173197
-
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
-
Kevin Enderby authored
an expression. Currently this bug causes the line to be ignored in a release build and an assert in a debug build. rdar://13062484 llvm-svn: 173195
-
Akira Hatanaka authored
intended llvm-svn: 173189
-
Benjamin Kramer authored
X86: Make sure we account for the FMA4 register immediate value, otherwise rip-rel relocations will be off by one byte. PR15040. llvm-svn: 173176
-
Eli Bendersky authored
Add the x32 environment kind to the triple, and separate the concept of pointer size and callee save stack slot size, since they're not equal on x32. llvm-svn: 173175
-
Evgeniy Stepanov authored
llvm-svn: 173156
-