Rafael Espindola
1f7c831e4f
Extra refactoring noticed by Eli Friedman.
...
llvm-svn: 131405
2011-05-16 15:48:45 +00:00
Zhongxing Xu
c520c46129
Remove redundant template partial specilization.
...
llvm-svn: 131402
2011-05-16 12:42:22 +00:00
Rafael Espindola
113d944ce4
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
576f65b4b2
Fix copy-pasto.
...
llvm-svn: 131384
2011-05-15 17:28:27 +00:00
Charles Davis
900df11077
Add stub methods to MCStreamer for emitting Win64 exception-handling
...
information.
llvm-svn: 131382
2011-05-15 17:20:01 +00:00
Charles Davis
4b65b621f2
Get rid of extern "C" from the Win64 EH header.
...
llvm-svn: 131381
2011-05-15 17:09:26 +00:00
Charles Davis
d2f0eca76c
Add a header containing definitions used to implement Win64 exception handling.
...
llvm-svn: 131380
2011-05-15 14:42:22 +00:00
Nick Lewycky
20b27eebdc
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
f619bee58f
Disable test harder.
...
llvm-svn: 131363
2011-05-14 19:30:39 +00:00
Stuart Hastings
a5b8581bbb
Disable this test while I revise it. rdar://problem/9267970
...
llvm-svn: 131350
2011-05-14 18:39:05 +00:00
Benjamin Kramer
5943d0a3ee
SimplifyCFG: Use ComputeMaskedBits to prune dead cases from switch instructions.
...
llvm-svn: 131345
2011-05-14 15:57:25 +00:00
Stuart Hastings
725bd9a3a1
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
559f908ca7
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
98372d430c
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
841249aeb2
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
d24d94c11c
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
86489a32cf
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
e3f823351d
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
7181ae008c
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
2af2081287
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
522eee90c7
Move test.
...
llvm-svn: 131315
2011-05-13 21:35:17 +00:00
Rafael Espindola
962d964ea5
Move test.
...
llvm-svn: 131314
2011-05-13 21:33:32 +00:00
Jim Grosbach
ed5d966802
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
9df62fe3e4
Move platform-dependent test to appropriate directory.
...
llvm-svn: 131302
2011-05-13 19:45:05 +00:00
Rafael Espindola
95d9ad78ea
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
b2c1721752
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
59864a5443
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
9bf6279f98
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
5fb280fd39
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
b362a9bcc6
Revert 131266 and 131261 due to buildbot complaints.
...
rdar://problem/9298790
llvm-svn: 131269
2011-05-13 00:15:17 +00:00
Stuart Hastings
002f9765c6
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
d106d72681
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
43393670c9
Update comment.
...
llvm-svn: 131258
2011-05-12 22:35:48 +00:00
Galina Kistanova
f8f6de03c6
Correction. Use explicit target triple in the test.
...
llvm-svn: 131252
2011-05-12 21:55:34 +00:00
Devang Patel
dd08ae41c6
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
dc7e74edfa
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
f3eb9e3262
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
b865dd6a20
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
2c6e581865
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
245420ff79
The MCJIT memory manager needs to initialize its Module member.
...
llvm-svn: 131234
2011-05-12 18:21:23 +00:00
Akira Hatanaka
a57b77b65f
Fix setting of isCommutable flag.
...
llvm-svn: 131233
2011-05-12 17:42:08 +00:00
Jason W Kim
082d4ca5c9
reverting test commit
...
llvm-svn: 131232
2011-05-12 17:38:08 +00:00
Jason W Kim
79a55f7a7c
Test commit from Mercurial
...
llvm-svn: 131231
2011-05-12 17:37:13 +00:00
Oscar Fuentes
d323e73950
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
5ff60c7364
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
3e6beb9889
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
20dbed0a8b
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
f6c2c6a38e
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
281a4a4550
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
1d08224543
Move this test to CodeGen/Thumb. rdar://problem/9416774
...
llvm-svn: 131196
2011-05-11 19:41:28 +00:00