Rafael Espindola [Mon, 16 May 2011 16:17:21 +0000 (16:17 +0000)]
sets bit 0 of the function address of thumb function in .symtab
("T is 1 if the target symbol S has type STT_FUNC and the
symbol addresses a Thumb instruction ;it is 0 otherwise."
from "ELF for the ARM Architecture" 4.7.1.2)
Patch by Koan-Sin Tan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131406
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 May 2011 15:48:45 +0000 (15:48 +0000)]
Extra refactoring noticed by Eli Friedman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131405
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 16 May 2011 12:42:22 +0000 (12:42 +0000)]
Remove redundant template partial specilization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131402
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 16 May 2011 03:05:33 +0000 (03:05 +0000)]
Don't do tail calls in a function that call setjmp. The stack might be
corrupted when setjmp returns again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131399
91177308-0d34-0410-b5e6-
96231b3b80d8
Charles Davis [Sun, 15 May 2011 17:28:27 +0000 (17:28 +0000)]
Fix copy-pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131384
91177308-0d34-0410-b5e6-
96231b3b80d8
Charles Davis [Sun, 15 May 2011 17:20:01 +0000 (17:20 +0000)]
Add stub methods to MCStreamer for emitting Win64 exception-handling
information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131382
91177308-0d34-0410-b5e6-
96231b3b80d8
Charles Davis [Sun, 15 May 2011 17:09:26 +0000 (17:09 +0000)]
Get rid of extern "C" from the Win64 EH header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131381
91177308-0d34-0410-b5e6-
96231b3b80d8
Charles Davis [Sun, 15 May 2011 14:42:22 +0000 (14:42 +0000)]
Add a header containing definitions used to implement Win64 exception handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131380
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 15 May 2011 07:20:34 +0000 (07:20 +0000)]
Declare this function here so that it doesn't get C++ mangling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131379
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 14 May 2011 19:30:39 +0000 (19:30 +0000)]
Disable test harder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131363
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Sat, 14 May 2011 18:39:05 +0000 (18:39 +0000)]
Disable this test while I revise it. rdar://problem/
9267970
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131350
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 14 May 2011 15:57:25 +0000 (15:57 +0000)]
SimplifyCFG: Use ComputeMaskedBits to prune dead cases from switch instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131345
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Sat, 14 May 2011 05:55:10 +0000 (05:55 +0000)]
Avoid combining GEPs that might overflow at runtime.
rdar://problem/
9267970
Patch by Julien Lerouge!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131339
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 14 May 2011 00:47:51 +0000 (00:47 +0000)]
Fix a FIXME by moving the fast-isel implementation of the objectsize intrinsic from the x86 code to the generic code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131332
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 14 May 2011 00:30:01 +0000 (00:30 +0000)]
Don't produce a vmovntdq if we don't have AVX support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131330
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 14 May 2011 00:19:32 +0000 (00:19 +0000)]
Zap useless code; this hasn't done anything useful since fast-isel switched to being bottom-up (a very long time ago).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131329
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 13 May 2011 23:58:45 +0000 (23:58 +0000)]
Add an operator+= for appending StringRefs onto std::strings.
Previously this pattern would be compiled using an implicit conversion
to std::string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131325
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 13 May 2011 23:11:30 +0000 (23:11 +0000)]
Be a bit more permissive about symbols we don't understand. Just skip them
rather than throwing an error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131322
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Fri, 13 May 2011 22:02:53 +0000 (22:02 +0000)]
ExecutionEngine: move createJIT() definition (v2)
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@131320
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Fri, 13 May 2011 21:51:29 +0000 (21:51 +0000)]
ExecutionEngine: push TargetMachine creation into clients (v2)
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@131317
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Fri, 13 May 2011 21:36:16 +0000 (21:36 +0000)]
ExecutionEngine: fix JIT/MCJIT selectTarget() duplication (v2)
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@131316
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 13 May 2011 21:35:17 +0000 (21:35 +0000)]
Move test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131315
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 13 May 2011 21:33:32 +0000 (21:33 +0000)]
Move test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131314
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 13 May 2011 20:12:14 +0000 (20:12 +0000)]
Teach the RtDyld to tell the memory manager about how much space a function
actually takes rather than how much memory was allocated for it. This
is more accurate and should help the manager pack things more effectively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131305
91177308-0d34-0410-b5e6-
96231b3b80d8
Galina Kistanova [Fri, 13 May 2011 19:45:05 +0000 (19:45 +0000)]
Move platform-dependent test to appropriate directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131302
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 13 May 2011 15:18:06 +0000 (15:18 +0000)]
Make codegen able to handle values of empty types. This is one way
to fix PR9900. I will keep it open until sable is able to comment on it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131294
91177308-0d34-0410-b5e6-
96231b3b80d8
Julien Lerouge [Fri, 13 May 2011 05:20:42 +0000 (05:20 +0000)]
Fix a source of non determinism in FindUsedTypes, use a SetVector instead of a
set.
rdar://
9423996
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131283
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Fri, 13 May 2011 03:27:56 +0000 (03:27 +0000)]
Re-add the autoconf rule for the docs/doxygen.cfg file.
For some reason this was not reverted when r103213 was.
At the same time, add an optional rule for clang's doxygen.cfg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131279
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 13 May 2011 01:12:21 +0000 (01:12 +0000)]
Convert SimplifyIVUsers into a worklist instead of a single pass over
the users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131277
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Fri, 13 May 2011 00:51:54 +0000 (00:51 +0000)]
Since I can't reproduce the failures from 131261, re-trying with a
simplified version. <rdar://problem/
9298790>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131274
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Fri, 13 May 2011 00:15:17 +0000 (00:15 +0000)]
Revert 131266 and 131261 due to buildbot complaints.
rdar://problem/
9298790
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131269
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Fri, 13 May 2011 00:10:03 +0000 (00:10 +0000)]
Tweak 131261 (thumb2-cbnz.ll) to generate the intended cbnz.
rdar://problem/
9298790
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131266
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Thu, 12 May 2011 23:36:41 +0000 (23:36 +0000)]
Non-fast-isel followup to 129634; correctly handle branches controlled
by non-CMP expressions. The executable test case (129821) would test
this as well, if we had an "-O0 -disable-arm-fast-isel" LLVM-GCC
tester. Alas, the ARM assembly would be very difficult to check with
FileCheck.
The thumb2-cbnz.ll test is affected; it generates larger code (tst.w
vs. cmp #0), but I believe the new version is correct.
rdar://problem/
9298790
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131261
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 May 2011 22:35:48 +0000 (22:35 +0000)]
Update comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131258
91177308-0d34-0410-b5e6-
96231b3b80d8
Galina Kistanova [Thu, 12 May 2011 21:55:34 +0000 (21:55 +0000)]
Correction. Use explicit target triple in the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131252
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 12 May 2011 21:29:42 +0000 (21:29 +0000)]
Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131244
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 12 May 2011 21:21:16 +0000 (21:21 +0000)]
MCJIT section loading should just skip non-text sections rather than
erroring out completely. Some modules produce sections that aren't referenced,
so it's friendlier to clients like LLDB to just skip them, at least for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131243
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 May 2011 20:30:01 +0000 (20:30 +0000)]
Re-enable branchfolding common code hoisting optimization. Fixed a liveness test bug and also taught it to update liveins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131241
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 12 May 2011 19:06:16 +0000 (19:06 +0000)]
Let Objective-C front-end identify class extension, in dwarf output, using an attribute DW_AT_APPLE_objc_class_extension.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131238
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 May 2011 18:44:58 +0000 (18:44 +0000)]
Temporarily disable the transformation. It's breaking 186.crafty in some configuration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131235
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 12 May 2011 18:21:23 +0000 (18:21 +0000)]
The MCJIT memory manager needs to initialize its Module member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131234
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Thu, 12 May 2011 17:42:08 +0000 (17:42 +0000)]
Fix setting of isCommutable flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131233
91177308-0d34-0410-b5e6-
96231b3b80d8
Jason W Kim [Thu, 12 May 2011 17:38:08 +0000 (17:38 +0000)]
reverting test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131232
91177308-0d34-0410-b5e6-
96231b3b80d8
Jason W Kim [Thu, 12 May 2011 17:37:13 +0000 (17:37 +0000)]
Test commit from Mercurial
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131231
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Thu, 12 May 2011 11:26:21 +0000 (11:26 +0000)]
CMake builds gold by default since revision 127466. This is
inconsistent with autoconf, which by default set BINUTILS_INCDIR to
empty and exclude gold from target list.
Based on a patch by Haitao Li!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131229
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 May 2011 00:56:58 +0000 (00:56 +0000)]
Re-commit 131172 with fix. MachineInstr identity checks should check dead
markers. In some cases a register def is dead on one path, but not on
another.
This is passing Clang self-hosting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131214
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 12 May 2011 00:04:28 +0000 (00:04 +0000)]
indvars: Added SimplifyIVUsers.
Interleave IV simplifications. Currently involves EliminateComparison
and EliminateRemainder. Next I'll add EliminateExtend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131210
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Beaumont-Gay [Wed, 11 May 2011 23:34:51 +0000 (23:34 +0000)]
Remove an unused variable and move a couple others inside DEBUG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131208
91177308-0d34-0410-b5e6-
96231b3b80d8
Jason W Kim [Wed, 11 May 2011 22:53:06 +0000 (22:53 +0000)]
Address the last bit of relocation flag related divergence betweeen
LLVM and binutils.
With this patch, there are no functional differences between the .o
produced directly from LLVM versus the .s to .o via GNU as, for relocation tags
at least, for both PIC and non-PIC modes.
Because some non-PIC reloc tags are used (legally) on PIC, so IsPCRel flag is
necessary but not sufficient to determine whether the overall codegen mode is
PIC or not. Why is this necessary? There is an incompatibility of how relocs
are emitted in the .rodata section. Binutils PIC likes to emit certain relocs
as section relative offsets. Non-PIC does not do this.
So I added a hidden switch on the ELFObjectwriter "-arm-elf-force-pic" which
forces the objectwriter to pretend that all relocs are for PIC mode.
Todo: Activate ForceARMElfPIC to true if -relocation-model=pic is selected
on llc.
Todo: There are probably more issues for PIC mode on ARM/MC/ELF...
Todo: Existing tests in MC/ARM/elf-reloc*.ll need to be converted over to .s
tests as well as expanded to cover the gamut.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131205
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 11 May 2011 21:44:58 +0000 (21:44 +0000)]
Turn this into a table, this will make more sense shortly.
Part of rdar://
8470697
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131200
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Wed, 11 May 2011 19:41:28 +0000 (19:41 +0000)]
Move this test to CodeGen/Thumb. rdar://problem/
9416774
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131196
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 11 May 2011 19:22:19 +0000 (19:22 +0000)]
Identify end of prologue (and beginning of function body) using DW_LNS_set_prologue_end line table opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131194
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 11 May 2011 18:25:10 +0000 (18:25 +0000)]
Avoid hoisting spills when looking at a copy from another register that is also
about to be spilled.
This can only happen when two extra snippet registers are included in the spill,
and there is a copy between them. Hoisting the spill creates problems because
the hoist will mark the copy for later dead code elimination, and spilling the
second register will turn the copy into a spill.
<rdar://problem/
9420853>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131192
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Wed, 11 May 2011 17:29:25 +0000 (17:29 +0000)]
Reduced test case. rdar://problem/
9416774
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131191
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 11 May 2011 17:00:48 +0000 (17:00 +0000)]
Fix encoding of Thumb BLX register instructions. Patch by Koan-Sin Tan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131189
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 11 May 2011 16:44:08 +0000 (16:44 +0000)]
Typo and missing checkin from r131186.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131187
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 11 May 2011 16:31:24 +0000 (16:31 +0000)]
Bugpoint support for miscompilations that result in a crash.
This change allows bugpoint to pinpoint the "opt" pass and bitcode
segment responsible for a crash caused by miscompilation. At least it
works well for me now, without having to create any custom execution
wrappers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131186
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Wed, 11 May 2011 16:00:21 +0000 (16:00 +0000)]
And lo, I was given a testcase for 131152. rdar://problem/
9416774
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131184
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Wed, 11 May 2011 14:40:50 +0000 (14:40 +0000)]
Fixes a bug in the DAGCombiner. LoadSDNodes have two values (data, chain).
If there is a store after the load node, then there is a chain, which means
that there is another user. Thus, asking hasOneUser would fail. Instead we
ask hasNUsesOfValue on the 'data' value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131183
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Wed, 11 May 2011 13:53:08 +0000 (13:53 +0000)]
Handle gcc-compatible compilers (such as clang) the same way we handle
gcc.
Fixes PR9886.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131181
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Wed, 11 May 2011 08:12:09 +0000 (08:12 +0000)]
Add custom lowering of X86 vector SRA/SRL/SHL when the shift amount is a splat vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131179
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 11 May 2011 03:27:17 +0000 (03:27 +0000)]
Revert 131172 as it is causing clang to miscompile itself. I will try
to provide a reduced testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131176
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 11 May 2011 01:11:55 +0000 (01:11 +0000)]
Give the 'eh.sjlj.dispatchsetup' intrinsic call the value coming from the setjmp
intrinsic call. This prevents it from being reordered so that it appears
*before* the setjmp intrinsic (thus making it completely useless).
<rdar://problem/
9409683>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131174
91177308-0d34-0410-b5e6-
96231b3b80d8
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