summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ELF][Hexagon]add typeZeroFillFastShankar Easwaran2013-02-2413-20/+62
| | | | llvm-svn: 175983
* PR15338: Don't assert if -fsanitize=bounds sees array indexing on an incompleteRichard Smith2013-02-242-1/+10
| | | | | | array type. llvm-svn: 175982
* Add a use of an otherwise unused variable to remove a warning in non-AssertsCameron Zwarich2013-02-241-0/+1
| | | | | | builds. llvm-svn: 175981
* TwoAddressInstructionPass::tryInstructionTransform() only potentially returnsCameron Zwarich2013-02-241-5/+4
| | | | | | | true when shouldOnlyCommute is false, so we can remove code that checks otherwise. llvm-svn: 175980
* TwoAddrInstructionPass::tryInstructionTransform() has a case where it callsCameron Zwarich2013-02-241-5/+10
| | | | | | | | | | | | | | | | itself recursively with a new instruction that has not been finalized, in order to determine whether to keep the instruction. On 'make check' and test-suite the only cases where the recursive invocation made any transformations were simple instruction commutations, so I am restricting the recursive invocation to do only this. The other cases wouldn't work correctly when updating LiveIntervals, since the new instructions don't have slot indices and LiveIntervals hasn't yet been updated. If the other transformations were actually triggering in any test case it would be possible to support it with a lot of effort, but since they don't it's not worth it. llvm-svn: 175979
* [preprocessor] Use MacroDirective in the preprocessor callbacks to make ↵Argyrios Kyrtzidis2013-02-2415-98/+113
| | | | | | | | available the full information about the macro (e.g if it was imported and where). llvm-svn: 175978
* Add comments for the MacroDirective & MacroInfo classes.Argyrios Kyrtzidis2013-02-241-2/+17
| | | | llvm-svn: 175977
* In Sema::InstantiateStaticDataMemberDefinition, pass the var decl to the ↵Argyrios Kyrtzidis2013-02-242-3/+15
| | | | | | | | | | | | consumer just using ASTConsumer::HandleCXXStaticMemberVarInstantiation(), don't pass it with ASTConsumer::HandleTopLevelDecl. ASTConsumer::HandleTopLevelDecl is intended for user-written top-level decls; a consumer can treat an instantiated static data member however it wants of course. llvm-svn: 175976
* Add new base instruction def for cmpi, cmp, slt and sltu so that def/usesReed Kotler2013-02-231-5/+10
| | | | | | proper. Fixed this already a few days ago for slti. llvm-svn: 175975
* TargetInstrInfo::commuteInstruction() doesn't actually return a new instructionCameron Zwarich2013-02-231-13/+3
| | | | | | | unless it was requested to with an optional parameter that defaults to false, so we don't need to handle that case in TwoAddressInstructionPass. llvm-svn: 175974
* Better formatting of conditional expressions.Daniel Jasper2013-02-233-53/+74
| | | | | | | | | | | | | | | | | | | | | | | In conditional expressions, if the condition is split over multiple lines, also break before both operands. This prevents formattings like: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa == aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ? b : c; Which are bad, because they suggestion incorrect operator precedence: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa == (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ? b : c); This lead to the discovery that the expression parser incorrectly handled conditional operators and that it could also handle semicolons (which in turn reduced the amount of special casing for for-loops). As a side-effect, we can now apply the bin-packing configuration to the sections of for-loops. llvm-svn: 175973
* [ELF][Writer] Add hash table.Michael J. Spencer2013-02-233-0/+48
| | | | llvm-svn: 175972
* Reference the canonical commit (r175462) in the value casting release note.David Blaikie2013-02-231-1/+3
| | | | llvm-svn: 175971
* Document the value casting API changes.David Blaikie2013-02-231-0/+12
| | | | | | | | | | After changing the way several value inheritance hierarchies (TypeLoc, CFGelement, ProgramPoint and SVal) handle casting, this documentation describes how 3rd party code may need to be updated to compile with the new APIs. As suggested by Sean Silva on cfe-dev. llvm-svn: 175970
* Prefer 'and' over '&' in comments.David Blaikie2013-02-231-3/+4
| | | | | | Post commit code review feedback from Matt Beaumont-Gay on r174248. llvm-svn: 175969
* Shrink SmallPtrSet. It gets swapped a lot which copies the whole small part.Benjamin Kramer2013-02-231-2/+2
| | | | | | | Testing shows that it's empty in >99% of the cases and I couldn't find a case where it contained more than 2 elements. llvm-svn: 175967
* Add streamed versions of getQualifiedNameAsString.Benjamin Kramer2013-02-236-26/+45
| | | | | | Move the cold virtual method getNameForDiagnostic out of line. llvm-svn: 175966
* Add global structure vectorization to docsRenato Golin2013-02-231-0/+19
| | | | llvm-svn: 175965
* Some more tests for the global structure vectorizerRenato Golin2013-02-231-20/+596
| | | | llvm-svn: 175964
* Remove data member MSAsmStmt::AsmLoc, wrongly hiding AsmStmt::AsmLoc.Enea Zaffanella2013-02-231-1/+1
| | | | llvm-svn: 175963
* X86: Disable cmov-memory patterns on subtargets without cmov.Benjamin Kramer2013-02-232-6/+19
| | | | | | Fixes PR15115. llvm-svn: 175962
* Make some fixes for LiveInterval repair with debug info. Debug valueCameron Zwarich2013-02-232-2/+6
| | | | | | MachineInstrs don't have a slot index. llvm-svn: 175961
* Don't recognize unnamed pointer parameters as casts.Daniel Jasper2013-02-232-5/+13
| | | | | | | | This fixes llvm.org/PR15061. Before: virtual void f(int *)const; After: virtual void f(int *) const; llvm-svn: 175960
* Allow splitting between string literals and identifiers.Daniel Jasper2013-02-232-1/+14
| | | | | | | | | | | | | | | Also don't break in long include directives as that is not desired. We can now format: #include "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaa" #define LL_FORMAT "ll" printf("aaaaa: %d, bbbbbbbbb: %" LL_FORMAT "d, cccccccc: %" LL_FORMAT "d, ddddddddd: %" LL_FORMAT "d\n"); Before, this led to weird results. llvm-svn: 175959
* Fix a bug with the LiveIntervals updating in the two-address pass found byCameron Zwarich2013-02-231-1/+1
| | | | | | running ASCI_Purple/SMG2000 in the test-suite. llvm-svn: 175957
* Make TwoAddressInstructionPass::sink3AddrInstruction() LiveIntervals-aware.Cameron Zwarich2013-02-231-15/+34
| | | | llvm-svn: 175956
* Make rescheduleMIBelowKill() and rescheduleKillAboveMI() LiveIntervals-aware inCameron Zwarich2013-02-231-30/+85
| | | | | | | | TwoAddressInstructionPass. The code in rescheduleMIBelowKill() is a bit tricky, since multiple instructions need to be moved down, one-at-a-time, in reverse order. llvm-svn: 175955
* Implement __builtin_eh_return_data_regno() for ARM and MIPS.Logan Chien2013-02-233-0/+26
| | | | llvm-svn: 175954
* <rdar://problem/13265297> Greg Clayton2013-02-2312-18/+19
| | | | | | StackFrame assumes m_sc is additive, but m_sc can lose its target. So now the SymbolContext::Clear() method takes a bool that indicates if the target should be cleared. Modified all existing code to properly set the bool argument. llvm-svn: 175953
* clang/AST/Decl.h: Add "raw_ostream.h" to appease msvc.NAKAMURA Takumi2013-02-231-0/+1
| | | | llvm-svn: 175952
* [ELF][Writer] Add a PHDR program table entry for dynamic files.Michael J. Spencer2013-02-233-0/+30
| | | | llvm-svn: 175951
* Expand pseudos/macros for Selt. This is the last of the complexReed Kotler2013-02-235-10/+93
| | | | | | macros.The rest is some small misc. stuff. llvm-svn: 175950
* ubsan: Emit bounds checks for array indexing, vector indexing, and (in ↵Richard Smith2013-02-237-17/+207
| | | | | | really simple cases) pointer arithmetic. This augments the existing bounds checking with language-level array bounds information. llvm-svn: 175949
* ubsan: Runtime handlers for array indexing checks.Richard Smith2013-02-233-0/+40
| | | | llvm-svn: 175948
* Fix a handful of remaining assumptions that thread IDs were 32-bitsJason Molenda2013-02-232-14/+14
| | | | | | in the gdb-remote Process plugin files. llvm-svn: 175947
* This should get clang/gcc decorators workingEnrico Granata2013-02-231-19/+44
| | | | llvm-svn: 175946
* Fixing issues in previous checkin - still figuring out how to make ↵Enrico Granata2013-02-232-79/+77
| | | | | | expectedFailureClang take the bugnumber llvm-svn: 175945
* Remove no-op code (since r175842)Dmitri Gribenko2013-02-231-3/+0
| | | | llvm-svn: 175944
* Test that attribute(availability) doesn't override private_extern.John McCall2013-02-231-0/+7
| | | | | | rdar://12399248 llvm-svn: 175943
* <rdar://problem/12362092>Enrico Granata2013-02-236-97/+162
| | | | | | | | The decorators @expectedFailure (plain and special-case like i386, clang, ...) are modified to optionally take a bugnumber argument If such an argument is specified, the failure report (or unexpected success report) will include the information passed in as part of the message This is mostly useful for associating failures to issue IDs in issue management systems (e.g. the LLVM bugzilla) llvm-svn: 175942
* [ELF][Writer] Add dynamic string and symbol table.Michael J. Spencer2013-02-234-59/+124
| | | | llvm-svn: 175941
* ARM: Convenience aliases for 'srs*' instructions.Jim Grosbach2013-02-235-0/+97
| | | | | | | | Handle an implied 'sp' operand. rdar://11466783 llvm-svn: 175940
* Fixed a careless mistake.Michael Gottesman2013-02-231-1/+1
| | | | | | rdar://13273675. llvm-svn: 175939
* Remove the CFGElement "Invalid" state.David Blaikie2013-02-2319-85/+78
| | | | | | | | | | | | | Use Optional<CFG*> where invalid states were needed previously. In the one case where that's not possible (beginAutomaticObjDtorsInsert) just use a dummy CFGAutomaticObjDtor. Thanks for the help from Jordan Rose & discussion/feedback from Ted Kremenek and Doug Gregor. Post commit code review feedback on r175796 by Ted Kremenek. llvm-svn: 175938
* Remove the hack that avoided mangling static functions in extern C contexts.Rafael Espindola2013-02-234-24/+9
| | | | | | | | | | | | | | | | | Weather we should give C language linkage to functions and variables with internal linkage probably depends on how much code assumes it. The standard says they should have no language linkage, but gcc and msvc assign them C language linkage. This commit removes the hack that was preventing the mangling on static functions declare in extern C contexts. It is an experiment to see if we can implement the rules in the standard. If it turns out that many users depend on these functions and variables having C language linkage, we should change isExternC instead and try to convince the CWG to change the standard. llvm-svn: 175937
* Revert r175912, "Add support for coldcc to clang" at John's request.Peter Collingbourne2013-02-2315-59/+12
| | | | llvm-svn: 175936
* Propagate the split dwarf file information through into the backendEric Christopher2013-02-224-4/+17
| | | | | | | | | and through to the debug info in the module. In order to make the testcase a bit more efficient allow the filename to go through compilation for compile and not assemble jobs and turn off the extract for cases where we don't create an object. llvm-svn: 175935
* Use getSplitDebugFilename when constructing the skeleton cu andEric Christopher2013-02-222-5/+3
| | | | | | update testcase accordingly to give the correct name to the cu. llvm-svn: 175934
* Add a field to the compile unit of where we plan on splitting outEric Christopher2013-02-223-4/+10
| | | | | | | the debug info for -gsplit-dwarf so we can encode that location in the skeleton cu. llvm-svn: 175933
* Add a TODO and explain when we can get rid of the isMain field.Eric Christopher2013-02-222-2/+2
| | | | llvm-svn: 175932
OpenPOWER on IntegriCloud