summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary RTTI from the build.Sean Silva2012-10-104-8/+0
| | | | llvm-svn: 165652
* tblgen: Compile TableGen without RTTI.Sean Silva2012-10-104-6/+0
| | | | | | TableGen no longer needs RTTI! llvm-svn: 165651
* tblgen: Build clang-tblgen without RTTI.Sean Silva2012-10-102-2/+0
| | | | | | clang-tblgen no longer needs RTTI! llvm-svn: 165650
* tblgen: Use LLVM-style RTTI in clang-tblgenSean Silva2012-10-104-25/+24
| | | | llvm-svn: 165649
* tblgen: Move mini Type hierarchy to LLVM-style RTTI.Sean Silva2012-10-101-4/+22
| | | | llvm-svn: 165648
* tblgen: Use semantically correct RTTI functions.Sean Silva2012-10-1011-78/+57
| | | | | | Also, some minor cleanup. llvm-svn: 165647
* tblgen: Mechanically move dynamic_cast<> to dyn_cast<>.Sean Silva2012-10-1015-192/+192
| | | | | | | | | | Some of these dyn_cast<>'s would be better phrased as isa<> or cast<>. That will happen in a future patch. There are also two dyn_cast_or_null<>'s slipped in instead of dyn_cast<>'s, since they were causing crashes with just dyn_cast<>. llvm-svn: 165646
* tblgen: Put dyn_cast<> machinery in place for Init hierarchy.Sean Silva2012-10-101-20/+118
| | | | llvm-svn: 165645
* Add the testcase from pr13254 (the old scalarreply pass handles this wrong;Duncan Sands2012-10-101-0/+16
| | | | | | the new sroa pass handles it right). llvm-svn: 165644
* [Doc parsing] This patch searches overridden objc/c++Fariborz Jahanian2012-10-1010-55/+255
| | | | | | | | | | methods looking for documentation on a particular base class inherited by any method that overrides the base class. In case of redeclaration, as when objc method is defined in the implementation, it also looks up for documentation in class/class extension being redeclared. llvm-svn: 165643
* Change the Thread constructor over to take a Process& rather than a ↵Jim Ingham2012-10-1026-51/+369
| | | | | | | | | | | | | ProcessSP. We can't create Threads with a NULL ProcessSP, so it makes no sense to use the SP. Then make the Thread a Broadcaster, and get it to broadcast when the selected frame is changed (but only from the Command Line) and when Thread::ReturnFromFrame changes the stack. Made the Driver use this notification to print the new thread status rather than doing it in the command. Fixed a few places where people were setting their broadcaster class by hand rather than using the static broadcaster class call. <rdar://problem/12383087> llvm-svn: 165640
* Remove dead variable.Bill Wendling2012-10-101-1/+0
| | | | llvm-svn: 165639
* Specify CPU model to avoid breaking ATOM buildsMichael Liao2012-10-102-4/+4
| | | | llvm-svn: 165638
* Remove unused argument.Bill Wendling2012-10-101-1/+1
| | | | llvm-svn: 165636
* [analyzer] Don't run non-path-sensitive checks on system headers...Jordan Rose2012-10-103-24/+74
| | | | | | | | | | | | | | | ...but do run them on user headers. Previously, we were inconsistent here: non-path-sensitive checks on code /bodies/ were only run in the main source file, but checks on /declarations/ were run in /all/ headers. Neither of those is the behavior we want. Thanks to Sujit for pointing this out! <rdar://problem/12454226> llvm-svn: 165635
* [analyzer] Fix typo: s/HandleDeclsGallGraph/HandleDeclsCallGraph/gJordan Rose2012-10-101-3/+3
| | | | | | No functionality change. llvm-svn: 165634
* docs: Propagate fix from r165632 to other docs.Sean Silva2012-10-101-2/+2
| | | | | | | There are only two other instances of using `.. code::` instead of `.. code-block::`. llvm-svn: 165633
* docs: Attempt to fix PR14053.Sean Silva2012-10-101-29/+29
| | | | | | | | | | | | | | | Hypothesis 1: use of `.. code::` directive instead of `.. code-block::` is causing Sphinx to discard the block. On my machine, `.. code::` renders fine. However, I don't think that `.. code::` is actually a legit Sphinx directive. I believe that on my machine Sphinx is falling back to just displaying it monospace with no syntax, whereas llvm.org's Sphinx is just discarding it. This is truly "remote debugging" since I can't reproduce this on my machine. It would be helpful to be able to see the llvm.org Sphinx build logs; if that's possible please let me know. llvm-svn: 165632
* Add support for FP_ROUND from v2f64 to v2f32Michael Liao2012-10-106-15/+121
| | | | | | | | | | - Due to the current matching vector elements constraints in ISD::FP_ROUND, rounding from v2f64 to v4f32 (after legalization from v2f32) is scalarized. Add a customized v2f32 widening to convert it into a target-specific X86ISD::VFPROUND to work around this constraints. llvm-svn: 165631
* Don't make regexp commands as regular commands - they are "short cuts" and ↵Jim Ingham2012-10-101-1/+5
| | | | | | users should be able to override them with "unalias" but you can't unalias normal commands. llvm-svn: 165630
* -Warc-repeated-use-of-weak: look through explicit casts on assigned values.Jordan Rose2012-10-102-1/+12
| | | | | | | Reading from a weak property, casting the result, and assigning to a strong pointer should still be considered safe. llvm-svn: 165629
* Move Sema::PropertyIfSetterOrGetter to ObjCMethodDecl::findPropertyDecl.Jordan Rose2012-10-108-120/+97
| | | | | | | | Then, switch users of PropertyIfSetterOrGetter and LookupPropertyDecl (the latter by name) over to findPropertyDecl. This actually makes -Wreceiver-is-weak a bit stronger than it was before. llvm-svn: 165628
* Change Sema::PropertyIfSetterOrGetter to make use of isPropertyAccessor.Jordan Rose2012-10-103-36/+50
| | | | | | | | | | | | | | | | | | | | | | | | Old algorithm: 1. See if the name looks like a getter or setter. 2. Use the name to look up a property in the current ObjCContainer and all its protocols. 3. If the current container is an interface, also look in all categories and superclasses (and superclass categories, and so on). New algorithm: 1. See if the method is marked as a property accessor. If so, look through all properties in the current container and find one that has a matching selector. 2. Find all overrides of the method using ObjCMethodDecl's getOverriddenMethods. This collects methods in superclasses and protocols (as well as superclass categories, which isn't really necessary), and checks if THEY are accessors. This part is not done recursively, since getOverriddenMethods is already recursive. This lets us handle getters and setters that do not match the property names. llvm-svn: 165627
* Rename ObjCMethodDecl::isSynthesized to isPropertyAccessor.Jordan Rose2012-10-1013-44/+43
| | | | | | | | | | | | | This more accurately reflects its use: this flag is set when a method matches the getter or setter name for a property in the same class, and does not actually specify whether or not the definition of the method will be synthesized (either implicitly or explicitly with @synthesize). This renames the setter and backing field as well, and changes the (soon-to-be-obsolete?) XML dump format to use 'property_accessor' instead of 'synthesized'. llvm-svn: 165626
* Add alternative support for FP_ROUND from v2f32 to v2f64Michael Liao2012-10-104-90/+26
| | | | | | | | | | | - Due to the current matching vector elements constraints in ISD::FP_EXTEND, rounding from v2f32 to v2f64 is scalarized. Add a customized v2f32 widening to convert it into a target-specific X86ISD::VFPEXT to work around this constraints. This patch also reverts a previous attempt to fix this issue by recovering the scalarized ISD::FP_EXTEND pattern and thus significantly reduces the overhead of supporting non-power-2 vector FP extend. llvm-svn: 165625
* Fix stack overflow when trying to create an implicit movingArgyrios Kyrtzidis2012-10-102-1/+39
| | | | | | | | constructor with invalid code. rdar://12240916 llvm-svn: 165623
* Remove a trailing blank line, test commit.NAKAMURA Takumi2012-10-101-1/+0
| | | | llvm-svn: 165621
* [CMake] clang/tools/extra may be included by ↵NAKAMURA Takumi2012-10-101-4/+2
| | | | | | | | LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR. LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=/path/to/llvm-srcroot/tools/clang/tools/extra, by default. llvm-svn: 165620
* [CMake] check-all: Don't include check-llvm into check-all without ↵NAKAMURA Takumi2012-10-101-0/+5
| | | | | | | LLVM_BUILD_TOOLS. FIXME: Would you like to run llvm/unittests w/o LLVM_BUILD_TESTS regardless of LLVM_BUILD_TOOLS? llvm-svn: 165619
* [CMake] add_lit_testsuite: EXCLUDE_FROM_ALL excludes the test ${target} out ↵NAKAMURA Takumi2012-10-101-5/+8
| | | | | | of check-all. llvm-svn: 165618
* Fix for LDRB instruction:Stepan Dyatkovskiy2012-10-102-1/+25
| | | | | | | | | | | | | | | | | | | SDNode for LDRB_POST_IMM is invalid: number of registers added to SDNode fewer that described in .td. 7 ops is needed, but SDNode with only 6 is created. In more details: In ARMInstrInfo.td, in multiclass AI2_ldridx, in definition _POST_IMM, offset operand is defined as am2offset_imm. am2offset_imm is complex parameter type, and actually it consists from dummy register and imm itself. As I understood trick with dummy reg was made for AsmParser. In ARMISelLowering.cpp, this dummy register was not added to SDNode, and it cause crash in Peephole Optimizer pass. The problem fixed by setting up additional dummy reg when emitting LDRB_POST_IMM instruction. llvm-svn: 165617
* Issue description:Stepan Dyatkovskiy2012-10-105-12/+50
| | | | | | | | | | | | | | | | | | | | SchedulerDAGInstrs::buildSchedGraph ignores dependencies between FixedStack objects and byval parameters. So loading byval parameters from stack may be inserted *before* it will be stored, since these operations are treated as independent. Fix: Currently ARMTargetLowering::LowerFormalArguments saves byval registers with FixedStack MachinePointerInfo. To fix the problem we need to store byval registers with MachinePointerInfo referenced to first the "byval" parameter. Also commit adds two new fields to the InputArg structure: Function's argument index and InputArg's part offset in bytes relative to the start position of Function's argument. E.g.: If function's argument is 128 bit width and it was splitted onto 32 bit regs, then we got 4 InputArg structs with same arg index, but different offset values. llvm-svn: 165616
* Apply the same fundamental fix for PR14048 as was applied for PR11905.Chandler Carruth2012-10-102-2/+32
| | | | | | | | | | | | | | | | | | The issue arises when coercing to/from types of different sizes. We need to be certain that the allocation on either end has sufficient room for the coerced type. When it doesn't, we need to make room, copy across, and then proceed. PR11905 handled the case of storing function arguments back into allocas in the function prolog, this patch handles the case of setting up the function arguments in a call expression. This is actually significantly simpler than the fix for PR11905. It ends up being a trivial change to create a temporary alloca when the source is too small and memcpy across. This should preserve the compile-time fast-isel benefits of doing gep+load sequences and avoiding FCAs. Reviewed by Benjamin and Evgeniy (who fixed PR11905). llvm-svn: 165615
* Cleanup. Get rid of now dead code.Bill Wendling2012-10-102-36/+5
| | | | llvm-svn: 165613
* Remove the final bits of Attributes being declared in the AttributeBill Wendling2012-10-106-58/+82
| | | | | | | namespace. Use the attribute's enum value instead. No functionality change intended. llvm-svn: 165611
* Remove the final bits of Attributes being declared in the AttributeBill Wendling2012-10-108-69/+61
| | | | | | | namespace. Use the attribute's enum value instead. No functionality change intended. llvm-svn: 165610
* Fix PR 11709: Change the definition of va_list to meet AAPCS requirementLogan Chien2012-10-105-5/+137
| | | | | | | | | | | | | AAPCS ABI Section 7.1.4 [1] specifies that va_list should be defined as struct __va_list { void *__ap;}; And in C++, it is defined in namespace std. [1] http://infocenter.arm.com/help/topic /com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf Patch by Weiming Zhao. llvm-svn: 165609
* My earlier "fix" for PBQP (see r165201) was incorrect. The real issue was thatLang Hames2012-10-101-2/+2
| | | | | | | | checkRegMaskInterference only initializes the bitmask on the first interference. This fixes PR14027 and (re)fixes PR13945. llvm-svn: 165608
* Pass into the AttributeWithIndex::get method an ArrayRef of attributeBill Wendling2012-10-104-84/+95
| | | | | | enums. These are then created via the correct Attributes creation method. llvm-svn: 165607
* misched: fall-back to a target hook for instr bundles.Andrew Trick2012-10-101-3/+4
| | | | llvm-svn: 165606
* TODO commentAndrew Trick2012-10-101-0/+3
| | | | llvm-svn: 165605
* TableGen subtarget emitter cleanup.Andrew Trick2012-10-102-29/+39
| | | | | | Consistently evaluate Aliases and Sequences recursively. llvm-svn: 165604
* misched: Use the TargetSchedModel interface wherever possible.Andrew Trick2012-10-1012-115/+126
| | | | | | | | Allows the new machine model to be used for NumMicroOps and OutputLatency. Allows the HazardRecognizer to be disabled along with itineraries. llvm-svn: 165603
* misched: Generate IsBuffered flag for machine resources.Andrew Trick2012-10-102-6/+13
| | | | llvm-svn: 165602
* whitespaceAndrew Trick2012-10-101-3/+3
| | | | llvm-svn: 165601
* Place temporary LTO files into their own subdirectory.Bill Wendling2012-10-101-1/+1
| | | | llvm-svn: 165600
* Place temporary LTO files into their own subdirectory.Bill Wendling2012-10-103-5/+5
| | | | llvm-svn: 165599
* Free the opcode_data malloc'ed memory instead of leaking it - thanks for ↵Jason Molenda2012-10-101-1/+2
| | | | | | catching that, Chris. llvm-svn: 165597
* Have 'addFnAttr' take the attribute enum value. Then have it build the ↵Bill Wendling2012-10-106-21/+22
| | | | | | attribute object and add it appropriately. No functionality change. llvm-svn: 165596
* Have 'addFnAttr' take the attribute enum value. Then have it build the ↵Bill Wendling2012-10-104-28/+19
| | | | | | attribute object and add it appropriately. No functionality change. llvm-svn: 165595
OpenPOWER on IntegriCloud