summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tsan: add missing interceptorsDmitry Vyukov2013-01-231-0/+2
| | | | llvm-svn: 173253
* Fix regression in formatting pointer types.Daniel Jasper2013-01-232-1/+4
| | | | | | | | | We will need a more principled solution, but we should not leave this unfixed until we come up with one. Before: void f() { int * a; } After: void f() { int *a; } llvm-svn: 173252
* [asan] simplify the code that poisons global redzones, add some more testsKostya Serebryany2013-01-237-22/+87
| | | | llvm-svn: 173251
* Fixes incorrect handling of the declaration context stack.Manuel Klimek2013-01-232-2/+12
| | | | llvm-svn: 173250
* [msan] gethostbyname interceptor.Evgeniy Stepanov2013-01-232-0/+20
| | | | llvm-svn: 173249
* Fix segfaults in the formatter.Manuel Klimek2013-01-232-3/+8
| | | | | Also: expletive deleted. llvm-svn: 173247
* Add option to allow putting all parameters onto the next line.Daniel Jasper2013-01-233-21/+37
| | | | | | | | | | | | | | | | | This only affects styles where BinPackParameters is false. With AllowAllParametersOnNextLine: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaaa, aaaaaaaaaaa); Without it: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaaa, aaaaaaaaaaa); llvm-svn: 173246
* Allow us to better guess the context of an unwrapped line.Manuel Klimek2013-01-234-19/+58
| | | | | | | | | | | This gives us the ability to guess better defaults for whether a * between identifiers is a pointer dereference or binary operator. Now correctly formats: void f(a *b); void f() { f(a * b); } llvm-svn: 173243
* Initialize the components of this class. Otherwise GCC thinks that Array may beDuncan Sands2013-01-231-1/+2
| | | | | | | | 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
* Explicitly cast away the const-ness instead of doing it implicitly.Bill Wendling2013-01-232-5/+5
| | | | llvm-svn: 173241
* llvm/unittests: Use OwningPtr to fix --vg-leak.NAKAMURA Takumi2013-01-234-6/+11
| | | | llvm-svn: 173240
* IRTests/WaymarkTest.cpp: Fix in --vg-leak.NAKAMURA Takumi2013-01-231-0/+2
| | | | llvm-svn: 173239
* IRTests/IRBuilderTest.cpp: GetIntTy: Delete DL at yourself since it is not ↵NAKAMURA Takumi2013-01-231-0/+1
| | | | | | linked. llvm-svn: 173238
* IRTests/IRBuilderTest.cpp: Let GV added to the module.NAKAMURA Takumi2013-01-231-2/+2
| | | | | | It fixes --vg-leak. llvm-svn: 173237
* IRTests/ConstantsTest.cpp: AsInstructionsTest: Delete each instruction ↵NAKAMURA Takumi2013-01-231-6/+8
| | | | | | immediately if it is not linked. llvm-svn: 173236
* Untabify.NAKAMURA Takumi2013-01-231-5/+5
| | | | llvm-svn: 173235
* Whitespace.NAKAMURA Takumi2013-01-231-1/+1
| | | | llvm-svn: 173234
* DominatorTreeTest.cpp: Add the file header.NAKAMURA Takumi2013-01-231-0/+9
| | | | llvm-svn: 173233
* Explicitly cast away the const-ness instead of doing it implicitly.Bill Wendling2013-01-231-5/+9
| | | | llvm-svn: 173232
* Add the heuristic to differentiate SSPStrong from SSPRequired.Bill Wendling2013-01-233-38/+2635
| | | | | | | | | | | | | | | | | | 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
* Add the IR attribute 'sspstrong'.Bill Wendling2013-01-2314-44/+856
| | | | | | | | | | | | | | | | | | | | | 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
* Remove the last of uses that use the Attribute object as a collection of ↵Bill Wendling2013-01-232-7/+12
| | | | | | | | | attributes. 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: 173229
* Remove the last of uses that use the Attribute object as a collection of ↵Bill Wendling2013-01-2310-59/+93
| | | | | | | | | attributes. 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
* Make __attribute__((nonnull)) use the general expression evaluator to search forNick Lewycky2013-01-232-2/+23
| | | | | | | nulls instead of limiting itself to the language-defined "null pointer constant". llvm-svn: 173227
* Remove a compile time warning in RNBRemote::HandlePacket_qProcessInfoJason Molenda2013-01-231-2/+1
| | | | | | for non-x86 builds. llvm-svn: 173226
* Change the container-regs kv pair in the qRegsiterInfoJason Molenda2013-01-232-44/+44
| | | | | | | | | | reply to be hex encoded, not decimal. Fix the whitespace in the container-regs/invalidate-regs documentation, fix one ambiguous hex/decimal number in an example. llvm-svn: 173225
* docs: Update title of external tutorial.Sean Silva2013-01-231-1/+1
| | | | llvm-svn: 173224
* R600: rework handling of the constantsTom Stellard2013-01-2316-104/+483
| | | | | | | | | | | | | | | | | | | | 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
* R600: Add a CONST_ADDRESS node to model constant buf readTom Stellard2013-01-233-1/+12
| | | | | | | Patch by: Vincent Lejeune Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 173221
* R600: Factorise VTX_WORD0 and VTX_WORD1 in tblgen defTom Stellard2013-01-231-45/+65
| | | | | | | Patch by: Vincent Lejeune Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 173220
* Add support for reverse pointer induction variables. These are loops that ↵Nadav Rotem2013-01-234-7/+277
| | | | | | | | | | | | | contain pointers that count backwards. For example, this is the hot loop in BZIP: do { m = *--p; *p = ( ... ); } while (--n); llvm-svn: 173219
* clang/test/Driver/output-file-is-dir.c: This requires shell due to 'cd'.NAKAMURA Takumi2013-01-231-0/+1
| | | | llvm-svn: 173218
* Move everything over to TargetInfo.Michael J. Spencer2013-01-2352-1703/+458
| | | | | | | | I really would have liked to split this patch up, but it would greatly complicate the lld-core and lld drivers having to deal with both {Reader,Writer}Option and TargetInfo. llvm-svn: 173217
* <rdar://problem/12711206>Enrico Granata2013-01-239-70/+139
| | | | | | | | | | Extending ValueObjectDynamicValue so that it stores a TypeAndOrName instead of a TypeSP. This change allows us to reflect the notion that a ValueObject can have a dynamic type for which we have no debug information. Previously, we would coalesce that to the static type of the object, potentially losing relevant information or even getting it wrong. This fix ensures we can correctly report the class name for Cocoa objects whose types are hidden classes that we know nothing about (e.g. __NSArrayI for immutable arrays). As a side effect, our --show-types argument to frame variable no longer needs to append custom dynamic type information. llvm-svn: 173216
* [Driver] Don't remove non-regular files that were outputs.Daniel Dunbar2013-01-232-3/+9
| | | | llvm-svn: 173215
* Use the AttributeSet when removing multiple attributes. Use Attribute::AttrKindBill Wendling2013-01-239-23/+59
| | | | | | when removing one attribute. This further encapsulates the use of the attributes. llvm-svn: 173214
* Documentation cleanup: fixing documentation for FrontendAction.James Dennett2013-01-232-49/+55
| | | | | | | | | | | | | | * Fix a typo, s/BeginSourceAction/BeginSourceFile/, so that the documentation for FrontendAction::BeginSourceFileAction links correctly to BeginSourceFile; * Add some basic \file documentation for FrontendAction.h; * More use of "\brief" instead of repeating the name of the entity being documented; * Stop using Doxygen-style "///" comments in FrontendAction.cpp, as they were polluting the documentation for BeginSourceFile; * Drop incorrect "\see" markup that broke Doxygen's formatting; * Other minor documentation fixes. llvm-svn: 173213
* [Support][ErrorOr] Don't use nullptr :(Michael J. Spencer2013-01-231-6/+6
| | | | llvm-svn: 173212
* Use the AttributeSet when adding multiple attributes and an Attribute::AttrKindBill Wendling2013-01-232-4/+11
| | | | | | when adding a single attribute to the function. llvm-svn: 173211
* Use the AttributeSet when adding multiple attributes and an Attribute::AttrKindBill Wendling2013-01-233-16/+25
| | | | | | when adding a single attribute to the function. llvm-svn: 173210
* [Support][ErrorOr] Add optimized specialization of ErrorOr<void>.Michael J. Spencer2013-01-232-1/+109
| | | | | | | | ErrorOr<void> represents an operation that returns nothing, but can still fail. It should be used in cases where you need the aditional user data that ErrorOr provides over error_code. llvm-svn: 173209
* Fix compilation on Linux, which defines PATH_MAX in a weird place,Douglas Gregor2013-01-222-0/+10
| | | | | | from Saleem Abdulrasool! llvm-svn: 173208
* Add instruction encodings / disassembly support for u10 / lu10 instructions.Richard Osborne2013-01-223-12/+36
| | | | llvm-svn: 173204
* [Support][ErrorOr] Make old gcc happy.Michael J. Spencer2013-01-221-1/+1
| | | | | | Apparently this is how C++98 worked pre-DR. (Thanks Richard). llvm-svn: 173203
* Fixed typo.Michael Gottesman2013-01-221-2/+1
| | | | llvm-svn: 173202
* [ObjCARC] Refactored out the inner most 2-loops from PerformCodePlacement ↵Michael Gottesman2013-01-221-153/+198
| | | | | | | | | | | | | | | | 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
* Fix an issue of pseudo atomic instruction DAG scheduleMichael Liao2013-01-223-3/+118
| | | | | | | | | | - 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
* Add a warning when there is a macro defintion that has named parameters butKevin Enderby2013-01-222-0/+118
| | | | | | | | | | | | | 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
* Add a triple, per Ben's suggestion.Chad Rosier2013-01-221-2/+1
| | | | llvm-svn: 173198
* [mips] Implement MipsRegisterInfo::getRegPressureLimit.Akira Hatanaka2013-01-225-7/+31
| | | | llvm-svn: 173197
OpenPOWER on IntegriCloud