summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add BumpPtrAllocator::getTotalMemory() to allow clients to query how much ↵Ted Kremenek2011-04-182-0/+11
| | | | | | memory a BumpPtrAllocator allocated. llvm-svn: 129727
* Remove test to check line numbers. There are other numerous tests in our ↵Devang Patel2011-04-181-27/+0
| | | | | | test harness to check line number information. llvm-svn: 129725
* Rename some variables, no functionality change.Johnny Chen2011-04-181-8/+7
| | | | llvm-svn: 129724
* Trim a few unneeded includes.Jim Grosbach2011-04-183-31/+0
| | | | llvm-svn: 129723
* Invert the meaning of printAliasInstr's return value. It now returnsEric Christopher2011-04-183-5/+8
| | | | | | true on success and false on failure. Update callers. llvm-svn: 129722
* Driver/Darwin: Disable movw/movt with -mkernel or -fapple-kext.Daniel Dunbar2011-04-181-0/+6
| | | | llvm-svn: 129721
* Simplify declarations slightly by using typedefs.Eli Friedman2011-04-181-4/+2
| | | | llvm-svn: 129720
* Fix a bug in calculation of composite typeFariborz Jahanian2011-04-182-3/+28
| | | | | | | | of conditional expressions of objc pointer types where one type is the immediate base type of the other. // rdar://9296866 llvm-svn: 129718
* Add a test script for exercising the "taregt create", "target list", and ↵Johnny Chen2011-04-188-2/+181
| | | | | | "target select" commands. llvm-svn: 129717
* malloc elimination: it's a bad idea to use raw_svector_ostream on aEli Friedman2011-04-181-1/+4
| | | | | | | | small heap-allocated SmallString because it unconditionally forces a malloc. (Revised version of r129688, with the necessary flush() call.) llvm-svn: 129716
* Reduce clutter in asm output. Do not emit source location as comment for ↵Devang Patel2011-04-188-39/+22
| | | | | | each instruction. llvm-svn: 129715
* Handle spilling around an instruction that has an early-clobber re-definition ofJakob Stoklund Olesen2011-04-181-14/+15
| | | | | | | | the spilled register. This is quite common on ARM now that some stores have early-clobber defines. llvm-svn: 129714
* Small fix to the ARM AsmParser to ensure that aSean Callanan2011-04-181-0/+1
| | | | | | superclass variable is instantiated properly. llvm-svn: 129713
* Driver: Support -fno-lto.Daniel Dunbar2011-04-182-1/+3
| | | | llvm-svn: 129712
* Fix a bug where we were counting the alias sets as completely usedEric Christopher2011-04-182-5/+15
| | | | | | | | | registers for fast allocation a different way. This has us updating used registers only when we're using that exact register. Fixes rdar://9207598 llvm-svn: 129711
* Add header comment.Johnny Chen2011-04-181-0/+8
| | | | llvm-svn: 129710
* Mark some functions as used which are used within debug-only code. ThisChandler Carruth2011-04-182-0/+5
| | | | | | silences Clang's -Wunused-function when building in release mode. llvm-svn: 129709
* Enhance the fixed-length disassembler to support the callbacks necessary for ↵Owen Anderson2011-04-181-5/+10
| | | | | | symbolic disassembly. llvm-svn: 129708
* Add docstring.Johnny Chen2011-04-181-1/+1
| | | | llvm-svn: 129707
* Modify some docstrings.Johnny Chen2011-04-181-2/+2
| | | | llvm-svn: 129706
* Add ToolChain path support for linker on Slackware.Ted Kremenek2011-04-181-0/+3
| | | | llvm-svn: 129704
* Fix typo in comment.Devang Patel2011-04-182-2/+2
| | | | llvm-svn: 129703
* Fix PR9741. The implicit declarations created for range-based for loops ↵Richard Smith2011-04-183-2/+12
| | | | | | weren't being added to the DeclContext (nor were they being marked as implicit). Also, the declarations were being emitted in the wrong order when building the CFG. llvm-svn: 129700
* When providing code completions of ivar names for a propertyDouglas Gregor2011-04-182-20/+53
| | | | | | | | | | | | | | | | implementation such as @synthesize Prop1 = Give priority to ivars whose type matches or closely matches the property type (as we do for several other kinds of results). Additionally, if there is an ivar with the same name as the property, or differs only due to a _ prefix or suffix, give that ivar a priority bump. Finally, verify that this search is properly returning ivars within class extensions and implementations (<rdar://problem/8488854>). llvm-svn: 129699
* Get rid of std::vector usage when getting function types in CGException.cppAnders Carlsson2011-04-181-30/+22
| | | | llvm-svn: 129698
* When producing code completion results for the Objective-C propertyDouglas Gregor2011-04-182-7/+46
| | | | | | | | | | | implementation @synthesize <property> = also produce a completion for a to-be-synthesized ivar named _<property>. llvm-svn: 129697
* Make the empty StructType::get overload use an empty ArrayRef.Anders Carlsson2011-04-181-1/+1
| | | | llvm-svn: 129696
* Centralized a lot of the status information for processes,Greg Clayton2011-04-1856-924/+1156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | threads, and stack frame down in the lldb_private::Process, lldb_private::Thread, lldb_private::StackFrameList and the lldb_private::StackFrame classes. We had some command line commands that had duplicate versions of the process status output ("thread list" and "process status" for example). Removed the "file" command and placed it where it should have been: "target create". Made an alias for "file" to "target create" so we stay compatible with GDB commands. We can now have multple usable targets in lldb at the same time. This is nice for comparing two runs of a program or debugging more than one binary at the same time. The new command is "target select <target-idx>" and also to see a list of the current targets you can use the new "target list" command. The flow in a debug session can be: (lldb) target create /path/to/exe/a.out (lldb) breakpoint set --name main (lldb) run ... hit breakpoint (lldb) target create /bin/ls (lldb) run /tmp Process 36001 exited with status = 0 (0x00000000) (lldb) target list Current targets: target #0: /tmp/args/a.out ( arch=x86_64-apple-darwin, platform=localhost, pid=35999, state=stopped ) * target #1: /bin/ls ( arch=x86_64-apple-darwin, platform=localhost, pid=36001, state=exited ) (lldb) target select 0 Current targets: * target #0: /tmp/args/a.out ( arch=x86_64-apple-darwin, platform=localhost, pid=35999, state=stopped ) target #1: /bin/ls ( arch=x86_64-apple-darwin, platform=localhost, pid=36001, state=exited ) (lldb) bt * thread #1: tid = 0x2d03, 0x0000000100000b9a a.out`main + 42 at main.c:16, stop reason = breakpoint 1.1 frame #0: 0x0000000100000b9a a.out`main + 42 at main.c:16 frame #1: 0x0000000100000b64 a.out`start + 52 Above we created a target for "a.out" and ran and hit a breakpoint at "main". Then we created a new target for /bin/ls and ran it. Then we listed the targest and selected our original "a.out" program, so we showed two concurent debug sessions going on at the same time. llvm-svn: 129695
* while we're at it, handle 'sdiv exact' of a power of 2 also,Chris Lattner2011-04-182-0/+16
| | | | | | this fixes a few rejects on c++ iterator loops. llvm-svn: 129694
* fix rdar://9297011 - udiv by power of two causing fast-isel rejectsChris Lattner2011-04-182-1/+13
| | | | llvm-svn: 129693
* Add a new bit that ImmLeaf's can opt into, which allows them to duck out ofChris Lattner2011-04-183-6/+23
| | | | | | | | the generated FastISel. X86 doesn't need to generate code to match ADD16ri8 since ADD16ri will do just fine. This is a small codesize win in the generated instruction selector. llvm-svn: 129692
* Implement major new fastisel functionality: the matcher can now handle ↵Chris Lattner2011-04-183-51/+251
| | | | | | | | | | | | | | | | | | | | | | | immediates with value constraints on them (when defined as ImmLeaf's). This is particularly important for X86-64, where almost all reg/imm instructions take a i64immSExt32 immediate operand, which has a value constraint. Before this patch we ended up iseling the examples into such amazing code as: movabsq $7, %rax imulq %rax, %rdi movq %rdi, %rax ret now we produce: imulq $7, %rdi, %rax ret This dramatically shrinks the generated code at -O0 on x86-64. llvm-svn: 129691
* relax this test to just check that the lock prefix is encoded properly,Chris Lattner2011-04-181-2/+1
| | | | | | and to not rely on the register allocator's arbitrary operand choices. llvm-svn: 129690
* Revert r129688; it's breaking buildbots.Eli Friedman2011-04-181-3/+1
| | | | llvm-svn: 129689
* More malloc elimination: it's a bad idea to use raw_svector_ostream on aEli Friedman2011-04-181-1/+3
| | | | | | small heap-allocated SmallString because it unconditionally forces a malloc. llvm-svn: 129688
* Make the StringMaps attached to MCContext use the MCContext's allocator; Eli Friedman2011-04-182-9/+11
| | | | | | reduces the number of calls to malloc(). llvm-svn: 129687
* Use an empty ArrayRef instead of an empty std::vector for the Function::get ↵Anders Carlsson2011-04-181-1/+1
| | | | | | overload that takes no parameters. llvm-svn: 129686
* docs: Redefine Heading elements as below;NAKAMURA Takumi2011-04-185-90/+90
| | | | | | | | | H1 ... Title (and might be Chapter in future) H2 ... Section H3 ... Subsection H4 ... Sub-subsection llvm-svn: 129683
* Clean up code generation of typeid expressions and add C++ standard references.Anders Carlsson2011-04-181-37/+53
| | | | llvm-svn: 129682
* Put a typeid test in its own namespace.Anders Carlsson2011-04-171-1/+5
| | | | llvm-svn: 129681
* introduce a new OpKind abstraction which wraps up operand flavors in a tidy ↵Chris Lattner2011-04-171-22/+48
| | | | | | | | little wrapper. No functionality change. llvm-svn: 129680
* Fix a miscompilation I introduced in r129652, thanks for Eli for tracking Chris Lattner2011-04-172-1/+25
| | | | | | | | | | | | | | | it down. we effectively were compile the testcase into: void test14(int x) { switch (x) { case 11: break; case 42: test14(97); // fallthrough default: test14(42); break; which is not the same thing at all. This fixes a miscompilation of MallocBench/gs seen on the clang-x86_64-linux-fnt buildbot. llvm-svn: 129679
* change OperandsSignature to use SmallVector<char> instead of std::vector<string>Chris Lattner2011-04-172-16/+17
| | | | | | since the strings are always exactly one character, and there are usually only 2-3 operands. llvm-svn: 129678
* since the VT is fixed for a ImmLeaf, there is no reason to expose it to the ↵Chris Lattner2011-04-172-4/+1
| | | | | | matching code. llvm-svn: 129677
* switch the rest of the x86 immediate patterns over to ImmLeaf, Chris Lattner2011-04-171-17/+9
| | | | | | | simplifying them and exposing more information to tblgen. It would be nice if other target authors adopted this as well, particularly arm since it has fastisel. llvm-svn: 129676
* now that predicates have a decent abstraction layer on them, introduce a new Chris Lattner2011-04-175-4/+49
| | | | | | | | | kind of predicate: one that is specific to imm nodes. The predicate function specified here just checks an int64_t directly instead of messing around with SDNode's. The virtue of this is that it means that fastisel and other things can reason about these predicates. llvm-svn: 129675
* Use the right type name.Anders Carlsson2011-04-171-1/+1
| | | | llvm-svn: 129674
* When laying out bases in, always try the "base subobject" LLVM type. If itAnders Carlsson2011-04-176-25/+107
| | | | | | | | | | | | | turns out that a field or base needs to be laid out in the tail padding of the base, CGRecordLayoutBuilder::ResizeLastBaseFieldIfNecessary will convert it to an array of i8. I've audited the new test results to make sure that they are still valid. I've also verified that we pass a self-host with this change. This (finally) fixes PR5589! llvm-svn: 129673
* Cleanup tests, no functionality change.Anders Carlsson2011-04-173-3/+4
| | | | llvm-svn: 129672
* Add addBaseSubobjectTypeName which isn't used yet.Anders Carlsson2011-04-172-0/+14
| | | | llvm-svn: 129671
OpenPOWER on IntegriCloud