Commit Graph

55549 Commits

Author SHA1 Message Date
David Greene
47695623c5 Change errs() to dbgs().
llvm-svn: 92529
2010-01-04 22:49:02 +00:00
David Greene
5f0560aeb8 Change errs() to dbgs().
llvm-svn: 92528
2010-01-04 22:41:43 +00:00
David Greene
593fd246ac Change errs() to dbgs().
llvm-svn: 92524
2010-01-04 22:33:16 +00:00
Daniel Dunbar
3e856e5f8f tblgen/OptParser: Use EmitSourceFileHeader.
llvm-svn: 92521
2010-01-04 22:03:51 +00:00
David Greene
8d04d65a84 Change errs() to dbgs().
llvm-svn: 92520
2010-01-04 22:02:01 +00:00
Douglas Gregor
57be824b19 Fix CMake build for InstCombine changes
llvm-svn: 92519
2010-01-04 21:58:55 +00:00
David Greene
56dd445b5f Change errs() to dbgs().
llvm-svn: 92518
2010-01-04 21:48:34 +00:00
David Greene
42bc25814f Change errs() to dbgs().
llvm-svn: 92516
2010-01-04 21:35:15 +00:00
David Greene
d43c9cad00 Change errs() to dbgs().
llvm-svn: 92515
2010-01-04 21:26:07 +00:00
Dan Gohman
73b0882c6e Make this test more portable.
llvm-svn: 92514
2010-01-04 21:23:34 +00:00
Evan Cheng
275a43dadb Perform this folding as a target specific dag combine:
(or (x << c) | (y >> (64 - c))) ==> (shld64 x, y, c)

The isel patterns may not catch all the cases if general dag combine has reduced width of source operands.

llvm-svn: 92513
2010-01-04 21:22:48 +00:00
Dan Gohman
2754bdcfdb Use a pointer type rather than MVT::Other for the ExternalSymbol node used
in an inline asm.

llvm-svn: 92512
2010-01-04 21:00:54 +00:00
Dan Gohman
f5f090c2c5 Remove some README.txt entries which are now implemented.
llvm-svn: 92511
2010-01-04 20:55:05 +00:00
Devang Patel
e04ac70892 Remove oversimplified test case.
llvm-svn: 92510
2010-01-04 20:54:06 +00:00
Dan Gohman
b71bc40eed Add some tests and update an existing test to reflect recent
x86 isel peeps.

llvm-svn: 92509
2010-01-04 20:53:54 +00:00
Dan Gohman
5f107150ed A use by operand 1 or 2 of a SELECT is not a FLAGS use. This
lets the test-elimination work in more conditional-move cases.

llvm-svn: 92508
2010-01-04 20:52:50 +00:00
Dan Gohman
f87ad693cf Flags-producing add, and, or, etc. have the same profibility
rules as normal add, and, or, etc.

llvm-svn: 92507
2010-01-04 20:51:50 +00:00
Dan Gohman
29583f656d Add SDNPCommutative and SDNPAssociative to several X86 target nodes.
This lets isel fold loads into them in more cases.

llvm-svn: 92506
2010-01-04 20:51:05 +00:00
Devang Patel
23fa5c982d Fix begin and end markers for nested scopes.
llvm-svn: 92505
2010-01-04 20:44:00 +00:00
Dan Gohman
a89531ec4f Replace some special-case code which probably was buggy with an assertion
verifying that the special case does not occur.

llvm-svn: 92504
2010-01-04 20:36:57 +00:00
Dan Gohman
f47c2a2335 Remove the CPAttrParentAsRoot code, which is unused, and inconvenient
for a refactoring I'm working on.

llvm-svn: 92503
2010-01-04 20:31:55 +00:00
David Greene
ff1cb647fb Change errs() to dbgs().
llvm-svn: 92502
2010-01-04 19:57:26 +00:00
Devang Patel
46d7029a91 The test, derived from optimzed IR, does not mention "bar" in debug info anywhere so the dwarf writer is not expected to emit any debug info for function "bar".
llvm-svn: 92499
2010-01-04 19:41:13 +00:00
David Greene
1c49766403 Change errs() to dbgs().
llvm-svn: 92498
2010-01-04 19:36:42 +00:00
David Greene
11dfd04083 Change errs() to dbgs().
llvm-svn: 92496
2010-01-04 19:10:20 +00:00
Chris Lattner
3b060b2d41 Truncate GEP indexes larger than the pointer size down to pointer size
when doing this transform if the GEP is not inbounds.  No testcase because
it is very difficult to trigger this: instcombine already canonicalizes
GEP indices to pointer size, so it relies specific permutations of the
instcombine worklist.

