Commit Graph

41424 Commits

Author SHA1 Message Date
Dan Gohman 3663f156f7 Fix a recent fast-isel coverage regression - don't bail out before
giving the target a chance to materialize constants.

llvm-svn: 56605
2008-09-25 01:28:51 +00:00
Dan Gohman b8e69f1755 Enable DeadMachineInstructionElim when Fast-ISel is enabled.
llvm-svn: 56604
2008-09-25 01:14:49 +00:00
Dan Gohman b873aa632c Add debug output to this pass.
llvm-svn: 56602
2008-09-25 01:06:50 +00:00
Evan Cheng 7b5a6afb44 pmovsxbq etc. requires sse4.1.
llvm-svn: 56600
2008-09-25 00:49:51 +00:00
Dan Gohman acb0554842 Refactor the code that adds standard LLVM codegen passes into
a separate function, eliminating duplication between the
add-passes-for-file and add-passes-for-machine-code code.

llvm-svn: 56599
2008-09-25 00:37:07 +00:00
Evan Cheng 2e7450716a <rdar://problem/6234798> Assertion failed: (!OpInfo.AssignedRegs.Regs.empty() && "Couldn't allocate input reg!")
llvm-svn: 56597
2008-09-25 00:14:04 +00:00
Dan Gohman 382e2ec6b7 Give LowerSubregs.cpp a top-level description.
llvm-svn: 56596
2008-09-24 23:44:12 +00:00
Evan Cheng f8ead16b50 Fix patterns for SSE4.1 move and sign extend instructions. Also add instructions which fold VZEXT_MOVL and VZEXT_LOAD.
llvm-svn: 56594
2008-09-24 23:27:55 +00:00
Evan Cheng 4751549f9b X86ISD::VZEXT_LOAD should produce and fold a chain.
llvm-svn: 56593
2008-09-24 23:26:36 +00:00
Dale Johannesen 86d421df23 Remove SelectionDag early allocation of registers
for earlyclobbers.  Teach Local RA about earlyclobber,
and add some tests for it.

llvm-svn: 56592
2008-09-24 23:13:09 +00:00
Anton Korobeynikov 2d59db7ae4 Finally get rid of virtual inheritance in TAI
llvm-svn: 56589
2008-09-24 22:23:17 +00:00
Anton Korobeynikov 3097c10347 Minor cleanup
llvm-svn: 56588
2008-09-24 22:22:54 +00:00
Anton Korobeynikov a9163feefe Get rid of virtual inheritance for ARM TAI
llvm-svn: 56587
2008-09-24 22:22:27 +00:00
Anton Korobeynikov 237f087eb9 Get rid of virtual inheritance for PPC TAI
llvm-svn: 56586
2008-09-24 22:22:03 +00:00
Anton Korobeynikov 77aa975bdd Use crazy template-based inheritance instead of virtual one.
llvm-svn: 56585
2008-09-24 22:21:39 +00:00
Anton Korobeynikov fd7faecfc2 Use helper
llvm-svn: 56584
2008-09-24 22:21:04 +00:00
Anton Korobeynikov d19e91e5a8 SmallPtrSet will be better
llvm-svn: 56583
2008-09-24 22:20:46 +00:00
Anton Korobeynikov 8e7b93938d Get rid of ReadOnlySection duplicate
llvm-svn: 56582
2008-09-24 22:20:27 +00:00
Anton Korobeynikov 91a6705839 Use named sections, where they should be
llvm-svn: 56581
2008-09-24 22:19:13 +00:00
Anton Korobeynikov 5906234c1d Get rid of now unused {Four,Eight,Sixteen}ByteConstantSection
llvm-svn: 56580
2008-09-24 22:18:54 +00:00
Anton Korobeynikov 123afb88c4 Use generic section-handling stuff to emit constant pool entries
llvm-svn: 56579
2008-09-24 22:17:59 +00:00
Anton Korobeynikov 41573b2131 Cleanup
llvm-svn: 56578
2008-09-24 22:17:27 +00:00
Anton Korobeynikov 22db30548d Get rid of duplicate char*/Section* stuff for TLS sections
llvm-svn: 56577
2008-09-24 22:17:06 +00:00
Anton Korobeynikov 1f365bbf55 Cleanup, no functionality change
llvm-svn: 56576
2008-09-24 22:16:33 +00:00
Anton Korobeynikov 7497762606 Get rid of duplicate char*/Section* DataSection
llvm-svn: 56575
2008-09-24 22:16:16 +00:00
Anton Korobeynikov f8dc8aac3c Get rid of duplicate char*/Section* TextSection
llvm-svn: 56574
2008-09-24 22:15:21 +00:00
Anton Korobeynikov 076e905b94 Move actual section printing stuff to AsmPrinter from TAI reducing heap traffic.
llvm-svn: 56573
2008-09-24 22:14:23 +00:00
Anton Korobeynikov 69ff51baa0 Drop obsolete hook and change all usage to new interface
llvm-svn: 56572
2008-09-24 22:13:07 +00:00
Anton Korobeynikov 7d002fa77b Provide direct function to switch to Section
llvm-svn: 56571
2008-09-24 22:12:10 +00:00
Anton Korobeynikov 8ac1127ed6 SPU section handling is really huge mess. Replace remaining TAI calls for sections with explicit names in order not to block existing backends during section handling migration. SPU folks! Please consider using new section handling facility someday.
llvm-svn: 56570
2008-09-24 22:11:42 +00:00
Anton Korobeynikov 69721aa85c Remove dead code for PIC16 (preparation to switch to new section handling stuff)
llvm-svn: 56569
2008-09-24 22:11:26 +00:00
Anton Korobeynikov ffecb087a3 XMM6-XMM15 are callee-saved on Win64. Patch by Nicolas Capens!
llvm-svn: 56568
2008-09-24 22:03:04 +00:00
Owen Anderson 4ef4b1a7c1 Fix off-by-one error when updating live intervals.
llvm-svn: 56567
2008-09-24 21:30:38 +00:00
Oscar Fuentes 24b43007d1 CMake: Disabled some warnings for MSVC.
llvm-svn: 56565
2008-09-24 19:27:54 +00:00
Steve Naroff a18f283d1d Add Attributes.cpp to the vcproj.
llvm-svn: 56561
2008-09-24 17:23:28 +00:00
Evan Cheng cdc0060e27 Add DisableGVCompilation which forces the JIT to assert when it tries to allocate space for a GlobalVariable.
llvm-svn: 56557
2008-09-24 16:25:55 +00:00
Bill Wendling dea91308ae Reapplying r56550
llvm-svn: 56553
2008-09-24 10:25:02 +00:00
Bill Wendling 162c26dee3 Forgot this part with my last patch. Sorry about the breakage.
llvm-svn: 56552
2008-09-24 10:16:24 +00:00
Eric Christopher 4e26a81371 Temporarily revert r56550 until missing commit can be added.
llvm-svn: 56551
2008-09-24 08:30:44 +00:00
Bill Wendling 7c31464a0b Refactor the constant folding code into it's own function. And call it from both
the SelectionDAG and DAGCombiner code. The only functionality change is that now
the DAG combiner is performing the constant folding for these operations instead
of being a no-op.

