1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

56990 Commits

Author SHA1 Message Date
Jim Grosbach
bdc0ff13db Radar 7417921
tMOVCCi pattern only valid for low registers, as the Thumb1 mov immediate to
register instruction only works with low registers. Allowing high registers
for the instruction resulted in the assembler choosing the wide (32-bit)
encoding for the mov, but LLVM though the instruction was only 16 bits wide,
so offset calculations for constant pools became incorrect, leading to
out of range constant pool entries.

llvm-svn: 95686
2010-02-09 19:51:37 +00:00
Jeffrey Yasskin
42bf811d65 Add support for TypeBuilder<const/volatile void*, false>.
Thanks to Jochen Wilhelmy for the suggestion!

llvm-svn: 95677
2010-02-09 19:07:19 +00:00
Eric Christopher
871cf7bce2 Pull these back out, they're a little too aggressive and time
consuming for a simple optimization.

llvm-svn: 95671
2010-02-09 17:29:18 +00:00
Jakob Stoklund Olesen
e307c6e94b Oops.
llvm-svn: 95670
2010-02-09 17:24:21 +00:00
Johnny Chen
de3621cfa8 Added vcvtb/vcvtt (between half-precision and single-precision, VFP).
For disassembly only.

A8.6.300

llvm-svn: 95669
2010-02-09 17:21:56 +00:00
Jakob Stoklund Olesen
70aa88d977 Remember to update live-in lists when coalescing physregs.
Patch by M Wahab!

llvm-svn: 95668
2010-02-09 17:20:11 +00:00
Jakob Stoklund Olesen
2a84a7ccbd clang test suite
llvm-svn: 95667
2010-02-09 17:20:03 +00:00
Dan Gohman
4346bb14f7 Mention IndVarSimplify in the comment by getSmallConstantTripCount, as
is done for getTripCount.

llvm-svn: 95666
2010-02-09 17:00:40 +00:00
Dan Gohman
3e13fc968d Mention vAny and iPTRAny in a comment.
llvm-svn: 95665
2010-02-09 16:59:14 +00:00
Chris Lattner
340fe1f187 move tests that depend on the x86 backend out of codegen/generic,
and remove a few old and unreduced ones.  Fixes PR5624. 

llvm-svn: 95656
2010-02-09 06:41:03 +00:00
Chris Lattner
fdb9fda4af make target independent.
llvm-svn: 95655
2010-02-09 06:36:30 +00:00
Chris Lattner
28b79c686d merge a target-specific add test into x86 directory.
llvm-svn: 95654
2010-02-09 06:35:50 +00:00
Chris Lattner
34c420d11b merge another test in, drop the trivially constant folded cases.
llvm-svn: 95653
2010-02-09 06:33:27 +00:00
Chris Lattner
ddb2e5a05c consolidate and filecheckize two tests.
llvm-svn: 95652
2010-02-09 06:24:00 +00:00
Chris Lattner
e669789912 merge two tests, make target independent.
llvm-svn: 95651
2010-02-09 06:19:20 +00:00
Chris Lattner
c4c733b815 move PR3462 to here.
llvm-svn: 95650
2010-02-09 05:55:14 +00:00
Chris Lattner
7c64c9ca21 add a note from PR6194
llvm-svn: 95649
2010-02-09 05:45:29 +00:00
Dale Johannesen
cfb0894dba Skip DEBUG_VALUE in some places where it was affecting codegen.
llvm-svn: 95647
2010-02-09 02:01:46 +00:00
Devang Patel
d381c20ee7 Add declaration attribute to a variable DIE, if there is a separate DIE for the definition.
llvm-svn: 95646
2010-02-09 01:58:33 +00:00
Sean Callanan
4ea988636a Updated the enhanced disassembly library to produce
whitespace tokens in the right places.

llvm-svn: 95645
2010-02-09 01:50:54 +00:00
Chris Lattner
fbda857b5c fix llvm_build_struct_gep for PR6167, patch by
Peter Hawkins!

llvm-svn: 95644
2010-02-09 01:39:46 +00:00
Chris Lattner
f6d9c1f90c simplify this code, duh.
llvm-svn: 95643
2010-02-09 01:14:06 +00:00
Chris Lattner
26b712379f fix PR6193, only considering sign extensions *from i1* for this
xform.

llvm-svn: 95642
2010-02-09 01:12:41 +00:00
Eric Christopher
1ff7f162e2 Add file in here too.
llvm-svn: 95641
2010-02-09 01:11:03 +00:00
Sean Callanan
97fa88ebf2 Fixed a problem where the enhanced disassembly
library was reporting inaccurate token IDs.

llvm-svn: 95639
2010-02-09 01:00:18 +00:00
Chris Lattner
18fed3c934 make -show-inst be formatted a bit nicer. Before:
movl	$3735928559, a          ## inst: <MCInst 1273 <MCOperand Reg:0> <MCOperand Imm:1> <MCOperand Reg:0> <MCOperand Expr:(a)> <MCOperand Reg:0> <MCOperand Expr:(3735928559)>>

