Bill Wendling [Wed, 11 May 2011 01:08:39 +0000 (01:08 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131173
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 11 May 2011 01:03:01 +0000 (01:03 +0000)]
Add a late optimization to BranchFolding that hoist common instruction sequences
at the start of basic blocks to their common predecessor. It's actually quite
common (e.g. about 50 times in JM/lencod) and has shown to be a nice code size
benefit. e.g.
pushq %rax
testl %edi, %edi
jne LBB0_2
## BB#1:
xorb %al, %al
popq %rdx
ret
LBB0_2:
xorb %al, %al
callq _foo
popq %rdx
ret
=>
pushq %rax
xorb %al, %al
testl %edi, %edi
je LBB0_2
## BB#1:
callq _foo
LBB0_2:
popq %rdx
ret
rdar://
9145558
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131172
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 10 May 2011 23:57:45 +0000 (23:57 +0000)]
Optimize atomic lock or that doesn't use the result value.
Next up: xor and and.
Part of rdar://
8470697
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131171
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 23:14:29 +0000 (23:14 +0000)]
Add triple.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131169
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 22:42:41 +0000 (22:42 +0000)]
Fix cmake again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131164
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 10 May 2011 22:38:17 +0000 (22:38 +0000)]
Remove empty file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131162
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 22:28:35 +0000 (22:28 +0000)]
Avoid a gcc warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131161
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 22:19:33 +0000 (22:19 +0000)]
Fix cmake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131160
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 10 May 2011 22:16:06 +0000 (22:16 +0000)]
Revert r131155 for now. It makes VMCore depend on Analysis and Transforms
headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131159
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 21:54:59 +0000 (21:54 +0000)]
Initialize moveTypeModule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131157
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 10 May 2011 21:50:58 +0000 (21:50 +0000)]
Disable my little CopyToReg argument hack with fast-isel. rdar://problem/
9413587 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131156
91177308-0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Tue, 10 May 2011 21:36:48 +0000 (21:36 +0000)]
Add support for plugins add passes to the default set of passes. The standard set of passes used by front ends can now be modified by LLVM plugins, without needing to modify any front ends.
Still to do:
- Allow replacing / removing passes (infrastructure there, just needs an infrastructure exposed)
- Defining sets of passes to be added or removed as a group
- Extending the support to allow user-defined groups of optimisations
- Allow plugins to be specified for loading automatically (e.g. from plugins.conf or some similar mechanism)
Reviewed by Nick Lewycky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131155
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Tue, 10 May 2011 21:20:03 +0000 (21:20 +0000)]
Correctly walk through nested and adjacent CALLSEQ_START nodes. No
test case; I've only seen this on a release branch, and I can't get it
to reproduce on trunk. rdar://problem/
7662569
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131152
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 21:04:45 +0000 (21:04 +0000)]
Produce a __debug_frame section on darwin ARM when appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131151
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 20:59:42 +0000 (20:59 +0000)]
On MachO, unlike ELF, there should be no relocation to produce the CIE pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131149
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 20:35:05 +0000 (20:35 +0000)]
Rename DwarfRequiresRelocationForStmtList to
DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131148
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 19:51:53 +0000 (19:51 +0000)]
The EH symbols are only needed in eh_frame, not debug_frame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131146
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 18:39:09 +0000 (18:39 +0000)]
Use .cfi_sections to put the unwind info in .debug_frame when possible. With
this clang will use .debug_frame in, for example,
clang -g -c -m32 test.c
This matches gcc's behaviour. It looks like .debug_frame is a bit bigger
than .eh_frame, but has the big advantage of not being allocated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131140
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 10 May 2011 18:36:16 +0000 (18:36 +0000)]
Refactor lock versions of binary operators to be a little less
cut and paste.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131139
91177308-0d34-0410-b5e6-
96231b3b80d8
Jason W Kim [Tue, 10 May 2011 18:07:25 +0000 (18:07 +0000)]
First cut at getting debugging support for ARM/MC/ELF/.o
DWARF stuff also gets fixed up by ELFARMAsmBackend::ApplyFixup(),
but the offset is not guaranteed to be mod 4 == 0 as in text/data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131137
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 10 May 2011 17:52:59 +0000 (17:52 +0000)]
Downgrade a tablegen warning to an error.
Ambiguous sub-register index compositions are OK as long as the backend writer
knows what he is doing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131134
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 10 May 2011 17:37:41 +0000 (17:37 +0000)]
Fix PR9883. Make sure all caches are invalidated when a live range is repaired.
The previous invalidation missed the alias interference caches.
Also add a stats counter for the number of repaired ranges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131133
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 15:20:23 +0000 (15:20 +0000)]
In a debug_frame the cfi offset is to the start of the debug_frame section!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131129
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Tue, 10 May 2011 14:53:13 +0000 (14:53 +0000)]
PTX: add test cases for cvt, fneg, and selp
Patch by Dan Bailey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131128
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 13:39:48 +0000 (13:39 +0000)]
Add CFIStartSections to the asm printer. Add an assert that at least
one of the sections is created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131124
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Tue, 10 May 2011 12:32:11 +0000 (12:32 +0000)]
PTX: add PTX 2.3 setting in PTX sub-target.
Patch by Wei-Ren Chen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131123
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 03:54:12 +0000 (03:54 +0000)]
Add support for producing .deubg_frame sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131121
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 03:26:21 +0000 (03:26 +0000)]
Small cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131120
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 03:14:15 +0000 (03:14 +0000)]
Factor some code into a new EmitFrames method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131119
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 03:01:39 +0000 (03:01 +0000)]
Remove unused argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131118
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 May 2011 01:10:18 +0000 (01:10 +0000)]
Parsing and plumbing for .cfi_sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131117
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 10 May 2011 00:03:11 +0000 (00:03 +0000)]
Preserve line number information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131112
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 9 May 2011 22:14:49 +0000 (22:14 +0000)]
Do not ignore InlinedAt while walking up scope chain to find subprogram node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131106
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 9 May 2011 20:05:25 +0000 (20:05 +0000)]
Tidy up. 80-column and whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131094
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 9 May 2011 20:04:43 +0000 (20:04 +0000)]
Look through struct wrapped types for inline asm statments.
Patch by Evan Cheng.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131093
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 9 May 2011 18:44:09 +0000 (18:44 +0000)]
Change a few std::maps to DenseMaps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131088
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 9 May 2011 18:16:46 +0000 (18:16 +0000)]
Fix td file comments for Mips.
Patch by Liu <proljc@gmail.com>!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131086
91177308-0d34-0410-b5e6-
96231b3b80d8
Mon P Wang [Mon, 9 May 2011 17:47:27 +0000 (17:47 +0000)]
Fixed MC encoding for index_align for VLD1/VST1 (single element from one lane) for size 32
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131085
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 9 May 2011 08:03:33 +0000 (08:03 +0000)]
Indent properly, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131082
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 8 May 2011 23:19:04 +0000 (23:19 +0000)]
Eliminate an unused line to fix a warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131078
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sun, 8 May 2011 19:21:08 +0000 (19:21 +0000)]
Remove an assertion to fix PR9872.
It can happen that a live debug variable is the last use of a sub-register, and
the register allocator will pick a larger register class for the virtual
register. If the allocated register doesn't support the sub-register index,
just use %noreg for the debug variables instead of asserting.
In PR9872, a debug variable ends up in the sub_8bit_hi part of a GR32_ABCD
register. The register is split and one part is inflated to GR32 and assigned
%ESI because there are no more normal uses of sub_8bit_hi.
Since %ESI doesn't have that sub-register, substPhysReg asserted. Now it will
simply insert a %noreg instead, and the debug variable will be marked
unavailable in that range.
We don't currently have a way of saying: !"value" is in bits 8-15 of %ESI, I
don't know if DWARF even supports that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131073
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 8 May 2011 18:36:07 +0000 (18:36 +0000)]
X86: Add a bunch of peeps for add and sub of SETB.
"b + ((a < b) ? 1 : 0)" compiles into
cmpl %esi, %edi
adcl $0, %esi
instead of
cmpl %esi, %edi
sbbl %eax, %eax
andl $1, %eax
addl %esi, %eax
This saves a register, a false dependency on %eax
(Intel's CPUs still don't ignore it) and it's shorter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131070
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 8 May 2011 14:35:21 +0000 (14:35 +0000)]
Don't force relaxation of AdvanceLoc instructions on OS X. gdb is happy with
the smaller encoding and this cuts 270336 bytes from a release version of
clang and
1246272 bytes from a debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131067
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 8 May 2011 01:59:22 +0000 (01:59 +0000)]
PR9869: Add explicit destructor declarations to Operator subclasses, to allow
compiling Operator.h with gcc 4.6 in C++0x mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131062
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 7 May 2011 21:22:42 +0000 (21:22 +0000)]
Eliminate the ARM sub-register indexes that are not needed by the sources.
Tablegen will invent its own names for these indexes, and the register file is a
bit simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131059
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 7 May 2011 21:22:39 +0000 (21:22 +0000)]
Teach TableGen to automatically generate missing SubRegIndex instances.
The RegisterInfo.td file should only specify the indexes that sources need to
refer to. The rest is inferred.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131058
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 7 May 2011 19:23:14 +0000 (19:23 +0000)]
Fix comments per Duncan's review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131055
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 7 May 2011 19:22:28 +0000 (19:22 +0000)]
Zap unnecessary svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131054
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 7 May 2011 16:56:49 +0000 (16:56 +0000)]
The comparision "max(x,y)==x" is equivalent to "x>=y". Since the max is
often expressed as "x >= y ? x : y", there is a good chance we can extract
the existing "x >= y" from it and use that as a replacement for "max(x,y)==x".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131049
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 7 May 2011 04:37:27 +0000 (04:37 +0000)]
Fix the non-MC encoding of pkhbt and pkhtb.
Patch by Stephen Hines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131045
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 7 May 2011 03:12:54 +0000 (03:12 +0000)]
Revert ExecutionEngine patches, they either failed to build or broke unit tests.
Please ensure the build is clean and tests are passing when recommitting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131044
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 6 May 2011 22:29:04 +0000 (22:29 +0000)]
Switch Darwin to the generic CIE/FDE printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131031
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Fri, 6 May 2011 22:24:04 +0000 (22:24 +0000)]
ExecutionEngine: delete duplicated files
Forgot to `svn rm` these in revisions 131025 / 131029.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131030
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Fri, 6 May 2011 22:20:09 +0000 (22:20 +0000)]
ExecutionEngine: add missing file
From revision 131025.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131029
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Fri, 6 May 2011 22:11:29 +0000 (22:11 +0000)]
1. Keep lines in 80 columns.
2. Remove unused function.
3. Correct indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131028
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Fri, 6 May 2011 22:07:14 +0000 (22:07 +0000)]
ExecutionEngine: move createJIT() definition
As an ExecutionEngine class function, its definition
really belongs in ExecutionEngine.cpp, not JIT.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131027
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Fri, 6 May 2011 22:06:22 +0000 (22:06 +0000)]
ExecutionEngine: push TargetMachine creation into clients
In particular, into EngineBuilder. This should only impact
the private API between the EE and EB classes, not external
clients, since JITCtor and MCJITCtor are both protected members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131026
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Fri, 6 May 2011 22:05:43 +0000 (22:05 +0000)]
ExecutionEngine: fix JIT/MCJIT selectTarget() duplication
This prepares for making JITCtor/MCJITCtor take a
TargetMachine* directly from clients like EngineBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131025
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 6 May 2011 21:58:30 +0000 (21:58 +0000)]
Emit a proper error message when register allocators run out of registers.
This can't be just an assertion, users can always write impossible inline
assembly. Such an assembly statement should be included in the error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131024
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 6 May 2011 21:52:52 +0000 (21:52 +0000)]
Added an assertion, and updated a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131022
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 6 May 2011 21:09:44 +0000 (21:09 +0000)]
It's valid to take the blockaddress of a different function, so remove this
assert in the bitcode writer. No change needed because the ValueEnumerator holds
a whole-module numbering anyhow. Fixes PR9857!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131016
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 6 May 2011 20:52:23 +0000 (20:52 +0000)]
80 col violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131015
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 6 May 2011 20:34:06 +0000 (20:34 +0000)]
Make the logic for determining function alignment more explicit. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131012
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 6 May 2011 19:50:10 +0000 (19:50 +0000)]
Use array_lengthof. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131008
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 6 May 2011 19:31:19 +0000 (19:31 +0000)]
Iterate backwards over debug locations when splitting them so they can be safely erased.
This should unbreak dragonegg-i386-linux and build-self-4-mingw32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131007
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 6 May 2011 18:47:45 +0000 (18:47 +0000)]
Improve diagnostics for some parse errors. Not asserting when a user input
error is detected is a good thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131005
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 6 May 2011 18:39:28 +0000 (18:39 +0000)]
ParseFile() may throw, so extend the try/catch to handle that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131004
91177308-0d34-0410-b5e6-
96231b3b80d8
Galina Kistanova [Fri, 6 May 2011 18:24:46 +0000 (18:24 +0000)]
Move few target-dependant tests to appropriate directories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131002
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 6 May 2011 18:14:32 +0000 (18:14 +0000)]
Typo: Reviewed by Alistair.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131001
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 6 May 2011 18:01:58 +0000 (18:01 +0000)]
Pass -disable-cfi to llc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130999
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 6 May 2011 18:00:02 +0000 (18:00 +0000)]
Update LiveDebugVariables after live range splitting.
After a virtual register is split, update any debug user variables that resided
in the old register. This ensures that the LiveDebugVariables are still correct
after register allocation.
This may create DBG_VALUE instructions that place a user variable in a register
in parts of the function and in a stack slot in other parts. DwarfDebug
currently doesn't support that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130998
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 6 May 2011 17:59:59 +0000 (17:59 +0000)]
Use TargetMachine hooks to properly print debug variable locations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130997
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 6 May 2011 17:59:57 +0000 (17:59 +0000)]
Also count identity copies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130996
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 6 May 2011 17:44:58 +0000 (17:44 +0000)]
Pass -disable-cfi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130995
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 6 May 2011 17:09:08 +0000 (17:09 +0000)]
Post-RA scheduler compile time fix. Quadratic computation of DAG node depth.
The post-ra scheduler was explicitly updating the depth of a node's
successors after scheduling it, regardless of whether the successor
was ready. This is quadratic for DAGs with transitively redundant
edges. I simply removed the useless update of depth, which is lazilly
computed later.
Fixes <rdar://problem/
9044332> compiler takes way too long to build TextInput.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130992
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 6 May 2011 16:57:54 +0000 (16:57 +0000)]
Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from DwarfDebug.cpp to DwarfCompileUnit.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130991
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 6 May 2011 15:44:29 +0000 (15:44 +0000)]
Nothing else uses this label.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130989
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 6 May 2011 15:31:55 +0000 (15:31 +0000)]
Yet more dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130988
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 6 May 2011 15:28:56 +0000 (15:28 +0000)]
Update comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130987
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 6 May 2011 15:22:26 +0000 (15:22 +0000)]
More dead code elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130985
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 6 May 2011 14:56:22 +0000 (14:56 +0000)]
Dead code elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130984
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Fri, 6 May 2011 11:40:36 +0000 (11:40 +0000)]
PTX: add PTX 2.3 language target
Patch by Wei-Ren Chen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130980
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 6 May 2011 10:30:37 +0000 (10:30 +0000)]
Fix PR9820: a read-only call differs from a load in that a load doesn't
return the pointer being dereferenced, it returns the pointee, but a call
might return the pointer itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130979
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 6 May 2011 05:23:07 +0000 (05:23 +0000)]
Re-revert r130877; it's apparently causing a regression on 197.parser,
possibly related to cbnz formation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130977
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 5 May 2011 23:52:18 +0000 (23:52 +0000)]
The computation of string length is not that complicated. Fix it, again. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130967
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 5 May 2011 23:19:54 +0000 (23:19 +0000)]
Remove DwarfTableException.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130964
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 5 May 2011 22:14:31 +0000 (22:14 +0000)]
Remove the DwarfTable enum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130959
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 5 May 2011 22:05:57 +0000 (22:05 +0000)]
In debug output, clearly list new instructions without DebugLoc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130957
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 5 May 2011 22:00:08 +0000 (22:00 +0000)]
Remove little used statistical counter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130955
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 May 2011 21:59:18 +0000 (21:59 +0000)]
PR9838: Fix transform introduced in r127064 to not trigger when only one side of the icmp is an exact shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130954
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 5 May 2011 21:34:33 +0000 (21:34 +0000)]
Move PPC Linux to CFI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130951
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 5 May 2011 21:27:14 +0000 (21:27 +0000)]
Fix typo. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130949
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 5 May 2011 20:48:31 +0000 (20:48 +0000)]
Implement a really simple DwarfSjLjException.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130947
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 5 May 2011 19:48:34 +0000 (19:48 +0000)]
List all exception types in a switch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130944
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 5 May 2011 19:32:21 +0000 (19:32 +0000)]
ARM post RA scheduler compile time fix.
BuildSchedGraph was quadratic in the number of calls in the basic
block. After this fix, it keeps only a single call at the top of the
DefList so compile time doesn't blow up on large blocks. This reduces
postRA sched time on an external test case from 81s to 0.3s. Although
r130800 (reduced ARM register alias defs) also partially fixes the
issue by reducing the constant overhead of checking call interference
by an order of magnitude.
Fixes <rdar://problem/
7662664> very poor compile time with post RA scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130943
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 5 May 2011 19:24:06 +0000 (19:24 +0000)]
whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130942
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 5 May 2011 18:43:39 +0000 (18:43 +0000)]
Don't produce a __debug_frame.
I tested both gdb on a bootstrapped clang and and the gdb testsuite on OS X (snow leopard)
and both are happy using __eh_frame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130937
91177308-0d34-0410-b5e6-
96231b3b80d8
Galina Kistanova [Thu, 5 May 2011 18:40:27 +0000 (18:40 +0000)]
Many LLVM tests relies on standard output stream be in the binary mode. Which is not always the case (on Windows in particular). The patch adds a test to verify that the standard output stream is actually in the binary mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130936
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 5 May 2011 17:59:04 +0000 (17:59 +0000)]
Allow FastISel of three-register-operand instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130934
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 5 May 2011 17:54:26 +0000 (17:54 +0000)]
If debug info for inlined function is missing then handle it gracefully.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130933
91177308-0d34-0410-b5e6-
96231b3b80d8