This is *not* in response to a bug, so there isn't a testcase.

llvm-svn: 56550
2008-09-24 07:11:26 +00:00
Evan Cheng 25dd4a2daf Commit CodeGenPrepare.cpp changes which was accidentially left out of 56526.
llvm-svn: 56549
2008-09-24 06:48:55 +00:00
Eric Christopher c1ea149dcd Fix fallout in CodeGenPrepare from 56526. Will likely need more work.
llvm-svn: 56546
2008-09-24 05:32:41 +00:00
Eric Christopher a867337344 Fix fallout from revision r56535.
llvm-svn: 56545
2008-09-24 04:55:49 +00:00
Oscar Fuentes ace327af3e CMake: Lists of source files updated. Removed bogus dependency from
lib/VMCore/CMakeLists.txt

llvm-svn: 56541
2008-09-24 01:58:12 +00:00
Oscar Fuentes 0d94c21a2b CMake: Removed unnecessary messages from msvc_llvm_config macro.
llvm-svn: 56540
2008-09-24 01:54:03 +00:00
Dale Johannesen c36660d756 Next round of earlyclobber handling. Approach the
RA problem by expanding the live interval of an
earlyclobber def back one slot.  Remove
overlap-earlyclobber throughout.  Remove 
earlyclobber bits and their handling from
live internals.

llvm-svn: 56539
2008-09-24 01:07:17 +00:00
Devang Patel 6402c7236f s/ParamAttrsWithIndex/FnAttributeWithIndex/g
llvm-svn: 56535
2008-09-24 00:55:02 +00:00
Evan Cheng 423b4f24c8 Test fp not.
llvm-svn: 56534
2008-09-24 00:50:16 +00:00
Devang Patel 0009505a25 s/ParamAttributeListImpl/AttributeListImpl/g
llvm-svn: 56532
2008-09-24 00:29:49 +00:00
Dan Gohman 6b33aa4d96 Refactor the logic for testing if an instruction is dead into a
separate method.

llvm-svn: 56531
2008-09-24 00:27:38 +00:00