Chris Lattner [Tue, 5 Oct 2010 05:32:15 +0000 (05:32 +0000)]
refactor .td files a bit, moving system instructions out to X86InstrSystem.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115591
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 5 Oct 2010 01:00:42 +0000 (01:00 +0000)]
s/The ARM has/The ARM backend has/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115584
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 5 Oct 2010 00:35:16 +0000 (00:35 +0000)]
Update LLVMLibDeps
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115583
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 5 Oct 2010 00:34:11 +0000 (00:34 +0000)]
Re-apply r115363 and r115366 now that r115525 has removed the un-needed header
that caused the circular dependencies on Linux.
Built OK for me on OSX and Linux (Ubuntu) with configure/make and CMake. Will
keep an eye on the bots....
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115582
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Tue, 5 Oct 2010 00:21:40 +0000 (00:21 +0000)]
Added a testcase for the ENTER instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115580
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Mon, 4 Oct 2010 22:45:51 +0000 (22:45 +0000)]
Fixed the disassembler to handle two new X86
instruction forms. Now the ENTER instruction
disassembles correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115573
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 4 Oct 2010 22:41:01 +0000 (22:41 +0000)]
This DAG combine BRCOND transformation can look pass truncate of the operand:
// %a = ...
// %b = and i32 %a, 2
// %c = srl i32 %b, 1
// brcond i32 %c ...
//
// into
//
// %a = ...
// %b = and i32 %a, 2
// %c = setcc eq %b, 0
// brcond %c ...
Make sure it restores local variable N1, which corresponds to the condition operand if it fails to match.
This apparently breaks TCE but since that backend isn't in the tree I don't have a test for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115571
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Mon, 4 Oct 2010 22:07:22 +0000 (22:07 +0000)]
AVX intrinsics and builtins were also added to clang
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115566
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 4 Oct 2010 21:12:06 +0000 (21:12 +0000)]
Spell AltiVec correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115560
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 4 Oct 2010 20:24:01 +0000 (20:24 +0000)]
The pshufw instruction came about in MMX2 when SSE was introduced. Don't place
it in with the SSSE3 instructions.
Steward! Could you place this chair by the aft sun deck? I'm trying to get away
from the Astors. They are such boors!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115552
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Mon, 4 Oct 2010 20:17:24 +0000 (20:17 +0000)]
Incorporate suggestions by Daniel Dunbar after his review. Thanks Daniel!
1) Changed ValidateDwarfFileNumber() to isValidDwarfFileNumber() to be better
named. Since it is just a predicate and isn't actually changing any state.
2) Added a missing return in the comments for setCurrentDwarfLoc() in
include/llvm/MC/MCContext.h for fix formatting.
3) Changed clearDwarfLocSeen() to ClearDwarfLocSeen() since it does change
state.
4) Simplified the last test in isValidDwarfFileNumber() to just a one line
boolean test of MCDwarfFiles[FileNumber] != 0 for the final return statement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115551
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 4 Oct 2010 20:11:41 +0000 (20:11 +0000)]
ReleaseNotes: Note some changes to LLVM development infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115550
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 4 Oct 2010 20:11:39 +0000 (20:11 +0000)]
ReleaseNotes: Note a header rename.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115549
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 4 Oct 2010 19:51:39 +0000 (19:51 +0000)]
Implement ELF::R_X86_64_GOTPCREL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115547
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 4 Oct 2010 19:46:28 +0000 (19:46 +0000)]
Move isFixupKindX86PCRel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115545
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 4 Oct 2010 19:04:13 +0000 (19:04 +0000)]
Produce a R_X86_64_PLT32 when needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115541
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 4 Oct 2010 18:44:25 +0000 (18:44 +0000)]
Produce a R_X86_64_GOT32 when needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115537
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Mon, 4 Oct 2010 17:54:30 +0000 (17:54 +0000)]
validator fixes; others remain, somebody who knows some html, please have a look
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115526
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 4 Oct 2010 17:53:40 +0000 (17:53 +0000)]
Remove unneeded header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115525
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 4 Oct 2010 17:39:47 +0000 (17:39 +0000)]
Add KLEE 2.8 release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115524
91177308-0d34-0410-b5e6-
96231b3b80d8
Jan Wen Voung [Mon, 4 Oct 2010 17:32:41 +0000 (17:32 +0000)]
Add hook in MCSection to decide when to use "optimized nops", for each
section kind. Previously, optimized nops were only used for MachO.
Also added tests for ELF and COFF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115523
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 4 Oct 2010 17:24:08 +0000 (17:24 +0000)]
Don't add the operand count to SCEV uniquing data; FoldingSetNodeID
already knows its own length, so this is redundant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115521
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 4 Oct 2010 17:06:49 +0000 (17:06 +0000)]
A few more random Clang release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115520
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Mon, 4 Oct 2010 17:03:49 +0000 (17:03 +0000)]
minor tweaks and typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115518
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 4 Oct 2010 16:51:59 +0000 (16:51 +0000)]
Fix lexical block's tag number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115516
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Oct 2010 16:46:07 +0000 (16:46 +0000)]
scheduler update
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115515
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Oct 2010 16:06:37 +0000 (16:06 +0000)]
another tweak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115510
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 4 Oct 2010 15:59:01 +0000 (15:59 +0000)]
Include the section address in the computation of the relocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115509
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 4 Oct 2010 15:28:43 +0000 (15:28 +0000)]
Correctly compute the relocation when it is not in the first fragment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115506
91177308-0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Mon, 4 Oct 2010 12:31:20 +0000 (12:31 +0000)]
static_cast to long, otherwise MSVC 2008 won't compile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115503
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Mon, 4 Oct 2010 12:13:07 +0000 (12:13 +0000)]
Removed the older style (in-allocator) problem construction system from the PBQP allocator. Problem construction is now done exclusively with the new builders.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115502
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 4 Oct 2010 10:06:56 +0000 (10:06 +0000)]
Ada support has moved to dragonegg - I am no longer working on
Ada in llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115501
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 4 Oct 2010 10:04:14 +0000 (10:04 +0000)]
Fix a bunch of typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115500
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 4 Oct 2010 09:11:50 +0000 (09:11 +0000)]
Altvec -> Altivec.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115499
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 4 Oct 2010 07:02:35 +0000 (07:02 +0000)]
Update LLVM 2.8 release notes for Clang
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115498
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Oct 2010 04:39:25 +0000 (04:39 +0000)]
checkpoint, the release notes are now feature complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Oct 2010 03:58:12 +0000 (03:58 +0000)]
checkpoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115494
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Oct 2010 02:42:39 +0000 (02:42 +0000)]
checkpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115489
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 4 Oct 2010 02:32:21 +0000 (02:32 +0000)]
Makefile.rules: Fix breakage on cygming --enable-shared.
This has been applied already in r115093 on release_28.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115487
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Oct 2010 01:29:06 +0000 (01:29 +0000)]
write Major Changes and Removed Features.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115486
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Oct 2010 23:49:06 +0000 (23:49 +0000)]
move dragonegg up in the list, write blurbs for lldb and libc++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115484
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Oct 2010 23:09:03 +0000 (23:09 +0000)]
add a bunch of stuff that works with 2.8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115483
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 3 Oct 2010 22:52:07 +0000 (22:52 +0000)]
va_args support for Win64.
Patch by Cameron!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115480
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 3 Oct 2010 22:02:38 +0000 (22:02 +0000)]
Properly emit stack probe on win64 (for non-mingw targets).
Based on the patch by Cameron Esfahani!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115479
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 3 Oct 2010 20:23:13 +0000 (20:23 +0000)]
Add 3DNowA instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115477
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Oct 2010 20:02:48 +0000 (20:02 +0000)]
unbreak buildbot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115476
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Oct 2010 19:09:13 +0000 (19:09 +0000)]
the immediate field of pshufw is actually an 8-bit field, not a 8-bit field that is sign extended. This fixes PR8288
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115473
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 3 Oct 2010 18:59:45 +0000 (18:59 +0000)]
Jim Asked us to move DataLayout on ARM back to the most specialized classes. Do
so and also change X86 for consistency.
Investigating if this can be improved a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115469
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Oct 2010 18:42:30 +0000 (18:42 +0000)]
add support for the prefetch/prefetchw instructions, move femms into
the right file. The assembler supports all the 3dnow instructions now,
but not the "3dnowa" ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115468
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Oct 2010 18:24:18 +0000 (18:24 +0000)]
what the heck, add support for the rest of the 3dNow! binary operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115467
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Oct 2010 18:08:05 +0000 (18:08 +0000)]
Implement support for the bizarre 3DNow! encoding (which is unlike anything
else in X86), and add support for pavgusb. This is apparently the
only instruction (other than movsx) that is preventing ffmpeg from building
with clang.
If someone else is interested in banging out the rest of the 3DNow!
instructions, it should be quite easy now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115466
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 3 Oct 2010 15:31:50 +0000 (15:31 +0000)]
GCC extensions are no longer used here - update the comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115463
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 3 Oct 2010 15:15:19 +0000 (15:15 +0000)]
Remove two uses of the gcc specific 'aligned' attribute. This
is partly because this attribute caused trouble in the past (the
SmallVector one had to be changed from aligned to aligned(8) due
to causing crashes on i386 for example; in theory the same might
be needed in the Allocator case...). But it's mostly because
there seems to be no point in special casing gcc here. Using the
same implementation for all compilers results in better testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115462
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 3 Oct 2010 03:30:30 +0000 (03:30 +0000)]
Add test to make sure that the MMX intrinsic calls make it out the other end in
tact.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115458
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 3 Oct 2010 02:03:59 +0000 (02:03 +0000)]
Major changes to Cortex-A9 itinerary.
1. Model dual issues as two FUs.
2. Model the pipelines correctly: two symmetric ALUs, the multiplier is a
dependent pipeline on ALU0.
The changes do not have much impact on codegen right now. But I plan to make
pre-RA scheduler multi-issue aware which should take good advantage of the
changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115457
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 3 Oct 2010 01:12:20 +0000 (01:12 +0000)]
Auto-upgrade tests for the new MMX intrinsic calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115456
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 3 Oct 2010 00:46:57 +0000 (00:46 +0000)]
Implement a very basic PIC case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115454
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 3 Oct 2010 00:46:06 +0000 (00:46 +0000)]
Cleanup. Get rid of extraneous variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115453
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 23:06:23 +0000 (23:06 +0000)]
stub out a header to put 3dNow! instructions into.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115429
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 22:44:15 +0000 (22:44 +0000)]
random updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115427
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 21:59:30 +0000 (21:59 +0000)]
checkpoint, don't expect this to read right yet. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115426
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 21:32:15 +0000 (21:32 +0000)]
fix a regression introduced in r115243, in which the instruction
backing int_x86_ssse3_pshuf_w got removed. This caused PR8280.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115422
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 19:32:01 +0000 (19:32 +0000)]
add a bunch more notes. I survived.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115418
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 18:53:48 +0000 (18:53 +0000)]
actually, move the elf tests into the existing elf dir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115416
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 18:52:57 +0000 (18:52 +0000)]
consolidate ELF tests into asmparser tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115415
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 18:52:05 +0000 (18:52 +0000)]
move ARM MC tests up one level.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115414
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 18:49:27 +0000 (18:49 +0000)]
remove reference to dead script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115413
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Oct 2010 18:44:23 +0000 (18:44 +0000)]
nuke an old script
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115412
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 2 Oct 2010 05:24:46 +0000 (05:24 +0000)]
Stop using LiveRange in MachineVerifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115408
91177308-0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Sat, 2 Oct 2010 03:26:54 +0000 (03:26 +0000)]
Fix MSVC release mode compilation error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115407
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sat, 2 Oct 2010 03:04:49 +0000 (03:04 +0000)]
Stop the build if cyclic library dependecies found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115405
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sat, 2 Oct 2010 03:04:43 +0000 (03:04 +0000)]
Update library dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115404
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sat, 2 Oct 2010 02:38:42 +0000 (02:38 +0000)]
Handle InstPrinter's on the CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115402
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Sat, 2 Oct 2010 01:49:29 +0000 (01:49 +0000)]
Fix a miscompile in 186.crafty for Thumb2 that was exposed by Evan's
scheduling change in svn 115121. The CriticalAntiDepBreaker had bad
liveness information. It was calculating the KillIndices for one scheduling
region in a basic block, rescheduling that region so the KillIndices were
no longer valid, and then using those wrong KillIndices to make decisions
for the next scheduling region. I've not been able to reduce a small
testcase for this. Radar
8502534.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115400
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 2 Oct 2010 01:16:59 +0000 (01:16 +0000)]
Wind these directories back too. File adds and removes are properly represented
in patches. :-(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115396
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 2 Oct 2010 01:08:17 +0000 (01:08 +0000)]
Continue reverting r115363.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115395
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 2 Oct 2010 01:06:42 +0000 (01:06 +0000)]
Revert patches r115363 r115367 r115391 due to build breakage:
llvm[2]: Updated LibDeps.txt because dependencies changed
llvm[2]: Checking for cyclic dependencies between LLVM libraries.
find-cycles.pl: Circular dependency between *.a files:
find-cycles.pl: libLLVMMSP430AsmPrinter.a libLLVMMSP430CodeGen.a
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115393
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 2 Oct 2010 00:39:56 +0000 (00:39 +0000)]
Update CMake files for recent AsmPrinter->InstPrinter changes. Can someone who
is more familiar with CMake please review?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115391
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 2 Oct 2010 00:32:44 +0000 (00:32 +0000)]
Start on lowering global addresses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115390
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Sat, 2 Oct 2010 00:13:41 +0000 (00:13 +0000)]
This adds a Darwin x86_64 relocation encoding for a subtraction expression
where both symbols are "local", that is non-external symbols, and there is
no "base" for the symbols used in the expression, that is the section has
no non-temporary symbols. This case looks like this:
% cat local_reloc_A-B.s
.long 0
LB: .long 1
.long LA - LB - 4
.long 2
LA: .long 3
which llvm-mc will not encode without this patch, generates a "unsupported
local relocations in difference" error, but the Darwin assembler will
encode with relocation entries like this:
% otool -rv a.out l.out
a.out:
Relocation information (__TEXT,__text) 2 entries
address pcrel length extern type scattered symbolnum/value
00000008 False long False SUB False 1 (__TEXT,__text)
00000008 False long False UNSIGND False 1 (__TEXT,__text)
which is very similar to what is encoded when the symbols don't have the
leading 'L' and they are not temporary symbols. Which llvm-mc and the
Darwin assembler will encoded like this:
Relocation information (__TEXT,__text) 2 entries
address pcrel length extern type scattered symbolnum/value
00000008 False long True SUB False B
00000008 False long True UNSIGND False A
This is the missing relocation encoding needed to allow the Mach-O x86
Dwarf file and line table to be emitted. So this patch also removes the
TODO from the if() statement in MCMachOStreamer::Finish() that didn't
call MCDwarfFileTable::Emit() for 64-bit targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115389
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 1 Oct 2010 23:52:27 +0000 (23:52 +0000)]
Drop the use of LiveInterval::iterator and the LiveRange class in
RemoveCopyByCommutingDef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115386
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 1 Oct 2010 23:52:25 +0000 (23:52 +0000)]
When RemoveCopyByCommutingDef is creating additional identity copies, just use
LiveInterval::MergeValueNumberInto instead of trying to extend LiveRanges and
getting it wrong.
This fixed PR8249 where a valno with a multi-segment live range was defined by
an identity copy created by RemoveCopyByCommutingDef. Some of the live
segments disappeared.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115385
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 1 Oct 2010 23:52:22 +0000 (23:52 +0000)]
Pretty up the debug output during RemoveCopyByCommutingDef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115384
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 1 Oct 2010 23:31:40 +0000 (23:31 +0000)]
Add support to let FE mark explict methods as explict in debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115378
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Oct 2010 23:29:12 +0000 (23:29 +0000)]
Nuke trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115377
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Oct 2010 23:27:48 +0000 (23:27 +0000)]
PrintSpecial() can go away now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115376
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 1 Oct 2010 23:24:42 +0000 (23:24 +0000)]
Stub out constant GV handling, fixes C++ eh tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115375
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Oct 2010 23:21:38 +0000 (23:21 +0000)]
Nuke the rest of the :comment references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115373
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Oct 2010 23:09:33 +0000 (23:09 +0000)]
Nuke a bunch of no-longer-needed comment-only asm strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115370
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Oct 2010 22:57:18 +0000 (22:57 +0000)]
Now that the asmprinter itself isn't in the subdir, rename 'AsmPrinter' to
'InstPrinter' to fall into line with the other MC-ized assembly printer
using targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115367
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 1 Oct 2010 22:52:29 +0000 (22:52 +0000)]
Fix r115332: correctly model AGU / NEON mux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115365
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 1 Oct 2010 22:45:50 +0000 (22:45 +0000)]
Thread the determination of branch prediction hit rates back through the if-conversion heuristic APIs. For now,
stick with a constant estimate of 90% (branch predictors are good!), but we might find that we want to provide
more nuanced estimates in the future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115364
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Oct 2010 22:45:38 +0000 (22:45 +0000)]
Move the asmprinter and MC lowering out of the AsmPrinter (soon to be
InstPrinter) subdir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115363
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 1 Oct 2010 22:45:00 +0000 (22:45 +0000)]
Fix block descriptor documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115362
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Oct 2010 22:39:28 +0000 (22:39 +0000)]
Rename the AsmPrinter directory to InstPrinter for those targets that have
been MC-ized for assembly printing. MSP430 is mostly so, but still has the
asm printer and lowering code in the printer subdir for the moment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115360
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Oct 2010 22:32:12 +0000 (22:32 +0000)]
Remove self-described temporary hack. A bit over a year seems a reasonable
delay. Anton and PIC16 folks, if this is still good to keep, please go ahead
and add it back in with an updated comment about when would be a good time
to revisit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115358
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 1 Oct 2010 21:48:06 +0000 (21:48 +0000)]
Fix scheduling infor for vmovn and vshrn which I broke accidentially.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115354
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 1 Oct 2010 21:40:30 +0000 (21:40 +0000)]
Add operand cycles for vldr / vstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115353
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 1 Oct 2010 21:39:35 +0000 (21:39 +0000)]
Need to specify SSE4 for machines which don't have SSE4. The code checked for is generated by SSE4. Otherwise, we get something else.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115352
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 1 Oct 2010 21:33:12 +0000 (21:33 +0000)]
Direct calls only for arm fast isel for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115350
91177308-0d34-0410-b5e6-
96231b3b80d8