after:

	movl	$3735928559, a          ## <MCInst #1273
                                        ##   <MCOperand Reg:0>
                                        ##   <MCOperand Imm:1>
                                        ##   <MCOperand Reg:0>
                                        ##   <MCOperand Expr:(a)>
                                        ##   <MCOperand Reg:0>
                                        ##   <MCOperand Expr:(3735928559)>>

llvm-svn: 95637
2010-02-09 00:54:51 +00:00
Lang Hames
796e4c2b4a Fixed a bug in the PBQP allocator's findCoalesces method.
Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with.

llvm-svn: 95636
2010-02-09 00:50:27 +00:00
Chris Lattner
682f64dc8d Implement x86 asm parsing support for %st and %st(4)
llvm-svn: 95634
2010-02-09 00:49:22 +00:00
Lang Hames
47fb92c5e7 Added copy sensible construction & assignment to PBQP graphs and fixed a memory access bug in the heuristic solver.
llvm-svn: 95633
2010-02-09 00:45:48 +00:00
Dale Johannesen
3f7ce68506 Debug operands should not be def or kill.
llvm-svn: 95632
2010-02-09 00:42:08 +00:00
Lang Hames
91b4cae53c Changed the definition of an "invalid" slot to include the empty & tombstone values, but not zero.
llvm-svn: 95631
2010-02-09 00:41:23 +00:00
Chris Lattner
c0d3e6c90d stop using reserved identifiers.
llvm-svn: 95630
2010-02-09 00:40:07 +00:00
Eric Christopher
428b385575 Add a new pass to do llvm.objsize lowering using SCEV.
Initial skeleton and SCEVUnknown lowering implemented,
the rest should come relatively quickly.  Move testcase
to new directory.

Move pass to right before SimplifyLibCalls - which is
moved down a bit so we can take advantage of a few opts.

llvm-svn: 95628
2010-02-09 00:35:38 +00:00
Chris Lattner
804c2270c7 pass stringref by value instead of by const&
llvm-svn: 95627
2010-02-09 00:34:28 +00:00
Dan Gohman
71551e837f Add explicit keywords.
llvm-svn: 95626
2010-02-09 00:29:29 +00:00
Chris Lattner
dbbd13f825 move PR6212 to this file.
llvm-svn: 95624
2010-02-09 00:11:10 +00:00
Chris Lattner
4d97e42ba6 enhance bits_storage to work with enums by using a c-style
cast instead of reinterpret_cast, fixing PR6243.  Apparently
reinterpret_cast and I aren't getting along today.

llvm-svn: 95622
2010-02-09 00:05:45 +00:00
Dan Gohman
d19999d757 Implement AsmPrinter support for several more operators which have
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.

llvm-svn: 95620
2010-02-09 00:02:37 +00:00
Dan Gohman
30845777be Document that MCExpr::Mod is actually remainder.
Document that MCExpr::Div, Mod, and the comparison operators are all
signed operators.

Document that the comparison operators' results are target-dependent.

Document that the behavior of shr is target-dependent.

llvm-svn: 95619
2010-02-08 23:58:47 +00:00
Chris Lattner
9635fe03ca fix some problems handling large vectors reported in PR6230
llvm-svn: 95616
2010-02-08 23:56:03 +00:00
Chris Lattner
1492d5c447 this is done, tested by CodeGen/ARM/iabs.ll
llvm-svn: 95609
2010-02-08 23:48:10 +00:00
Chris Lattner
20be5fb012 convert to filecheck.
llvm-svn: 95608
2010-02-08 23:47:34 +00:00
Sean Callanan
dee7f5dcd4 Added header file declarations and .exports entries
for the new APIs offered by the enhanced disassembler
for inspecting operands.

llvm-svn: 95606
2010-02-08 23:34:25 +00:00
Devang Patel
8f947ff5d6 test case for r95604.
llvm-svn: 95605
2010-02-08 23:27:46 +00:00
Jim Grosbach
a7e098af3b tighten up eh.setjmp sequence a bit.
llvm-svn: 95603
2010-02-08 23:22:00 +00:00
Chris Lattner
32fa6adff6 now that @GOTOFF is no longer represented as a suffix on a
MCSymbol, we can remove the 'suffix' argument of 
GetBlockAddressSymbol.  Do so.

llvm-svn: 95601
2010-02-08 23:10:08 +00:00
Chris Lattner
dd84f7aa7b unify the paths for external symbols and global variables:
2 files changed, 48 insertions(+), 83 deletions(-)

llvm-svn: 95599
2010-02-08 23:03:41 +00:00
Chris Lattner
bd71035318 switch the rest of the "@ concatentation" logic in the X86
backend to use X86MCTargetExpr, simplifying a bunch of code.

llvm-svn: 95595
2010-02-08 22:52:47 +00:00
Sean Callanan
219789b7fb Fixed the AT&T AsmLexer to report the proper strings
for register tokens.  Before, if it encountered
'%al,' it would report 'al,' as the token.  Now it
correctly reports '%al'.

llvm-svn: 95594
2010-02-08 22:50:23 +00:00
Chris Lattner
0b30a3f944 switch ELF @GOTOFF references to use X86MCTargetExpr.
llvm-svn: 95593
2010-02-08 22:33:55 +00:00