Commit Graph

65342 Commits

Author SHA1 Message Date
Chris Lattner 44a5a2b569 move various pattern matching support goop out of X86Instr64Bit, to live
with the 32-bit stuff.

llvm-svn: 115602
2010-10-05 06:37:31 +00:00
Chris Lattner fa9b058eef split conditional moves and setcc's out to their own file.
llvm-svn: 115601
2010-10-05 06:33:16 +00:00
Chris Lattner f9594ba4e7 move string pseudo instructions to InstrCompiler consolidate 64-bit and 32-bit together.
llvm-svn: 115600
2010-10-05 06:27:48 +00:00
Chris Lattner c184a57e98 move the atomic pseudo instructions out to X86InstrCompiler.td
llvm-svn: 115599
2010-10-05 06:22:35 +00:00
Chris Lattner c793f8bca6 move more pseudo instructions out to X86InstrCompiler.td
llvm-svn: 115598
2010-10-05 06:10:16 +00:00
Chris Lattner 52d3935dfe move VMX instructions out to their own file.
llvm-svn: 115597
2010-10-05 06:06:53 +00:00
Chris Lattner ae33f5d93b continue moving stuff out to X86InstrSystem.td. Move
control flow stuff out to X86InstrControl.td.  Move
some compiler pseudo instructions and Pat<> patterns
out to X86InstrCompiler.td

llvm-svn: 115596
2010-10-05 06:04:14 +00:00
Michael J. Spencer bdd77df090 Support: Add __forceinline to Compiler.h on MSVC.
llvm-svn: 115595
2010-10-05 06:00:52 +00:00
Michael J. Spencer 70ac5fa42c fix MSVC 2010 build.
llvm-svn: 115594
2010-10-05 06:00:43 +00:00
Michael J. Spencer e7f00cbb7c Cleanup Whitespace.
llvm-svn: 115593
2010-10-05 06:00:33 +00:00
Chris Lattner dec85b8c64 refactor .td files a bit, moving system instructions out to X86InstrSystem.td
llvm-svn: 115591
2010-10-05 05:32:15 +00:00
Jim Grosbach 1e8b44e470 s/The ARM has/The ARM backend has/
llvm-svn: 115584
2010-10-05 01:00:42 +00:00
Jim Grosbach f5e294027e Update LLVMLibDeps
llvm-svn: 115583
2010-10-05 00:35:16 +00:00
Jim Grosbach a85a4e21c9 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....

llvm-svn: 115582
2010-10-05 00:34:11 +00:00
Sean Callanan 6296bbbb65 Added a testcase for the ENTER instruction.
llvm-svn: 115580
2010-10-05 00:21:40 +00:00
Sean Callanan 8d302b2e71 Fixed the disassembler to handle two new X86
instruction forms.  Now the ENTER instruction
disassembles correctly.

llvm-svn: 115573
2010-10-04 22:45:51 +00:00
Evan Cheng c8d6cfd730 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.

llvm-svn: 115571
2010-10-04 22:41:01 +00:00
Bruno Cardoso Lopes 3ae4d87d6f AVX intrinsics and builtins were also added to clang
llvm-svn: 115566
2010-10-04 22:07:22 +00:00
Douglas Gregor 7e79556d96 Spell AltiVec correctly
llvm-svn: 115560
2010-10-04 21:12:06 +00:00
Bill Wendling 402e54822b 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!

llvm-svn: 115552
2010-10-04 20:24:01 +00:00
Kevin Enderby a68d004d88 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.

