summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use the attribute enums to query if a parameter has an attribute.Bill Wendling2012-10-0910-196/+44
| | | | llvm-svn: 165550
* Cleanup in the AppleObjCRuntimeV2 to make descriptorsSean Callanan2012-10-092-29/+22
| | | | | | | | | | | | | | | | | lighter-weight so that the cache can be populated faster. - I Added a ProcessWP to the runtime so I can take it out of the individual descriptors, saving space; - I made the constructors for the descriptors private so that only the runtime can invoke them; and - I removed the constructor that takes a ValueObject since the logic for using a ValueObject is in the runtime. llvm-svn: 165549
* Revert r165547 to fix build.Bill Wendling2012-10-091-4/+10
| | | | llvm-svn: 165548
* Use a single location for calculating the alignments.Bill Wendling2012-10-091-10/+4
| | | | llvm-svn: 165547
* Initialize the end loc in ObjCInterfaceTypeLoc.Benjamin Kramer2012-10-091-0/+1
| | | | | | Found by valgrind. llvm-svn: 165546
* The clang driver has a fairly fancy support for executing gcc instead ofRafael Espindola2012-10-0924-104/+50
| | | | | | | | | | | | | | clang itself. This dates back to clang's early days and while it looks like some of it is still used (for kext for example), other parts are probably dead. Remove the -ccc-clang-archs option and associated code. I don't think there is any remaining setup where clang doesn't support an architecture but it can expect an working gcc cross compiler to be available. A nice side effect is that tests no longer need to differentiate architectures that are included in production builds of clang and those that are not. llvm-svn: 165545
* tblgen: Rename handleDependencies -> createDependencyFileSean Silva2012-10-091-2/+2
| | | | llvm-svn: 165544
* Remove this now unused variable macro.Bill Wendling2012-10-091-1/+0
| | | | llvm-svn: 165543
* tblgen: Move dependency file output to a separate function.Sean Silva2012-10-091-21/+31
| | | | | | This keeps it out of the main flow of TableGenMain. llvm-svn: 165542
* Use appropriate method calls to get the alignment value.Bill Wendling2012-10-092-6/+6
| | | | llvm-svn: 165541
* Whitespace.Chad Rosier2012-10-091-3/+0
| | | | llvm-svn: 165540
* Inline the checks for mutually exclusive attributes since they're used in ↵Bill Wendling2012-10-093-22/+57
| | | | | | only one module. llvm-svn: 165539
* Simplify the code using SmallVector::append(), as suggested by Benjamin Kramer.Argyrios Kyrtzidis2012-10-091-10/+3
| | | | llvm-svn: 165538
* [driver] Remove redundant cases due to overlapping commits between Ted ↵Chad Rosier2012-10-091-2/+0
| | | | | | | | (r165531, 165532) and I (r165534), but leave the test case in place. llvm-svn: 165537
* -fcatch-undefined-behavior: emit calls to the runtime library whenever one ↵Richard Smith2012-10-0913-63/+376
| | | | | | of the checks fails. llvm-svn: 165536
* Enable response files in all tools. Patch by Liu, Yaxun (Sam). I have simplifiedRafael Espindola2012-10-093-19/+22
| | | | | | the test. llvm-svn: 165535
* [driver] Remove the -W[no-][int-conversion|constant-conversion|enum-conversion]Chad Rosier2012-10-092-0/+6
| | | | | | | options when clang invokes cc1plus for i386 kexts. rdar://12459188 llvm-svn: 165534
* Add a runtime diagnostics library for Clang's -fcatch-undefined-behavior.Richard Smith2012-10-0923-0/+1023
| | | | llvm-svn: 165533
* Don't forward -Wenum-conversion to cc1plus.Ted Kremenek2012-10-091-0/+1
| | | | llvm-svn: 165532
* Don't forward -Wint-conversion to cc1plus.Ted Kremenek2012-10-091-0/+1
| | | | llvm-svn: 165531
* Move the 'FunctionOnly' attributes thingy inside of the Attributes class.Bill Wendling2012-10-093-59/+100
| | | | llvm-svn: 165530
* Create variable for warning group -Wshorten-64-to-32.Ted Kremenek2012-10-092-3/+3
| | | | llvm-svn: 165521
* Patch from Dan Malea to fix a build break I introduced yesterday.Jason Molenda2012-10-091-1/+1
| | | | | | Thanks again Dan! llvm-svn: 165519
* Move the functionality that looks for ObjC overridden methods fromArgyrios Kyrtzidis2012-10-093-167/+191
| | | | | | | | ASTContext to the ObjCMethodDecl, and have the more generic ASTContext::getOverriddenMethods() use the ObjCMethodDecl::getOverriddenMethods() function. llvm-svn: 165518
* Not everyone uses C++11, apparentlyDouglas Gregor2012-10-091-1/+1
| | | | llvm-svn: 165517
* Changes to clean up the runtime and how the ISA caches are managed.Greg Clayton2012-10-096-382/+398
| | | | llvm-svn: 165516
* Make the order of visitation of the pending bodies in the AST readerDouglas Gregor2012-10-092-3/+9
| | | | | | deterministic. llvm-svn: 165515
* Allow MapVector clients to specify the map and vector types, and add aDouglas Gregor2012-10-091-3/+8
| | | | | | clear() method. llvm-svn: 165514
* When we load a function or method body from an AST file, we checkDouglas Gregor2012-10-098-25/+61
| | | | | | | | | | whether that function/method already has a body (loaded from some other AST file), as introduced in r165137. Delay this check until after the redeclaration chains have been wired up. While I'm here, make the loading of method bodies lazy. llvm-svn: 165513
* More descriptive, doxygen-ed commentsMichael Ilseman2012-10-091-2/+4
| | | | llvm-svn: 165512
* tblgen: Remove pointless method call.Sean Silva2012-10-091-1/+0
| | | | llvm-svn: 165511
* New EarlyCSE tests for CSE-ing across commutativity.Michael Ilseman2012-10-091-0/+66
| | | | llvm-svn: 165510
* Update EarlyCSE's SimpleValues to use Hashing.h for their hashes. Expanded ↵Michael Ilseman2012-10-091-25/+81
| | | | | | the hashing and equality to allow for equality modulo commutativity for binary ops, and comparisons with swapping of predicates. llvm-svn: 165509
* New value_op_iterator for User. This allows other code to iterate over the ↵Michael Ilseman2012-10-091-1/+38
| | | | | | User's operands directly as values, which can be convenient. llvm-svn: 165508
* Fixed the redo.py script to emit correct arch and compiler options after ↵Greg Clayton2012-10-091-6/+8
| | | | | | dotest.py was switched over to use argparse. llvm-svn: 165507
* Improvements to MIPS64 assembler:David Chisnall2012-10-092-42/+85
| | | | | | | - Teach it about dadd[i] instructions and move pseudo-instruction - Make it parse the register names correctly (for N32 / N64) llvm-svn: 165506
* Add in the first step of the multiple pointer support. This adds in support ↵Micah Villmow2012-10-094-49/+190
| | | | | | | | to the data layout for specifying a per address space pointer size. The next step is to update the optimizers to allow them to optimize the different address spaces with this information. llvm-svn: 165505
* Determine supported archs for compiler-rt libraries on Linux by trying to ↵Alexey Samsonov2012-10-092-23/+40
| | | | | | compile a simple executable llvm-svn: 165504
* Fixup for r165097: build 32-bit ASan compiler-rt library on 64-bit Linux ↵Alexey Samsonov2012-10-092-3/+23
| | | | | | only if just-built clang can build simple 32-bit executables llvm-svn: 165503
* If a macro has been #undef'd in a precompiled header, we still need toDouglas Gregor2012-10-095-19/+22
| | | | | | | | | | | | write out the macro history for that macro. Similarly, we need to cope with reading a macro definition that has been #undef'd. Take advantage of this new ability so that global code-completion results can refer to #undef'd macros, rather than losing them entirely. For multiply defined/#undef'd macros, we will still get the wrong result, but it's better than getting no result. llvm-svn: 165502
* Clearing a SmallPtrSet is still expensive, split it out from ↵Benjamin Kramer2012-10-092-2/+8
| | | | | | OverloadCandidateSet::clear and don't do it on destruction. llvm-svn: 165501
* Fixup for r165490: Use DenseMap instead of std::map. Simplify the loop in ↵Alexey Samsonov2012-10-091-13/+16
| | | | | | CollectFunctionDIs. llvm-svn: 165498
* Move the 'ParameterOnly' variable inside of the Attributes class and make it ↵Bill Wendling2012-10-092-27/+28
| | | | | | a method. llvm-svn: 165497
* Remove the now dead VarArgsIncompatible variable.Bill Wendling2012-10-092-7/+2
| | | | llvm-svn: 165496
* Use the enum value of the attributes when removing them from the attributes ↵Bill Wendling2012-10-093-113/+1
| | | | | | builder. llvm-svn: 165495
* Use the enum value of the attributes when adding them to the attributes builder.Bill Wendling2012-10-097-154/+67
| | | | llvm-svn: 165494
* [Sanitizer] Remove unneeded returns after UNIMPLEMENTED macroAlexey Samsonov2012-10-096-20/+0
| | | | llvm-svn: 165493
* [Sanitizer] Add UNREACHABLE(msg) macroAlexey Samsonov2012-10-091-1/+6
| | | | llvm-svn: 165492
* Fix PR14016.Alexey Samsonov2012-10-094-0/+126
| | | | | | | | | | DeadArgumentElimination pass can replace one LLVM function with another, invalidating a pointer stored in debug info metadata entry for this function. To fix this, we collect debug info descriptors for functions before running a DeadArgumentElimination pass and "patch" pointers in metadata nodes if we replace a function. llvm-svn: 165490
* We use the enums to query whether an Attributes object has that attribute. TheBill Wendling2012-10-091-1/+1
| | | | | | opaque layer is responsible for knowing where that specific attribute is stored. llvm-svn: 165489
OpenPOWER on IntegriCloud