Thanks to Duncan for pointing this possible problem out.

llvm-svn: 92495
2010-01-04 18:57:15 +00:00
Chris Lattner
8304a93ff4 silence a bogus 'might be used uninit' warning from GCC.
llvm-svn: 92494
2010-01-04 18:48:26 +00:00
Dan Gohman
4a8e4ee52a Add a comment.
llvm-svn: 92492
2010-01-04 18:38:39 +00:00
David Greene
c6beea09c5 Change errs() to dbgs().
llvm-svn: 92490
2010-01-04 17:47:05 +00:00
Anton Korobeynikov
3915cf5ef4 Fix invalid chain folding for memory variant of sdiv / udiv
llvm-svn: 92472
2010-01-04 10:31:54 +00:00
Chris Lattner
e19878577c move some more cast-related stuff
llvm-svn: 92471
2010-01-04 07:59:07 +00:00
Mikhail Glushenkov
38e36d577a 80-col violations, trailing whitespace.
llvm-svn: 92470
2010-01-04 07:55:25 +00:00
Chris Lattner
f9920fbac9 move the [Can]EvaluateInDifferentType functions out to InstCombineCasts.cpp
llvm-svn: 92469
2010-01-04 07:54:59 +00:00
Chris Lattner
7a5037baf5 split 943 lines of instcombine out to a new InstCombineCasts.cpp
file.  InstructionCombining.cpp is now down to a svelte 9300 lines :)

llvm-svn: 92468
2010-01-04 07:53:58 +00:00
Chris Lattner
fed736376e split instcombine of compares (visit[FI]Cmp) out to
a new InstCombineCompares.cpp file.

llvm-svn: 92467
2010-01-04 07:37:31 +00:00
Chris Lattner
176c21d33e update cmakefile
llvm-svn: 92466
2010-01-04 07:19:55 +00:00
Chris Lattner
fbcc4eb5a5 move the 'SimplifyDemandedFoo' methods out to their own file, cutting 1K lines out of instcombine.cpp
llvm-svn: 92465
2010-01-04 07:17:19 +00:00
Mikhail Glushenkov
a73e92b400 Fix the Emacs mode string.
Also trailing whitespace & 80-col violations.

llvm-svn: 92464
2010-01-04 07:16:12 +00:00
Chris Lattner
cf0889fda3 split the instcombine class definition out to a header shared
among the instcombine library.

llvm-svn: 92463
2010-01-04 07:12:23 +00:00
Chris Lattner
cb0fe8a20b remove a ton of unneeded LLVMContext stuff.
llvm-svn: 92462
2010-01-04 07:02:48 +00:00
Chris Lattner
ec9a1ab1bb move InstCombineWorklist out to its own header.
llvm-svn: 92461
2010-01-04 06:30:00 +00:00
Chris Lattner
2e86be5607 forgot to svn add these.
llvm-svn: 92460
2010-01-04 06:28:20 +00:00
Chris Lattner
2d9948f5f1 move instcombine to its own library, it's past time.
llvm-svn: 92459
2010-01-04 06:23:24 +00:00
Chris Lattner
ce3f5f3448 implement an instcombine xform needed by clang's codegen
on the example in PR4216.  This doesn't trigger in the testsuite,
so I'd really appreciate someone scrutinizing the logic for
correctness.

llvm-svn: 92458
2010-01-04 06:03:59 +00:00
Chris Lattner
8e83066d12 fix PR5930, allowing the asmprinter to emit difference between
two labels as a truncate.

llvm-svn: 92455
2010-01-03 18:33:18 +00:00
Chris Lattner
80802043f4 it isn't safe to speculative load from a malloc, it might have
returned null, and may not have been big enough in any case.  
Thanks to Jay Foad for pointing this out!

llvm-svn: 92452
2010-01-03 18:14:24 +00:00
Chris Lattner
49cda26f7e add PR#
llvm-svn: 92451
2010-01-03 18:10:58 +00:00
Chris Lattner
7246a69d2b differences between two blockaddress's don't cause a
global variable initializer to require relocations.

llvm-svn: 92450
2010-01-03 18:09:40 +00:00
Chris Lattner
eb68b810a8 pull my debug hooks out, I'm done with this xform for now.
llvm-svn: 92446
2010-01-03 06:58:48 +00:00
Nick Lewycky
ebb78c871c Small cleanups, refactor some duplicated code into a single method. No
functionality change.

llvm-svn: 92445
2010-01-03 04:39:07 +00:00