Stuart Hastings
0b68c1219f
Support nested CALLSEQ_BEGIN/END; necessary for ARM byval support. <rdar://problem/7662569>
...
llvm-svn: 129761
2011-04-19 16:16:58 +00:00
Jay Foad
6a85be25a4
Trivial simplification.
...
llvm-svn: 129759
2011-04-19 15:23:29 +00:00
Daniel Dunbar
ddd3a2ec1d
clang_darwin: Tweak runtime library definitions to include divmod functions.
...
llvm-svn: 129757
2011-04-19 15:14:46 +00:00
Jakob Stoklund Olesen
fb1249548f
Tighten test case a bit.
...
Ideally, we would match an S-register to its containing D-register, but that
requires arithmetic (divide by 2).
llvm-svn: 129756
2011-04-19 06:14:45 +00:00
Chris Lattner
91328b317b
Implement support for x86 fastisel of small fixed-sized memcpys, which are generated
...
en-mass for C++ PODs. On my c++ test file, this cuts the fast isel rejects by 10x
and shrinks the generated .s file by 5%
llvm-svn: 129755
2011-04-19 05:52:03 +00:00
Chris Lattner
34a08c2344
tidy up
...
llvm-svn: 129753
2011-04-19 05:15:59 +00:00
Chris Lattner
5f4b783426
Implement support for fast isel of calls of i1 arguments, even though they are illegal,
...
when they are a truncate from something else. This eliminates fully half of all the
fastisel rejections on a test c++ file I'm working with, which should make a substantial
improvement for -O0 compile of c++ code.
This fixed rdar://9297003 - fast isel bails out on all functions taking bools
llvm-svn: 129752
2011-04-19 05:09:50 +00:00
Chris Lattner
d7f7c93914
Handle i1/i8/i16 constant integer arguments to calls by prepromoting them.
...
Before we would bail out on i1 arguments all together, now we just bail on
non-constant ones. Also, we used to emit extraneous code. e.g. test12 was:
movb $0, %al
movzbl %al, %edi
callq _test12
and test13 was:
movb $0, %al
xorl %edi, %edi
movb %al, 7(%rsp)
callq _test13f
Now we get:
movl $0, %edi
callq _test12
and:
movl $0, %edi
callq _test13f
llvm-svn: 129751
2011-04-19 04:42:38 +00:00
Ted Kremenek
fd07f85605
Add missing break statements.
...
llvm-svn: 129750
2011-04-19 04:36:17 +00:00
Chris Lattner
c59290a34c
be layout aware, to produce:
...
testb $1, %al
je LBB0_2
## BB#1: ## %if.then
movb $0, %al
instead of:
testb $1, %al
jne LBB0_1
jmp LBB0_2
LBB0_1: ## %if.then
movb $0, %al
how 'bout that.
llvm-svn: 129749
2011-04-19 04:26:32 +00:00
Chris Lattner
2c8a4c3b1b
fix rdar://9297006 - fast isel bails out on trunc to i1 -> bools cry,
...
a common cause of fast isel rejects on c++ code.
llvm-svn: 129748
2011-04-19 04:22:17 +00:00
Greg Clayton
176761e530
Added a new option to the "source list" command that allows us to see where
...
line tables specify breakpoints can be set in the source. When dumping the
source, the number of breakpoints that can be set on a source line are shown
as a prefix:
(lldb) source list -f test.c -l1 -c222 -b
1 #include <stdio.h>
2 #include <sys/fcntl.h>
3 #include <unistd.h>
4 int
5 sleep_loop (const int num_secs)
[2] 6 {
7 int i;
[1] 8 for (i=0; i<num_secs; ++i)
9 {
[1] 10 printf("%d of %i - sleep(1);\n", i, num_secs);
[1] 11 sleep(1);
12 }
13 return 0;
[1] 14 }
15
16 int
17 main (int argc, char const* argv[])
[1] 18 {
[1] 19 printf("Process: %i\n\n", getpid());
[1] 20 puts("Press any key to continue..."); getchar();
[1] 21 sleep_loop (20);
22 return 12;
[1] 23 }
Above we can see there are two breakpoints for line 6 and one breakpoint for
lines 8, 10, 11, 14, 18, 19, 20, 21 and 23. All other lines have no line table
entries for them. This helps visualize the data provided in the debug
information without having to manually dump all line tables. It also includes
all inline breakpoint that may result for a given file which can also be very
handy to see.
llvm-svn: 129747
2011-04-19 04:19:37 +00:00
Evan Cheng
7d6cd4902e
Change A9 scheduling itineraries VLD* / VST* entries default to "aligned". That
...
is, it assumes addresses are 64-bit aligned (which should be the more common
case). If the alignment is found not to be aligned, then getOperandLatency()
would adjust the operand latency computation by one to compensate for it.
rdar://9294833
llvm-svn: 129742
2011-04-19 01:21:49 +00:00
Anders Carlsson
d1f65f61ee
Make the VariadicMethodTypeChecker accept block pointers as Objective-C pointers. Fixes PR9746.
...
llvm-svn: 129741
2011-04-19 01:16:46 +00:00
Matt Beaumont-Gay
ceb763e23a
Fix line endings
...
llvm-svn: 129740
2011-04-19 00:23:31 +00:00
Jakob Stoklund Olesen
bf78618db6
Make tests register allocation independent again.
...
llvm-svn: 129739
2011-04-19 00:14:43 +00:00
Evan Cheng
4079133796
Do not lose mem_operands while lowering VLD / VST intrinsics.
...
llvm-svn: 129738
2011-04-19 00:04:03 +00:00
Francois Pichet
939efc5b0d
Disable warning C4181: "qualifier applied to reference type; ignored"
...
This was causing a flooding of warnings with MSVC 2008. This warning was removed in MSVC 2010.
llvm-svn: 129737
2011-04-19 00:03:17 +00:00
NAKAMURA Takumi
fc8d930f6e
docs: Use <Hn> as Heading elements instead of <DIV class="doc_foo">.
...
H1 ... doc_title
H2 ... doc_section
H3 ... doc_subsection
H4 ... doc_subsubsection
llvm-svn: 129736
2011-04-18 23:59:50 +00:00
Devang Patel
0c7732499b
Use ArrayRef variants.
...
llvm-svn: 129735
2011-04-18 23:51:03 +00:00
Daniel Dunbar
d107638328
Driver/Darwin: Change to use generic iOS runtime library, which we now always need.
...
llvm-svn: 129734
2011-04-18 23:48:36 +00:00
Ted Kremenek
11d1a42e84
Report memory usage for global code completion results in CXTUMemoryUsage.
...
llvm-svn: 129733
2011-04-18 23:42:53 +00:00
Francois Pichet
45cc546271
Unbreak the MSVC build: Don't mix variable declarations and statements in a .c file.
...
llvm-svn: 129732
2011-04-18 23:33:22 +00:00
Greg Clayton
431ce67823
Fixed an issue where if you specify an architecture from the command line like:
...
$ lldb --arch i386-unknown-unknown a.out
It would then create a target with only the "i386" part due to
SBDebugger::GetDefaultArchitecture(...) truncating the arch triple due to the
way things used to be.
llvm-svn: 129731
2011-04-18 23:15:17 +00:00
Ted Kremenek
83f642e54a
Add libclang API to query how much memory is used by a CXTranslationUnit. This is a WIP. Currently we report
...
the amount used for expressions, types, identifiers, and selectors.
llvm-svn: 129730
2011-04-18 22:47:10 +00:00
Ted Kremenek
db571c6e44
Add ASTContext::getTotalMemory() to allow clients to query how much memory is bump allocated for declarations, statements, and types.
...
llvm-svn: 129729
2011-04-18 22:47:07 +00:00
Ted Kremenek
1c2239e9b1
Add SelectorTable::getTotalMemory() to allow clients to query how much memory is used by selectors.
...
llvm-svn: 129728
2011-04-18 22:47:04 +00:00
Ted Kremenek
28af26d878
Add BumpPtrAllocator::getTotalMemory() to allow clients to query how much memory a BumpPtrAllocator allocated.
...
llvm-svn: 129727
2011-04-18 22:44:46 +00:00
Devang Patel
75f5cd671b
Remove test to check line numbers. There are other numerous tests in our test harness to check line number information.
...
llvm-svn: 129725
2011-04-18 22:27:20 +00:00
Johnny Chen
a6ca9fb407
Rename some variables, no functionality change.
...
llvm-svn: 129724
2011-04-18 22:11:31 +00:00
Jim Grosbach
ddac5dd269
Trim a few unneeded includes.
...
llvm-svn: 129723
2011-04-18 21:35:54 +00:00
Eric Christopher
2e3fbaab39
Invert the meaning of printAliasInstr's return value. It now returns
...
true on success and false on failure. Update callers.
llvm-svn: 129722
2011-04-18 21:28:11 +00:00
Daniel Dunbar
ed904c82b1
Driver/Darwin: Disable movw/movt with -mkernel or -fapple-kext.
...
llvm-svn: 129721
2011-04-18 21:26:42 +00:00
Eli Friedman
ec138b4b27
Simplify declarations slightly by using typedefs.
...
llvm-svn: 129720
2011-04-18 21:21:37 +00:00
Fariborz Jahanian
b107143fed
Fix a bug in calculation of composite type
...
of conditional expressions of objc pointer types
where one type is the immediate base type of the
other. // rdar://9296866
llvm-svn: 129718
2011-04-18 21:16:59 +00:00
Johnny Chen
1ee61a7f3b
Add a test script for exercising the "taregt create", "target list", and "target select" commands.
...
llvm-svn: 129717
2011-04-18 21:08:05 +00:00
Eli Friedman
b2545fbc2a
malloc elimination: it's a bad idea to use raw_svector_ostream on a
...
small heap-allocated SmallString because it unconditionally forces a malloc.
(Revised version of r129688, with the necessary flush() call.)
llvm-svn: 129716
2011-04-18 20:54:46 +00:00
Devang Patel
17740e70d5
Reduce clutter in asm output. Do not emit source location as comment for each instruction.
...
llvm-svn: 129715
2011-04-18 20:26:49 +00:00
Jakob Stoklund Olesen
9f294a9e52
Handle spilling around an instruction that has an early-clobber re-definition of
...
the spilled register.
This is quite common on ARM now that some stores have early-clobber defines.
llvm-svn: 129714
2011-04-18 20:23:27 +00:00
Sean Callanan
5d73033e0f
Small fix to the ARM AsmParser to ensure that a
...
superclass variable is instantiated properly.
llvm-svn: 129713
2011-04-18 20:20:44 +00:00
Daniel Dunbar
10d0868efb
Driver: Support -fno-lto.
...
llvm-svn: 129712
2011-04-18 19:44:09 +00:00
Eric Christopher
c37aa0b26a
Fix a bug where we were counting the alias sets as completely used
...
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
2011-04-18 19:26:25 +00:00
Johnny Chen
d28977c7c2
Add header comment.
...
llvm-svn: 129710
2011-04-18 18:50:24 +00:00
Chandler Carruth
2b1ba48f8d
Mark some functions as used which are used within debug-only code. This
...
silences Clang's -Wunused-function when building in release mode.
llvm-svn: 129709
2011-04-18 18:49:44 +00:00
Owen Anderson
f2e8397b4b
Enhance the fixed-length disassembler to support the callbacks necessary for symbolic disassembly.
...
llvm-svn: 129708
2011-04-18 18:42:26 +00:00
Johnny Chen
238de9a804
Add docstring.
...
llvm-svn: 129707
2011-04-18 18:34:09 +00:00
Johnny Chen
72f51aafe7
Modify some docstrings.
...
llvm-svn: 129706
2011-04-18 18:32:09 +00:00
Ted Kremenek
00abe8ee31
Add ToolChain path support for linker on Slackware.
...
llvm-svn: 129704
2011-04-18 17:50:19 +00:00
Devang Patel
43cfa5dce1
Fix typo in comment.
...
llvm-svn: 129703
2011-04-18 17:30:25 +00:00
Richard Smith
0c502d2a62
Fix PR9741. The implicit declarations created for range-based for loops 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
2011-04-18 15:49:25 +00:00