Chris Lattner
e16b0fc3cb
Implement x86 asm parsing support for %st and %st(4)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95634 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:49:22 +00:00
Lang Hames
ddea94a819
Added copy sensible construction & assignment to PBQP graphs and fixed a memory access bug in the heuristic solver.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95633 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:45:48 +00:00
Dale Johannesen
38007ca86a
Debug operands should not be def or kill.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95632 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:42:08 +00:00
Lang Hames
e0710472c8
Changed the definition of an "invalid" slot to include the empty & tombstone values, but not zero.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95631 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:41:23 +00:00
Chris Lattner
8a872d0215
stop using reserved identifiers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95630 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:40:07 +00:00
Eric Christopher
1926b648e1
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95628 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:35:38 +00:00
Chris Lattner
b8d6e98e56
pass stringref by value instead of by const&
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95627 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:34:28 +00:00
Dan Gohman
159f527cb2
Add explicit keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95626 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:29:29 +00:00
Chris Lattner
cf031f6d66
move PR6212 to this file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95624 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:11:10 +00:00
Chris Lattner
47afe4e806
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95622 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:05:45 +00:00
Dan Gohman
5938a3e681
Implement AsmPrinter support for several more operators which have
...
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95620 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09 00:02:37 +00:00
Dan Gohman
036c130e90
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95619 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:58:47 +00:00
Chris Lattner
8609fda0f7
fix some problems handling large vectors reported in PR6230
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95616 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:56:03 +00:00
Chris Lattner
c133457269
this is done, tested by CodeGen/ARM/iabs.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95609 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:48:10 +00:00
Chris Lattner
d863b766f5
convert to filecheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95608 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:47:34 +00:00
Sean Callanan
01cd79fe1b
Added header file declarations and .exports entries
...
for the new APIs offered by the enhanced disassembler
for inspecting operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95606 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:34:25 +00:00
Devang Patel
3c280fccf9
test case for r95604.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95605 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:27:46 +00:00
Jim Grosbach
a87ded2695
tighten up eh.setjmp sequence a bit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95603 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:22:00 +00:00
Chris Lattner
9517554458
now that @GOTOFF is no longer represented as a suffix on a
...
MCSymbol, we can remove the 'suffix' argument of
GetBlockAddressSymbol. Do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95601 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:10:08 +00:00
Chris Lattner
3484110c67
unify the paths for external symbols and global variables:
...
2 files changed, 48 insertions(+), 83 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95599 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 23:03:41 +00:00
Chris Lattner
8fb2e233a0
switch the rest of the "@ concatentation" logic in the X86
...
backend to use X86MCTargetExpr, simplifying a bunch of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95595 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:52:47 +00:00
Sean Callanan
3bdbdd06c8
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'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95594 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:50:23 +00:00
Chris Lattner
017ec35e28
switch ELF @GOTOFF references to use X86MCTargetExpr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95593 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:33:55 +00:00
Dan Gohman
54e72eca0c
ConstantFoldConstantExpression can theoretically return the original
...
expression; don't go into an infinite loop if it does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95591 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:19:11 +00:00
Chris Lattner
25ceb5f317
add an x86 implementation of MCTargetExpr for
...
representing @GOT and friends. Use it for
personality references as a first use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95588 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:09:08 +00:00
Chris Lattner
df9c4380ee
don't make hte dtor private or we can't construct the class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95587 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:07:36 +00:00
Chris Lattner
3a3134ab12
use a c-style cast instead of reinterpret-cast, as sometimes the
...
cast needs to adjust for a vtable pointer when going from base to
derived type (when the base doesn't have a vtable but the
derived type does).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95585 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:05:38 +00:00
Johnny Chen
15b423f772
Add VCVTR (between floating-point and integer, VFP) for disassembly purpose.
...
The 'R' suffix means the to-integer operations use the rounding mode specified
by the FPSCR, encoded as Inst{7} = 0.
A8.6.295
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95584 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:02:41 +00:00
Dan Gohman
618f17702d
When CodeGen'ing unoptimized code, there may be unfolded constant expressions
...
in global initializers. Instead of aborting, attempt to fold them on the
spot. If folding succeeds, emit the folded expression instead.
This fixes PR6255.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95583 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:02:38 +00:00
Dan Gohman
baf0c67988
Add const qualifiers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95582 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 22:00:06 +00:00
Dale Johannesen
8ac38f2a61
Apply the 95471 fix to SelectionDAGBuilder as well;
...
we can get in here if FastISel gives up in a block.
(Actually the two copies of this need to be unified. Later.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95579 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 21:53:27 +00:00
Dan Gohman
c2e93b255e
In guaranteed tailcall mode, don't decline the tailcall optimization
...
for blocks ending in "unreachable".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95565 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 20:34:14 +00:00
Dan Gohman
1797ed50f4
Rename the PerformTailCallOpt variable to GuaranteedTailCallOpt to reflect
...
its current purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95564 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 20:27:50 +00:00
Johnny Chen
7edd8e38c4
Add VCMP (VFP floating-point compare without 'E' bit set) for disassembly purpose.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95560 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 19:41:48 +00:00
Chris Lattner
5d917a8952
add scaffolding for target-specific MCExprs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95559 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 19:41:07 +00:00
Duncan Sands
52c5e736b7
Flesh out the list of predicates, for those who like this style. I was
...
looking for isPointer, and added the rest for uniformity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95557 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 19:36:51 +00:00
Daniel Dunbar
56a04c0c34
ImmutableIntervalMap: Fix for unqualified lookup into dependent base class, done
...
by clang's -fixit! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95551 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 18:08:46 +00:00
Johnny Chen
23401d6f8c
Added VMOVRRS/VMOVSRR to ARMInstrVFP.td for disassembly purpose.
...
A8.6.331 VMOV (between two ARM core registers and two single-precision registers)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95548 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 17:26:09 +00:00
Duncan Sands
7c2da9648c
Fix some typos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95542 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 11:03:31 +00:00
Torok Edwin
acf2a65786
Fix x86 JIT stub on MSVC.
...
Thanks to Kristaps Straupe for noticing the bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95537 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 08:37:27 +00:00
Sanjiv Gupta
504b4cdc1c
Fixed build error for redefinition.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95532 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 06:08:32 +00:00
Sanjiv Gupta
90f4c914b8
Add uppercase and lowercase part defines in driver.
...
Use a temp dir with a unique name in the current dir itself.
Use forward_value instead of unpack_values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95530 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 05:56:37 +00:00
Nick Lewycky
337c6a8edd
Make the destructor for TypeMapBase protected. Spotted by Duncan Sands with
...
cppcheck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95527 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-07 21:13:46 +00:00
Duncan Sands
3dc32ed569
Give DwarfPrinter a protected (but not virtual) destructor. Cppcheck
...
warns about this base class not having a virtual destructor, but since
this class has no virtual methods and neither it or the types derived
from it has a destructor, a protected trivial destructor will do (and
shuts cppcheck up) the trick without the cost of introducing a vtable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95526 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-07 21:09:22 +00:00
Bruno Cardoso Lopes
6059b8551d
Add suport for VASTART on Mips.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95506 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-06 21:00:02 +00:00
Bruno Cardoso Lopes
b37a742333
First step towards varargs support in Mips:
...
- o32 cc must pass all arguments in A0...A3 and stack regardless
if its type (but respect the alignment).
- Store all variable arguments back to the caller stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95500 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-06 19:20:49 +00:00
Evan Cheng
00a99a3584
Run codegen dce pass for all targets at all optimization levels. Previously it's
...
only run for x86 with fastisel. I've found it being very effective in
eliminating some obvious dead code as result of formal parameter lowering
especially when tail call optimization eliminated the need for some of the loads
from fixed frame objects. It also shrinks a number of the tests. A couple of
tests no longer make sense and are now eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95493 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-06 09:07:11 +00:00
Evan Cheng
e3e86dce64
Remove a large test case that (soon will) no longer make sense.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95492 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-06 09:00:30 +00:00
Bob Wilson
5d48c6d2cb
Fix an uninitialized value. Radar 7609421.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95488 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-06 05:55:20 +00:00
Rafael Espindola
2f82ca904a
Fix alignment on ppc linux. This fixes the build of crtend.o
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95477 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-06 03:32:21 +00:00