llvm-svn: 115551
2010-10-04 20:17:24 +00:00
Daniel Dunbar f70898affa ReleaseNotes: Note some changes to LLVM development infrastructure.
llvm-svn: 115550
2010-10-04 20:11:41 +00:00
Daniel Dunbar efefb206a5 ReleaseNotes: Note a header rename.
llvm-svn: 115549
2010-10-04 20:11:39 +00:00
Rafael Espindola fd1fff8b19 Implement ELF::R_X86_64_GOTPCREL.
llvm-svn: 115547
2010-10-04 19:51:39 +00:00
Rafael Espindola 308363336b Move isFixupKindX86PCRel.
llvm-svn: 115545
2010-10-04 19:46:28 +00:00
Rafael Espindola baadbd554a Produce a R_X86_64_PLT32 when needed.
llvm-svn: 115541
2010-10-04 19:04:13 +00:00
Rafael Espindola b2c4ca6433 Produce a R_X86_64_GOT32 when needed.
llvm-svn: 115537
2010-10-04 18:44:25 +00:00
Gabor Greif 0d4224ef04 validator fixes; others remain, somebody who knows some html, please have a look
llvm-svn: 115526
2010-10-04 17:54:30 +00:00
Jim Grosbach 0807d0065f Remove unneeded header
llvm-svn: 115525
2010-10-04 17:53:40 +00:00
Daniel Dunbar 8fbd8aad45 Add KLEE 2.8 release notes.
llvm-svn: 115524
2010-10-04 17:39:47 +00:00
Jan Wen Voung 87f77b5f9a 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.

llvm-svn: 115523
2010-10-04 17:32:41 +00:00
Dan Gohman 8e4c19ac44 Don't add the operand count to SCEV uniquing data; FoldingSetNodeID
already knows its own length, so this is redundant.

llvm-svn: 115521
2010-10-04 17:24:08 +00:00
Daniel Dunbar 60ad0094e2 A few more random Clang release notes.
llvm-svn: 115520
2010-10-04 17:06:49 +00:00
Gabor Greif dcdbbea36d minor tweaks and typos
llvm-svn: 115518
2010-10-04 17:03:49 +00:00
Devang Patel 9fbc680c5e Fix lexical block's tag number.
llvm-svn: 115516
2010-10-04 16:51:59 +00:00
Chris Lattner dc38ad4aee scheduler update
llvm-svn: 115515
2010-10-04 16:46:07 +00:00
Chris Lattner c3e64b2c37 another tweak
llvm-svn: 115510
2010-10-04 16:06:37 +00:00
Rafael Espindola da0e3d07b2 Include the section address in the computation of the relocation.
llvm-svn: 115509
2010-10-04 15:59:01 +00:00
Rafael Espindola 7c48b06930 Correctly compute the relocation when it is not in the first fragment.
llvm-svn: 115506
2010-10-04 15:28:43 +00:00
Francois Pichet 3ae028c3b9 static_cast to long, otherwise MSVC 2008 won't compile.
llvm-svn: 115503
2010-10-04 12:31:20 +00:00
Lang Hames 4108e7e192 Removed the older style (in-allocator) problem construction system from the PBQP allocator. Problem construction is now done exclusively with the new builders.
llvm-svn: 115502
2010-10-04 12:13:07 +00:00
Duncan Sands d63e1c80ba Ada support has moved to dragonegg - I am no longer working on
Ada in llvm-gcc.

llvm-svn: 115501
2010-10-04 10:06:56 +00:00
Duncan Sands 6ad8bf6051 Fix a bunch of typos.
llvm-svn: 115500
2010-10-04 10:04:14 +00:00
Duncan Sands fb994d2f0e Altvec -> Altivec.
llvm-svn: 115499
2010-10-04 09:11:50 +00:00
Douglas Gregor 614ace674b Update LLVM 2.8 release notes for Clang
llvm-svn: 115498
2010-10-04 07:02:35 +00:00
Chris Lattner d3f45c8cf2 checkpoint, the release notes are now feature complete.
llvm-svn: 115495
2010-10-04 04:39:25 +00:00
Chris Lattner 9fd1e92de8 checkpoint
llvm-svn: 115494
2010-10-04 03:58:12 +00:00
Chris Lattner fcc65a74a7 checkpoint.
llvm-svn: 115489
2010-10-04 02:42:39 +00:00
NAKAMURA Takumi b9699070e8 Makefile.rules: Fix breakage on cygming --enable-shared.
This has been applied already in r115093 on release_28.

llvm-svn: 115487
2010-10-04 02:32:21 +00:00
Chris Lattner a7f45cf749 write Major Changes and Removed Features.
llvm-svn: 115486
2010-10-04 01:29:06 +00:00