Rafael Espindola
71f8b08a80
Extra refactoring noticed by Eli Friedman.
...
llvm-svn: 131405
2011-05-16 15:48:45 +00:00
Zhongxing Xu
56cf054a35
Remove redundant template partial specilization.
...
llvm-svn: 131402
2011-05-16 12:42:22 +00:00
Rafael Espindola
2050af838d
Don't do tail calls in a function that call setjmp. The stack might be
...
corrupted when setjmp returns again.
llvm-svn: 131399
2011-05-16 03:05:33 +00:00
Charles Davis
2f10078ae7
Fix copy-pasto.
...
llvm-svn: 131384
2011-05-15 17:28:27 +00:00
Charles Davis
af18d07ed6
Add stub methods to MCStreamer for emitting Win64 exception-handling
...
information.
llvm-svn: 131382
2011-05-15 17:20:01 +00:00
Charles Davis
757aa983dd
Get rid of extern "C" from the Win64 EH header.
...
llvm-svn: 131381
2011-05-15 17:09:26 +00:00
Charles Davis
215b92d24b
Add a header containing definitions used to implement Win64 exception handling.
...
llvm-svn: 131380
2011-05-15 14:42:22 +00:00
Nick Lewycky
0db2654023
Declare this function here so that it doesn't get C++ mangling.
...
llvm-svn: 131379
2011-05-15 07:20:34 +00:00
Benjamin Kramer
cb7e56e592
Disable test harder.
...
llvm-svn: 131363
2011-05-14 19:30:39 +00:00
Stuart Hastings
3c2fd1cf62
Disable this test while I revise it. rdar://problem/9267970
...
llvm-svn: 131350
2011-05-14 18:39:05 +00:00
Benjamin Kramer
d96205c4e5
SimplifyCFG: Use ComputeMaskedBits to prune dead cases from switch instructions.
...
llvm-svn: 131345
2011-05-14 15:57:25 +00:00
Stuart Hastings
66a82b966e
Avoid combining GEPs that might overflow at runtime.
...
rdar://problem/9267970
Patch by Julien Lerouge!
llvm-svn: 131339
2011-05-14 05:55:10 +00:00
Eli Friedman
8f1e11cde9
Fix a FIXME by moving the fast-isel implementation of the objectsize intrinsic from the x86 code to the generic code.
...
llvm-svn: 131332
2011-05-14 00:47:51 +00:00
Rafael Espindola
df9db7ed92
Don't produce a vmovntdq if we don't have AVX support.
...
llvm-svn: 131330
2011-05-14 00:30:01 +00:00
Eli Friedman
f080a57b81
Zap useless code; this hasn't done anything useful since fast-isel switched to being bottom-up (a very long time ago).
...
llvm-svn: 131329
2011-05-14 00:19:32 +00:00
John McCall
8a2548f6e0
Add an operator+= for appending StringRefs onto std::strings.
...
Previously this pattern would be compiled using an implicit conversion
to std::string.
llvm-svn: 131325
2011-05-13 23:58:45 +00:00
Jim Grosbach
f6b1846f39
Be a bit more permissive about symbols we don't understand. Just skip them
...
rather than throwing an error.
llvm-svn: 131322
2011-05-13 23:11:30 +00:00
Dylan Noblesmith
0bd34fbd01
ExecutionEngine: move createJIT() definition (v2)
...
As an ExecutionEngine class function, its definition
really belongs in ExecutionEngine.cpp, not JIT.cpp.
llvm-svn: 131320
2011-05-13 22:02:53 +00:00
Dylan Noblesmith
8418fdcd59
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.
llvm-svn: 131317
2011-05-13 21:51:29 +00:00
Dylan Noblesmith
1756faa472
ExecutionEngine: fix JIT/MCJIT selectTarget() duplication (v2)
...
This prepares for making JITCtor/MCJITCtor take a
TargetMachine* directly from clients like EngineBuilder.
llvm-svn: 131316
2011-05-13 21:36:16 +00:00
Rafael Espindola
8255d1e223
Move test.
...
llvm-svn: 131315
2011-05-13 21:35:17 +00:00
Rafael Espindola
a9289bedf8
Move test.
...
llvm-svn: 131314
2011-05-13 21:33:32 +00:00
Jim Grosbach
65ed49dfc7
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.
llvm-svn: 131305
2011-05-13 20:12:14 +00:00
Galina Kistanova
60e17fe806
Move platform-dependent test to appropriate directory.
...
llvm-svn: 131302
2011-05-13 19:45:05 +00:00
Rafael Espindola
e53b7d1a11
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.
llvm-svn: 131294
2011-05-13 15:18:06 +00:00
Julien Lerouge
7e11f9e26d
Fix a source of non determinism in FindUsedTypes, use a SetVector instead of a
...
set.
rdar://9423996
llvm-svn: 131283
2011-05-13 05:20:42 +00:00
Peter Collingbourne
5ac59df9fb
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.
llvm-svn: 131279
2011-05-13 03:27:56 +00:00
Andrew Trick
03957dfeb1
Convert SimplifyIVUsers into a worklist instead of a single pass over
...
the users.
llvm-svn: 131277
2011-05-13 01:12:21 +00:00
Stuart Hastings
aa02c0847d
Since I can't reproduce the failures from 131261, re-trying with a
...
simplified version. <rdar://problem/9298790>
llvm-svn: 131274
2011-05-13 00:51:54 +00:00
Stuart Hastings
8d57d8ea64
Revert 131266 and 131261 due to buildbot complaints.
...
rdar://problem/9298790
llvm-svn: 131269
2011-05-13 00:15:17 +00:00
Stuart Hastings
ef4940254f
Tweak 131261 (thumb2-cbnz.ll) to generate the intended cbnz.
...
rdar://problem/9298790
llvm-svn: 131266
2011-05-13 00:10:03 +00:00
Stuart Hastings
89f1b47e3a
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
llvm-svn: 131261
2011-05-12 23:36:41 +00:00
Evan Cheng
8a88026ae3
Update comment.
...
llvm-svn: 131258
2011-05-12 22:35:48 +00:00
Galina Kistanova
9e56e51fab
Correction. Use explicit target triple in the test.
...
llvm-svn: 131252
2011-05-12 21:55:34 +00:00
Devang Patel
12419aee7a
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
llvm-svn: 131244
2011-05-12 21:29:42 +00:00
Jim Grosbach
1b2d526c8b
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.
llvm-svn: 131243
2011-05-12 21:21:16 +00:00
Evan Cheng
43054e6159
Re-enable branchfolding common code hoisting optimization. Fixed a liveness test bug and also taught it to update liveins.
...
llvm-svn: 131241
2011-05-12 20:30:01 +00:00
Devang Patel
2409e7843b
Let Objective-C front-end identify class extension, in dwarf output, using an attribute DW_AT_APPLE_objc_class_extension.
...
llvm-svn: 131238
2011-05-12 19:06:16 +00:00
Evan Cheng
33469b2cae
Temporarily disable the transformation. It's breaking 186.crafty in some configuration.
...
llvm-svn: 131235
2011-05-12 18:44:58 +00:00
Jim Grosbach
9efe39ea38
The MCJIT memory manager needs to initialize its Module member.
...
llvm-svn: 131234
2011-05-12 18:21:23 +00:00
Akira Hatanaka
e50a3d16e9
Fix setting of isCommutable flag.
...
llvm-svn: 131233
2011-05-12 17:42:08 +00:00
Jason W Kim
df6b61255d
reverting test commit
...
llvm-svn: 131232
2011-05-12 17:38:08 +00:00
Jason W Kim
4fc6524ba8
Test commit from Mercurial
...
llvm-svn: 131231
2011-05-12 17:37:13 +00:00
Oscar Fuentes
a4445d6a51
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!
llvm-svn: 131229
2011-05-12 11:26:21 +00:00
Evan Cheng
cfdf33904b
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.
llvm-svn: 131214
2011-05-12 00:56:58 +00:00
Andrew Trick
81683ed232
indvars: Added SimplifyIVUsers.
...
Interleave IV simplifications. Currently involves EliminateComparison
and EliminateRemainder. Next I'll add EliminateExtend.
llvm-svn: 131210
2011-05-12 00:04:28 +00:00
Matt Beaumont-Gay
7c6c90b35d
Remove an unused variable and move a couple others inside DEBUG.
...
llvm-svn: 131208
2011-05-11 23:34:51 +00:00
Jason W Kim
c09e726455
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.
llvm-svn: 131205
2011-05-11 22:53:06 +00:00
Eric Christopher
2a9dbbbb12
Turn this into a table, this will make more sense shortly.
...
Part of rdar://8470697
llvm-svn: 131200
2011-05-11 21:44:58 +00:00
Stuart Hastings
114ecbd0f4
Move this test to CodeGen/Thumb. rdar://problem/9416774
...
llvm-svn: 131196
2011-05-11 19:41:28 +00:00