Evan Cheng [Thu, 8 Apr 2010 01:03:47 +0000 (01:03 +0000)]
Make post regalloc machine licm functional. It now passes all of MultiSource.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 00:54:34 +0000 (00:54 +0000)]
typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100738
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 00:53:57 +0000 (00:53 +0000)]
document isvolatile etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100737
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Apr 2010 00:52:02 +0000 (00:52 +0000)]
mpsadbw is not commutative.
Fixes PR3440.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100736
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Thu, 8 Apr 2010 00:48:21 +0000 (00:48 +0000)]
Added support for ARM disassembly to edis.
I also added a rule to the ARM target's Makefile to
build the ARM-specific instruction information table
for the enhanced disassembler.
I will add the test harness for all this stuff in
a separate commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100735
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 00:09:16 +0000 (00:09 +0000)]
convert a report_fatal_error that I was able to trigger into a nice error
so the user at least knows what inline asm is a problem. For example:
error: inline asm not supported yet: don't know how to handle tied indirect register inputs
pr8788-1.c:14:10: note: generated from here
asm ("\n" : "+r" (stack->regs)
^
Instead of:
fatal error: error in backend: Don't know how to handle tied indirect register inputs yet!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100731
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Apr 2010 23:51:38 +0000 (23:51 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 23:50:38 +0000 (23:50 +0000)]
minor tidying.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100725
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 23:47:51 +0000 (23:47 +0000)]
use assertions instead of unreachable for logic errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100724
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 23:40:44 +0000 (23:40 +0000)]
introduce a new recoverable error handling API to LLVMContext
and use it in one place in inline asm handling stuff. Before
we'd generate this for an invalid modifier letter:
$ clang asm.c -c -o t.o
fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}'
INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>,
2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1>
Now we generate this:
$ clang asm.c -c -o t.o
error: invalid operand in inline asm: 'incl ${0:Z}'
asm.c:3:12: note: generated from here
__asm__ ("incl %Z0" : "+r" (X));
^
1 error generated.
This is much better but still admittedly not great ("why" is the operand
invalid??), codegen should try harder with its diagnostics :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Apr 2010 23:22:42 +0000 (23:22 +0000)]
Say bitcast instead of bitconvert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100720
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Apr 2010 23:19:41 +0000 (23:19 +0000)]
Add svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 23:12:29 +0000 (23:12 +0000)]
rename llvm_install_error_handler -> install_fatal_error_handler
and friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100717
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 Apr 2010 23:05:23 +0000 (23:05 +0000)]
Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100714
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 7 Apr 2010 23:01:37 +0000 (23:01 +0000)]
Update cmake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100713
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 7 Apr 2010 23:00:07 +0000 (23:00 +0000)]
Add support for stpncpy_chk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100710
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 22:58:41 +0000 (22:58 +0000)]
rename llvm::llvm_report_error -> llvm::report_fatal_error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 22:54:55 +0000 (22:54 +0000)]
add newlines at end of files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100706
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 22:53:17 +0000 (22:53 +0000)]
add newlines at the end of files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100705
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 22:44:07 +0000 (22:44 +0000)]
remove some unneeded errorhandling stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100703
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 22:41:29 +0000 (22:41 +0000)]
minor tidying up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100702
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 22:29:10 +0000 (22:29 +0000)]
tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100700
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Apr 2010 22:27:08 +0000 (22:27 +0000)]
Generalize IVUsers to track arbitrary expressions rather than expressions
explicitly split into stride-and-offset pairs. Also, add the
ability to track multiple post-increment loops on the same expression.
This refines the concept of "normalizing" SCEV expressions used for
to post-increment uses, and introduces a dedicated utility routine for
normalizing and denormalizing expressions.
This fixes the expansion of expressions which are post-increment users
of more than one loop at a time. More broadly, this takes LSR another
step closer to being able to reason about more than one loop at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100699
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 7 Apr 2010 22:21:03 +0000 (22:21 +0000)]
Missed this one line for the previous checkin to fix build warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100697
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 7 Apr 2010 22:03:27 +0000 (22:03 +0000)]
Fixed warnings pointed out by clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100696
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 7 Apr 2010 21:52:48 +0000 (21:52 +0000)]
Fixed warnings pointed out by clang.
Next to work on is ARMDisassemblerCore.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100695
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 7 Apr 2010 21:42:19 +0000 (21:42 +0000)]
Fixed a bug where the disassembler would allow an immediate
argument that had to be between 0 and 7 to have any value,
firing an assert later in the AsmPrinter. Now, the
disassembler rejects instructions with out-of-range values
for that immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100694
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 7 Apr 2010 21:23:48 +0000 (21:23 +0000)]
Fixed 3 warnings pointed out by clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100693
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 7 Apr 2010 21:19:41 +0000 (21:19 +0000)]
unXFAIL, arm disassembler was reenabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100692
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 7 Apr 2010 20:58:16 +0000 (20:58 +0000)]
Fix typo and correct comment somewhat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100691
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 7 Apr 2010 20:53:12 +0000 (20:53 +0000)]
Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call in
ARMDecoderEmitter.cpp, with FIXME comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100690
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 7 Apr 2010 20:43:35 +0000 (20:43 +0000)]
Split big test into multiple directories to cater to
those who don't build all targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100688
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 7 Apr 2010 20:29:34 +0000 (20:29 +0000)]
Added an AsmLexer for the ARM target, which uses
a simple mapping of register names to IDs to
identify register tokens.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100685
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 7 Apr 2010 20:01:24 +0000 (20:01 +0000)]
Test that DEBUG_VALUE comments come out on a variety of targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100682
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 7 Apr 2010 19:51:44 +0000 (19:51 +0000)]
Educate GetInstrSizeInBytes implementations that
DBG_VALUE does not generate code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100681
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 7 Apr 2010 18:59:26 +0000 (18:59 +0000)]
fix 80-col violations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100677
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:23:27 +0000 (18:23 +0000)]
Remove late ARM codegen optimization pass committed by accident.
It is not ready for public yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100673
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:22:11 +0000 (18:22 +0000)]
Split A8/A9 itins - they already were too big.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100672
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:22:03 +0000 (18:22 +0000)]
Add some crude itin approximation for VFP load / stores on A9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100671
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:58 +0000 (18:21 +0000)]
Add some crude approximation for neon load/store instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100670
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:52 +0000 (18:21 +0000)]
Add some A8-based approximation for instructions with unknown cycle times
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100669
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:46 +0000 (18:21 +0000)]
Move NEON-VFP domain fixer upper, so post-RA scheduler would benefit from it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100668
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:41 +0000 (18:21 +0000)]
Since tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100667
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:33 +0000 (18:21 +0000)]
Fix A8 FP NEON MAC itins
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100666
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:27 +0000 (18:21 +0000)]
A9 NEON FP itins
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100665
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:22 +0000 (18:21 +0000)]
Some permute goodness for A9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100664
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:16 +0000 (18:21 +0000)]
More shift itins for A9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100663
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:10 +0000 (18:21 +0000)]
More fixes for itins
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100662
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:04 +0000 (18:21 +0000)]
Fix invalid itins for 32-bit varians of VMLAL and friends
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100661
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:58 +0000 (18:20 +0000)]
Add MAC stuff for A9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100660
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:53 +0000 (18:20 +0000)]
Fix invalid NEON MAC itins on A8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100659
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:47 +0000 (18:20 +0000)]
Fix itins for VPAL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100658
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:42 +0000 (18:20 +0000)]
Fix itins for VABA
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100657
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:36 +0000 (18:20 +0000)]
Correct VMVN itinerary: operand is read in the second cycle, not in the first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100656
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:29 +0000 (18:20 +0000)]
More A9 itineraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100655
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:24 +0000 (18:20 +0000)]
Correct itinerary class for VPADD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100654
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:18 +0000 (18:20 +0000)]
VP{MAX, MIN} are of IIC_VSUBi4D itin class as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100653
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:13 +0000 (18:20 +0000)]
VHADD differs from VHSUB at least on A9 - the former reads both operands in the second cycle, while the latter reads second operand in first cycle. Introduce new itin classes to catch this behavior. Whether this is true for A8 as well is WIP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100652
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:07 +0000 (18:20 +0000)]
Some easy NEON scheduling goodness for A9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100651
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:02 +0000 (18:20 +0000)]
Define new itin classes for ARM <-> VFP reg moves to distinguish from NEON ops. Define proper scheduling itinerary for them on A9. A8 TRM does not specify latency for them at all :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100650
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:56 +0000 (18:19 +0000)]
FCONST{S,D} behaves the same way as FP unary instructions. This is true for both A8 and A9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100649
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:51 +0000 (18:19 +0000)]
Proper cycle times for locks, since wbck latency can be larger than fwd latency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100648
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:46 +0000 (18:19 +0000)]
Add new itin classes for FP16 <-> FP32 conversions and make uise of them for A9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100647
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:40 +0000 (18:19 +0000)]
Make use of new reserved/required scheduling stuff: introduce VFP and NEON locks to model domain cross stalls precisly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100646
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:32 +0000 (18:19 +0000)]
Initial support for different kinds of FU reservation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100645
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:24 +0000 (18:19 +0000)]
Factor out scoreboard into separate class. This way we might have several different score boards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100644
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:18 +0000 (18:19 +0000)]
Some bits of A9 scheduling: VFP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100643
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:13 +0000 (18:19 +0000)]
Separate const from non-const stuff during mergeing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100642
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:07 +0000 (18:19 +0000)]
Some initial version of global merger
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100641
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Apr 2010 18:18:42 +0000 (18:18 +0000)]
Add hook to insert late LLVM=>LLVM passes just before isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100640
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 18:13:33 +0000 (18:13 +0000)]
fix 80 col violation, patch by Alastair Lynn
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100639
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 18:10:38 +0000 (18:10 +0000)]
add a comment line that got dropped
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100638
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 18:04:56 +0000 (18:04 +0000)]
this has a pr!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100637
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 18:03:19 +0000 (18:03 +0000)]
fix a latent bug my inline asm stuff exposed:
MachineOperand::isIdenticalTo wasn't handling metadata operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100636
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 7 Apr 2010 11:23:46 +0000 (11:23 +0000)]
Remove unused method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100620
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 7 Apr 2010 10:44:46 +0000 (10:44 +0000)]
Workaround the breakage in r100616 by guarding all timers with
TimePassesIsEnabled. This should allow make check to pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100618
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 7 Apr 2010 09:28:04 +0000 (09:28 +0000)]
Use the "NamedGroupTimer" class to categorize DWARF emission better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100616
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 7 Apr 2010 09:26:51 +0000 (09:26 +0000)]
Use raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100615
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 7 Apr 2010 07:06:48 +0000 (07:06 +0000)]
Remove XFAIL for vg_leak as the leaks are fixed by 100601.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100612
91177308-0d34-0410-b5e6-
96231b3b80d8
Mon P Wang [Wed, 7 Apr 2010 06:35:53 +0000 (06:35 +0000)]
Update langref for memcpy, memmove, and memset
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100611
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Apr 2010 06:00:33 +0000 (06:00 +0000)]
Add comments for missed opportunities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100610
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Apr 2010 05:59:12 +0000 (05:59 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100609
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 05:38:05 +0000 (05:38 +0000)]
Have the inst emitter add the !srcloc mdnode to the machine instr.
Have the asmprinter use the mdnode to scavenge a source location if
present. Document this nonsense in langref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100607
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 05:27:36 +0000 (05:27 +0000)]
remove another magic number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100606
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 05:20:54 +0000 (05:20 +0000)]
Three changes:
1. Introduce some enums and accessors in the InlineAsm class
that eliminate a ton of magic numbers when handling inline
asm SDNode.
2. Add a new MDNodeSDNode selection dag node type that holds
a MDNode (shocking!)
3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc
metadata, propagating it to the instruction emitter, which
drops it.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100605
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 04:08:57 +0000 (04:08 +0000)]
fix a crash on invalid metadata, e.g.: call i32 @foo(), XXXX
We would return the error without inserting the new instruction
into the program, so it wouldn't get deallocated, and an abort
would trigger when the module was deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100602
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 7 Apr 2010 03:36:01 +0000 (03:36 +0000)]
Fix memory leaks for external symbol name strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100601
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 7 Apr 2010 01:49:15 +0000 (01:49 +0000)]
Clean up some signedness oddities in this code noticed by clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100599
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 7 Apr 2010 01:15:14 +0000 (01:15 +0000)]
Move printing of target-indepedent DEBUG_VALUE comments
into AsmPrinter. Target-dependent form is still generated
by FastISel and still handled in X86 code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100596
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Apr 2010 00:41:17 +0000 (00:41 +0000)]
Post regalloc LICM. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100592
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Apr 2010 23:53:48 +0000 (23:53 +0000)]
Do not emit specification DIE with DW_AT_specification attribute for member functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar
7833483.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100586
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 6 Apr 2010 23:44:44 +0000 (23:44 +0000)]
Let that which does not matter truly slide.
This test only cares about alignment, so don't test for other cruft.
An upcoming llvm-gcc patch needs this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100584
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 6 Apr 2010 23:35:53 +0000 (23:35 +0000)]
Fix a number of clang -Wsign-compare warnings that didn't have an obvious
solution. The only reason these don't fire with gcc-4.2 is that gcc turns off
part of -Wsign-compare in C++ on accident.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100581
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 6 Apr 2010 22:45:26 +0000 (22:45 +0000)]
Revert 100573, it's causing some testsuite problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100578
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 6 Apr 2010 22:21:07 +0000 (22:21 +0000)]
Move printing of DEBUG_VALUE comments to target-independent place.
There is probably a more elegant way to do this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100573
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 6 Apr 2010 22:02:24 +0000 (22:02 +0000)]
Expand SELECT and SELECT_CC for NEON vector types.
Radar
7770501.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100568
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 6 Apr 2010 21:59:56 +0000 (21:59 +0000)]
Allow for the possibility that a debug-value points
to a SDNode that didn't have code generated for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100566
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Tue, 6 Apr 2010 21:38:29 +0000 (21:38 +0000)]
Reverting 100530 & 100531 due to regressions in the GDB test suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100563
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 6 Apr 2010 20:26:37 +0000 (20:26 +0000)]
Fix PR6696 and PR6663
When a frame pointer is not otherwise required, and dynamic stack alignment
is necessary solely due to the spilling of a register with larger alignment
requirements than the default stack alignment, the frame pointer can be both
used as a general purpose register and a frame pointer. That goes poorly, for
obvious reasons. This patch brings back a bit of old logic for identifying
the use of such registers and conservatively reserves the frame pointer
during register allocation in such cases.
For now, implement for X86 only since it's 32-bit linux which is hitting this,
and we want a targeted fix for 2.7. As a follow-on, this will be expanded
to handle other targets, as theoretically the problem could arise elsewhere
as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100559
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Apr 2010 20:07:21 +0000 (20:07 +0000)]
Make this hack more specific to the Apple gcc 4.2 non-LLVM compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100556
91177308-0d34-0410-b5e6-
96231b3b80d8