Anton Korobeynikov
d233af8049
RMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and disable some tests until it will be clever enough to handle them.
...
llvm-svn: 84775
2009-10-21 19:17:55 +00:00
Anton Korobeynikov
6329ddd231
Implement branch folding
...
llvm-svn: 84774
2009-10-21 19:17:18 +00:00
Anton Korobeynikov
c9ed87ea9a
Cosmetic changes, no functionality changes
...
llvm-svn: 84773
2009-10-21 19:16:49 +00:00
Victor Hernandez
0996619220
Make changes to rev 84292 as requested by Chris Lattner.
...
Most changes are cleanup, but there is 1 correctness fix:
I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects).
llvm-svn: 84772
2009-10-21 19:11:40 +00:00
Bob Wilson
41f94edfb0
Fix NEON VST2LN instruction encoding.
...
Patch by Johnny Chen.
llvm-svn: 84767
2009-10-21 17:54:01 +00:00
Bob Wilson
5f9ea75e2b
Revert 84732. It was the wrong fix.
...
llvm-svn: 84766
2009-10-21 17:52:34 +00:00
Devang Patel
7137e5f065
Incorporate various suggestions Chris gave during metadata review.
...
- i < getNumElements() instead of getNumElements() > i
- Make setParent() private
- Fix use of resizeOperands
- Reset HasMetadata bit after removing all metadata attached to an instruction
- Efficient use of iterators
llvm-svn: 84765
2009-10-21 17:33:41 +00:00
Sanjiv Gupta
9e78b53be3
Build shared lib instead of an archive.
...
llvm-svn: 84764
2009-10-21 17:27:23 +00:00
Jim Grosbach
8b0af4b521
Cleanup of frame index scavenging. Better code flow and more accurately
...
handles T2 and ARM use cases.
llvm-svn: 84761
2009-10-21 15:26:21 +00:00
Oscar Fuentes
56b9c21b71
Two corrections for docs/CMake.html.
...
Patch by Victor Zverovich!
llvm-svn: 84759
2009-10-21 13:22:20 +00:00
Torok Edwin
a8a12b7d98
Fix PR5262: when folding select into PHI, make sure all operands are available
...
in the PHI's Basic Block. This uses a conservative approach, because we don't
have dominator info in instcombine.
llvm-svn: 84754
2009-10-21 10:49:00 +00:00
Sanjiv Gupta
d6fd961c5c
Add a pass to overlay pic16 data sections for function frame and automatic
...
variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph
to detect what function frames and their automatic variables can be overlaid.
Currently this builds an archive , but needs to be changed to a loadable module.
llvm-svn: 84753
2009-10-21 10:42:44 +00:00
Sanjiv Gupta
021ed336bd
Added more options to mcc16 driver.
...
llvm-svn: 84752
2009-10-21 10:38:59 +00:00
Evan Cheng
275a09e55d
Match more patterns to movt.
...
llvm-svn: 84751
2009-10-21 08:15:52 +00:00
Evan Cheng
69e133fd77
Need a comma after imp-use.
...
llvm-svn: 84749
2009-10-21 07:56:02 +00:00
Douglas Gregor
fecaeae94b
De-bork CMake build
...
llvm-svn: 84744
2009-10-21 06:01:54 +00:00
Chris Lattner
683419400b
Set comment string, patch by Johnny Chen!
...
llvm-svn: 84743
2009-10-21 05:07:57 +00:00
Chris Lattner
82599d2b0e
make GVN work better when TD is not around:
...
"In the existing code, if the load and the value to replace it with are
of different types *and* target data is available, it tries to use the
target data to coerce the replacement value to the type of the load.
Otherwise, it skips all effort to handle the type mismatch and just
feeds the wrongly-typed replacement value to replaceAllUsesWith, which
triggers an assertion.
The patch replaces it with an outer if checking for type mismatch, and
an inner if-else that checks whether target data is available and, if
not, returns false rather than trying to replace the load."
Patch by Kenneth Uildriks!
llvm-svn: 84739
2009-10-21 04:11:19 +00:00
Chris Lattner
690911b253
tidy
...
llvm-svn: 84738
2009-10-21 04:10:24 +00:00
Bob Wilson
02d3df4a87
Fix some more NEON instruction encoding problems.
...
Thanks to Johnny Chen for discovering the problem.
llvm-svn: 84732
2009-10-21 02:27:20 +00:00
Devang Patel
64fe3f9be0
Do not remove dead metadata for now.
...
llvm-svn: 84731
2009-10-21 02:21:34 +00:00
Bob Wilson
e85a3142bc
Leave some NEON instruction encoding bits unspecified instead of setting
...
a default value of zero. This is important for decoding the instructions.
Patch by Johnny Chen, with some changes from me, too.
llvm-svn: 84730
2009-10-21 02:15:46 +00:00
Mikhail Glushenkov
f7fe2d2ea9
Clarify documentation on multi_val options.
...
llvm-svn: 84729
2009-10-21 02:13:52 +00:00
Mikhail Glushenkov
33e504aef1
Implement any_[not_]empty and list versions of switch_on and [not_]empty.
...
Useful for OptionPreprocessor.
llvm-svn: 84728
2009-10-21 02:13:13 +00:00
Dan Gohman
c74da745a7
Revert r84658 and r84691. They were causing llvm-gcc bootstrap to fail.
...
llvm-svn: 84727
2009-10-21 01:44:44 +00:00
Chris Lattner
2363ec8194
IPSCCP is missing stuff.
...
llvm-svn: 84725
2009-10-21 01:10:37 +00:00
Bill Wendling
5736c06ae3
This is passing on Darwin PPC.
...
llvm-svn: 84723
2009-10-21 00:51:40 +00:00
Jeffrey Yasskin
4ea1de7bcf
Delete the MacOSJITEventListener per echristo's request. It was disabled by
...
default and didn't work anyway.
llvm-svn: 84720
2009-10-21 00:43:48 +00:00
Anton Korobeynikov
7c7a801467
Add note
...
llvm-svn: 84713
2009-10-21 00:14:15 +00:00
Anton Korobeynikov
f7e27bb17e
Be crazy and assert in case of unsupported modifier passed.
...
llvm-svn: 84712
2009-10-21 00:13:58 +00:00
Anton Korobeynikov
3b90c55321
Handle external symbols
...
llvm-svn: 84711
2009-10-21 00:13:42 +00:00
Anton Korobeynikov
d104087bfe
Distinguish between pcrel imm operands and 'normal' ones. Fix fixes gross weirdness of asmprinting.
...
llvm-svn: 84710
2009-10-21 00:13:25 +00:00
Anton Korobeynikov
c35bd58bd5
Add basic block operands & jump kinds
...
llvm-svn: 84709
2009-10-21 00:13:05 +00:00
Anton Korobeynikov
2bcb24c40b
Ignore all implicit reg operands
...
llvm-svn: 84708
2009-10-21 00:12:44 +00:00
Anton Korobeynikov
f3003dfcd1
Add a workaround for different memops prefixes
...
llvm-svn: 84707
2009-10-21 00:12:27 +00:00
Anton Korobeynikov
af4c4ee8f5
Checkpoint MCInst printer. We (almostly) able to print global / JT / constpool entries
...
llvm-svn: 84706
2009-10-21 00:12:08 +00:00
Anton Korobeynikov
172b91c273
Add reg-imm tests
...
llvm-svn: 84705
2009-10-21 00:11:44 +00:00
Anton Korobeynikov
5a6771aab2
Add simple operand printing stuff
...
llvm-svn: 84704
2009-10-21 00:11:27 +00:00
Anton Korobeynikov
8b01906b63
Add experimental MSP430 MCInstLowering stuff
...
llvm-svn: 84703
2009-10-21 00:11:08 +00:00
Anton Korobeynikov
0c059394ac
Wire up MSP430 printMCInst() method
...
llvm-svn: 84702
2009-10-21 00:10:47 +00:00
Anton Korobeynikov
a534ef3f63
Add MSP430 InstPrinter stub
...
llvm-svn: 84701
2009-10-21 00:10:30 +00:00
Anton Korobeynikov
8dc97f136b
Use proper target data
...
llvm-svn: 84700
2009-10-21 00:10:00 +00:00
David Goodwin
90fcfc5f88
Respect src register allocation requirements when breaking anti-dependencies. Remove some dead code.
...
llvm-svn: 84691
2009-10-20 22:50:43 +00:00
Devang Patel
7edc7aa34d
Cosmetic changes.
...
s/validName/isValidName/g
s/with an Instruction/to an Instruction/g
s/RegisterMDKind/registerMDKind/g
llvm-svn: 84689
2009-10-20 22:50:27 +00:00
Daniel Dunbar
502e00c5b9
Fix -Asserts warning.
...
llvm-svn: 84687
2009-10-20 22:10:05 +00:00
Anton Korobeynikov
7b6fe9f251
Fix invalid for vector types fneg(bitconvert(x)) => bitconvert(x ^ sign)
...
transform.
llvm-svn: 84683
2009-10-20 21:37:45 +00:00
Lang Hames
5ab1db4859
Oops. Backing out 84681 - needs to wait for the indexing patch.
...
llvm-svn: 84682
2009-10-20 21:28:22 +00:00
Lang Hames
0a7caf4bb3
Added some debugging output to pre-alloc splitting.
...
llvm-svn: 84681
2009-10-20 21:25:13 +00:00
Chris Lattner
882034fdaf
add a real testcase for PR4313
...
llvm-svn: 84676
2009-10-20 21:04:26 +00:00
Chris Lattner
0737ccf048
add a test similar to that needed for PR4313, but that doesn't
...
fail without the patch.
llvm-svn: 84675
2009-10-20 21:00:47 +00:00