Chris Lattner
8cb5c07514
add some nounwind's.
...
llvm-svn: 119086
2010-11-14 22:22:14 +00:00
Chris Lattner
3c8d9ea286
lower PPC::MFCRpseud when transforming to MC, avoiding calling
...
the aborting printSpecial() method. This gets us to 8 failures.
llvm-svn: 119084
2010-11-14 22:03:15 +00:00
Chris Lattner
36fad020cd
make the stubbed-out printer methods abort instead of
...
printing nothing. This gets us back up to 24 failures.
llvm-svn: 119083
2010-11-14 21:54:34 +00:00
Chris Lattner
331d966779
wire up a few more things, down to 4 test failures, all
...
about handling $stub, lo/hi etc.
llvm-svn: 119082
2010-11-14 21:51:37 +00:00
Chris Lattner
3959bd7fb4
properly wire up the instprinter to the ppc64 backend, down to 5 failures.
...
llvm-svn: 119081
2010-11-14 21:42:53 +00:00
Chris Lattner
27b65608d0
implement pretty printing support for the various pseudo
...
ops the asmprinter supported, fixing PowerPC/rlwimi2.ll
among others. Down to 20 failures.
llvm-svn: 119080
2010-11-14 21:39:51 +00:00
Chris Lattner
437623476f
Wire up symbol hi/lo printing. We don't print hi()/lo(), but this gets
...
us further along. Only 28 failures now.
llvm-svn: 119079
2010-11-14 21:33:07 +00:00
Chris Lattner
b12ecaae5a
implement basic support for symbol operand lowering,
...
and printing support for call operands. Down to 77 failures.
llvm-svn: 119078
2010-11-14 21:20:46 +00:00
Oscar Fuentes
81233fbb1d
Detect presence of AsmPrinter's. Remove some cruft too.
...
llvm-svn: 119077
2010-11-14 21:17:13 +00:00
Oscar Fuentes
24718cd14d
Updated CMake library dependencies.
...
llvm-svn: 119076
2010-11-14 21:17:08 +00:00
Chris Lattner
3bf85b2f4b
trim #includes.
...
llvm-svn: 119075
2010-11-14 21:16:04 +00:00
Chris Lattner
32848508af
switch PPC to a simplified MCInstLowering model.
...
llvm-svn: 119074
2010-11-14 21:12:33 +00:00
Rafael Espindola
59a93284d7
Fix another case of a .comm directive without a corresponding .type
...
directive.
llvm-svn: 119073
2010-11-14 21:11:16 +00:00
Chris Lattner
163fbca360
fix PPC.h to not pull in TargetMachine.h
...
llvm-svn: 119072
2010-11-14 21:09:28 +00:00
Chris Lattner
3a01d37b66
rename LowerToMCInst -> LowerARMMachineInstrToMCInst.
...
llvm-svn: 119071
2010-11-14 21:00:02 +00:00
Chris Lattner
4dac1b2742
even more simplifications. ARM MCInstLowering is now just
...
a single function instead of a class. It doesn't need the
complexity that X86 does.
llvm-svn: 119070
2010-11-14 20:58:38 +00:00
Chris Lattner
ff3afccc6d
hopefully unbreak the cmake build, patch by frits van bommel.
...
llvm-svn: 119069
2010-11-14 20:51:15 +00:00
Chris Lattner
3ebf1f315e
more shrinkification
...
llvm-svn: 119068
2010-11-14 20:41:53 +00:00
Chris Lattner
758bc06aff
more simplifications.
...
llvm-svn: 119067
2010-11-14 20:40:08 +00:00
Chris Lattner
2393da7c40
simplify and tidy up
...
llvm-svn: 119066
2010-11-14 20:31:06 +00:00
Chris Lattner
a6262cb13f
implement basic support for memory operands and crbit operands,
...
this fixes 3 more ppc tests.
llvm-svn: 119065
2010-11-14 20:22:56 +00:00
Oscar Fuentes
090b3ad054
CMakeLists.txt: removed mismatched endif predicate.
...
llvm-svn: 119064
2010-11-14 20:15:05 +00:00
Chris Lattner
3249cd7521
implement several trivial operand printers, reducing
...
failures in CodeGen/PowerPC from 120 -> 117
llvm-svn: 119063
2010-11-14 20:11:21 +00:00
Chris Lattner
8d769a7610
Implement support for printing register and immediate operands,
...
add support for darwin vs aix syntax. We now can print instructions
like this:
add r3, r3, r4
blr
and (in aix mode):
add 3, 3, 4
blr
llvm-svn: 119062
2010-11-14 20:02:39 +00:00
Chris Lattner
e137166772
stub out PPCMCInstLowering, add a new option that uses it and the new
...
instprinter when -enable-ppc-inst-printer is passed to llc.
llvm-svn: 119061
2010-11-14 19:53:02 +00:00
Rafael Espindola
1884e6d475
Fix the type of a symbol created with .comm and no corresponding .type.
...
llvm-svn: 119060
2010-11-14 19:40:55 +00:00
Chris Lattner
d045c38bf6
stub out a powerpc MCInstPrinter implementation.
...
llvm-svn: 119059
2010-11-14 19:40:38 +00:00
Chris Lattner
9cdb77382f
hopefully fix cmake as well.
...
llvm-svn: 119058
2010-11-14 19:12:57 +00:00
Chris Lattner
bae8eb410d
fix the autoconf script to detect "has asmprinter"ness of a target by
...
looking for lib/Target/*AsmPrinter.cpp. Fix llvm-config to handle targets
that don't have an explicit AsmPrinter library.
llvm-svn: 119057
2010-11-14 19:10:47 +00:00
Chris Lattner
cec3b226a4
move all the target's asmprinters into the main target. The piece
...
that should be split out is the InstPrinter (if a target is mc'ized).
This change makes all the targets be consistent.
llvm-svn: 119056
2010-11-14 18:43:56 +00:00
Duncan Sands
63e80e0593
If dom tree information is available, make it possible to pass
...
it to get better phi node simplification.
llvm-svn: 119055
2010-11-14 18:36:10 +00:00
Chris Lattner
38ca2c6f0f
move PPCAsmPrinter into the main PPC library, like ARM and X86.
...
llvm-svn: 119054
2010-11-14 18:33:33 +00:00
Chris Lattner
7e03d38bd7
fix cmake
...
llvm-svn: 119053
2010-11-14 18:27:11 +00:00
Chris Lattner
382e09bbc0
no alpha jit support.
...
llvm-svn: 119052
2010-11-14 18:25:50 +00:00
Chris Lattner
4533444a49
remove JIT support from the Alpha backend. The JIT will be moving to MC,
...
and the Alpha backend isn't MCized yet. Approved by Andrew.
llvm-svn: 119051
2010-11-14 18:24:41 +00:00
Dale Johannesen
05a7c613fa
Segregate tests by target.
...
llvm-svn: 119050
2010-11-14 18:14:32 +00:00
Chris Lattner
3e3e29381e
random acts of tidiness.
...
llvm-svn: 119049
2010-11-14 18:09:50 +00:00
Duncan Sands
617030ad18
Teach InstructionSimplify about phi nodes. I chose to have it simply
...
offload the work to hasConstantValue rather than do something more
complicated (such handling mutually recursive phis) because (1) it is
not clear it is worth it; and (2) if it is worth it, maybe such logic
would be better placed in hasConstantValue. Adjust some GVN tests
which are now cleaned up much further (eg: all phi nodes are removed).
llvm-svn: 119043
2010-11-14 13:30:18 +00:00
Duncan Sands
9a914e2b5e
Boost the power of phi node constant folding slightly: if all
...
operands are the phi node itself or undef, then return undef.
This logic already existed at a higher level so in practice it
shouldn't make the slightest difference. Note that this code
could be replaced by a call to PN->hasConstantValue(). However
since we bail out the moment we see a non-constant operand, it
is more efficient to have a specialized version of that logic.
llvm-svn: 119041
2010-11-14 12:53:18 +00:00
NAKAMURA Takumi
091345de13
unittests/CMakeLists.txt: Add missing VMCore/ValueMapTest.cpp to VMCoreTests.
...
llvm-svn: 119040
2010-11-14 12:37:51 +00:00
Duncan Sands
ab39985d42
Strip trailing whitespace.
...
llvm-svn: 119038
2010-11-14 11:23:23 +00:00
Chris Lattner
7ade54ed02
rename test.
...
llvm-svn: 119033
2010-11-14 07:03:49 +00:00
Chris Lattner
9b45357c09
filecheckize, remove an old and useless test
...
llvm-svn: 119032
2010-11-14 07:03:38 +00:00
Chris Lattner
449c3bd7b5
this test is pretty pointless and "propogation" isn't a word (or so Misha claims).
...
llvm-svn: 119031
2010-11-14 07:02:03 +00:00
Owen Anderson
ad4f83df6a
Second attempt at providing correct encodings for Thumb2 binary operators.
...
llvm-svn: 119029
2010-11-14 05:37:38 +00:00
Rafael Espindola
444d9c0b02
Handle a peculiar comdat case: Creating a section with an undefined
...
signature symbol causes a local symbol to be created unless there is
some other use of the symbol.
llvm-svn: 119026
2010-11-14 04:17:37 +00:00
NAKAMURA Takumi
44e935f199
FileCheck: Eliminate DOSish \r from input file.
...
It can pass two tests below on Win32.
- Clang :: CodeGenCXX/dyncast.cpp
- LLVM :: CodeGen/ARM/globals.ll
llvm-svn: 119023
2010-11-14 03:28:22 +00:00
Rafael Espindola
55e673b1c2
Simplify getSymbolIndexInSymbolTable by setting the actual index of
...
the symbols.
llvm-svn: 119022
2010-11-14 03:12:24 +00:00
Rafael Espindola
1b4c835948
Fix warning.
...
llvm-svn: 119021
2010-11-14 01:34:31 +00:00
Duncan Sands
47dddbe925
Testcase to go along with commit 118923 ("Have GVN simplify instructions
...
as it goes"). Before -std-compile-opts only got it down to
%a = tail call i32 @foo(i32 0) readnone
%x = tail call i32 @foo(i32 %a) readnone
%y = tail call i32 @foo(i32 %a) readnone
%z = icmp eq i32 %x, %y
ret i1 %z
while now -basicaa -gvn alone reduce it to
%a = call i32 @foo(i32 0) readnone
%x = call i32 @foo(i32 %a) readnone
ret i1 true
llvm-svn: 119009
2010-11-13 21:33:19 +00:00