Chris Lattner
526c8cb557
rename TGLoc -> SMLoc.
...
llvm-svn: 73843
2009-06-21 03:39:35 +00:00
Chris Lattner
1b30e1ac45
move TGSourceMgr class out of TableGen into libsupport.
...
llvm-svn: 73842
2009-06-21 03:36:54 +00:00
Chris Lattner
7719d0184a
simplify closing paren and (rip) printing.
...
llvm-svn: 73841
2009-06-21 02:22:53 +00:00
Chris Lattner
a3da048c82
indentation fix
...
llvm-svn: 73840
2009-06-21 02:22:34 +00:00
Nick Lewycky
6b8320fa5b
Expand this test to handle more cases (remainder and shifts) of zero.
...
llvm-svn: 73839
2009-06-21 01:56:41 +00:00
Chris Lattner
98b13ac6f3
fit in 80 cols
...
llvm-svn: 73838
2009-06-21 01:52:00 +00:00
Chris Lattner
e80442452e
remove #if 0 code
...
llvm-svn: 73837
2009-06-21 01:48:49 +00:00
Chris Lattner
cfad3f3807
cosmetic changes.
...
llvm-svn: 73836
2009-06-21 01:27:55 +00:00
Chris Lattner
62fdd112fc
implement PR4424: 0/x is always 0 for integer division.
...
llvm-svn: 73835
2009-06-21 01:15:55 +00:00
Chris Lattner
7d2b049404
change TLS_ADDR lowering to lower to a real mem operand, instead of matching as
...
a global with that gets printed with the :mem modifier. All operands to lea's
should be handled with the lea32mem operand kind, and this allows the TLS stuff
to do this. There are several better ways to do this, but I went for the minimal
change since I can't really test this (beyond make check).
This also makes the use of EBX explicit in the operand list in the 32-bit,
instead of implicit in the instruction.
llvm-svn: 73834
2009-06-20 20:38:48 +00:00
Chris Lattner
1771a852f0
no need for unwind info
...
llvm-svn: 73832
2009-06-20 19:48:26 +00:00
Chris Lattner
fbc9778a1b
no need for unwind info here.
...
llvm-svn: 73831
2009-06-20 19:43:09 +00:00
Chris Lattner
40f560d433
remove dead code, the main codepath never has to deal
...
with MBB's.
llvm-svn: 73830
2009-06-20 19:34:47 +00:00
Chris Lattner
9c2119616f
eliminate the "call" operand modifier from the asm descriptions, modeling
...
it as a pcrel immediate instead. This gets pc-rel weirdness out of the
main printoperand codepath.
llvm-svn: 73829
2009-06-20 19:34:09 +00:00
Duncan Sands
2ae473f739
Clarify that if the alignment is zero then an alignment
...
compatible with the type will be used (at least the ABI
alignment).
llvm-svn: 73827
2009-06-20 13:26:06 +00:00
Chris Lattner
b4b5c10477
fix edit-o
...
llvm-svn: 73824
2009-06-20 08:13:12 +00:00
Chris Lattner
9fc4db5615
some comments and cleanup
...
llvm-svn: 73818
2009-06-20 07:59:10 +00:00
Chris Lattner
a0022a772b
implement support for lowering subregs when preparing to print
...
LEA64_32r, eliminating a bunch of modifier logic stuff on addr modes.
Implement support for printing mbb labels as operands.
llvm-svn: 73817
2009-06-20 07:03:18 +00:00
Evan Cheng
c6a8d0dbe9
Fix PR4419: handle defs of partial uses.
...
llvm-svn: 73816
2009-06-20 04:34:51 +00:00
Devang Patel
79ef65a271
Remove unused field.
...
llvm-svn: 73815
2009-06-20 01:07:54 +00:00
Devang Patel
1b61c2a1ce
Initialize MMI
...
llvm-svn: 73813
2009-06-20 01:00:07 +00:00
Chris Lattner
1f8d968687
hook up printMemReference.
...
llvm-svn: 73811
2009-06-20 00:50:32 +00:00
Chris Lattner
4682015e61
Start implementing translation of MachineInstr to MCInst. Next
...
step is to make tblgen generate something more appropriate for MCInst,
and generate calls to operand translation routines where needed.
This includes a bunch of #if 0 code which will slowly be refactored into
something sensible.
llvm-svn: 73810
2009-06-20 00:49:26 +00:00
Chris Lattner
3672742801
make immediates be int64_t like machineoperand. Add some apis
...
llvm-svn: 73809
2009-06-20 00:47:37 +00:00
Dan Gohman
dcdc4daa5d
Tweak this test to be a little less unusual.
...
llvm-svn: 73808
2009-06-20 00:40:56 +00:00
Dan Gohman
450f4e0fa9
Generalize isLoopGuardedByCond's checking to consider two
...
SCEVUnknowns with identical Instructions to be equal. This allows
it to analze cases such as the attached testcase, where the front-end
has cloned the loop controlling expression. Along with r73805, this
lets IndVarSimplify eliminate all the sign-extend casts in the
loop in the attached testcase.
llvm-svn: 73807
2009-06-20 00:35:32 +00:00
Owen Anderson
96c51a8de1
Workaround for an... interesting bug in Darwin's pthread_rwlock_init.
...
llvm-svn: 73806
2009-06-20 00:32:27 +00:00
Dan Gohman
90d612e536
Use ScalarEvolution's new GetMinSignBits and GetMinLeadingZeros
...
in the loop backedge-taken count computation of the maximum
possible trip count.
llvm-svn: 73805
2009-06-20 00:32:22 +00:00
Owen Anderson
4ce341cc75
Add debugging code to test for various locking faux-pas's, when running in single threaded mode. This should help improve testing coverage for
...
threading support, without having extensive actually concurrent clients yet.
llvm-svn: 73803
2009-06-20 00:27:21 +00:00
Owen Anderson
2cda7d74bc
Forgot this file.
...
llvm-svn: 73802
2009-06-20 00:26:26 +00:00
Owen Anderson
0d2de8c35e
Revert r73790, and replace it with a significantly less ugly solution. Rather than trying to make the global reader-writer lock work,
...
create separate recursive mutexes for each value map. The recursive-ness fixes the double-acquiring issue, which having one per ValueMap
lets us continue to maintain some concurrency.
llvm-svn: 73801
2009-06-20 00:24:58 +00:00
Chris Lattner
8d284c7683
stub out some hacky code for wiring up the new asmprinter interfaces
...
on X86. Not useful yet.
llvm-svn: 73799
2009-06-19 23:59:57 +00:00
Chris Lattner
681f79124a
allow clients of the asmprinter to opt-out of the boilerplate with a #define.
...
llvm-svn: 73798
2009-06-19 23:57:53 +00:00
Dan Gohman
724f825f96
Fix a typo in a comment that Frits von Bommel noticed.
...
llvm-svn: 73796
2009-06-19 23:41:37 +00:00
Dan Gohman
c702fc0e64
Make GetMinTrailingZeros a member function of ScalarEvolution,
...
so that it can access the TargetData member (when available) and
use ValueTracking.h information to compute information for
SCEVUnknown Values.
Also add GetMinLeadingZeros and GetMinSignBits functions,
with minimal implementations.
llvm-svn: 73794
2009-06-19 23:29:04 +00:00
Dan Gohman
cc31110b95
Re-apply r73718, now that the fix in r73787 is in, and add a
...
hand-crafted testcase which demonstrates the bug that was exposed
in 254.gap.
llvm-svn: 73793
2009-06-19 23:23:27 +00:00
Devang Patel
88be5cf01f
DwarfWriter is used to emit EH info also.
...
llvm-svn: 73792
2009-06-19 23:21:20 +00:00
Evan Cheng
b4b20bbb7d
Enable arm pre-allocation load / store multiple optimization pass.
...
llvm-svn: 73791
2009-06-19 23:17:27 +00:00
Owen Anderson
b07dd959a4
Fix a serious bug that would cause deadlock during abstract type refinement. The constant creation
...
gets involved, and we end up trying to recursively acquire a writer lock. The fix for this is slightly horrible,
and involves passing a boolean "locked" parameter around in Constants.cpp, but it's better than having locked and
unlocked versions of most of the code.
llvm-svn: 73790
2009-06-19 23:16:19 +00:00
Dan Gohman
55e3dd9174
Fix LSR's OptimizeSMax to ignore max operators with more than 2 operands,
...
which it isn't prepared to handle.
llvm-svn: 73787
2009-06-19 23:03:46 +00:00
Devang Patel
da10358c84
mv CodeGen/DebugLoc.h Support/DebugLoc.h
...
llvm-svn: 73786
2009-06-19 22:08:58 +00:00
Devang Patel
33f4eb462f
Move up dwarf writer initialization in common AsmPrinter class.
...
llvm-svn: 73784
2009-06-19 21:54:26 +00:00
Evan Cheng
86076c9e30
Revert 73718. It's breaking 254.gap.
...
llvm-svn: 73783
2009-06-19 21:15:06 +00:00
Anton Korobeynikov
2028e25325
Unbreak cyclic deps
...
llvm-svn: 73781
2009-06-19 19:36:55 +00:00
Owen Anderson
ff5f14c15e
Fix bad paste-o in the MSVC atomics.
...
Patch by Ðван СоÑокин.
llvm-svn: 73779
2009-06-19 18:37:50 +00:00
Owen Anderson
59ba814f39
Forgot to remove some explicit locking when it became implicit in the ValueMap.
...
llvm-svn: 73778
2009-06-19 18:34:09 +00:00
Owen Anderson
383f7b1f08
Fences are expensive. Avoid doing them when we're not in multithreaded mode.
...
llvm-svn: 73777
2009-06-19 17:50:11 +00:00
Dan Gohman
b9063a84ce
Make ScalarEvolution::print print getSCEVAtScope values for
...
expressions, when interesting.
llvm-svn: 73776
2009-06-19 17:49:54 +00:00
Owen Anderson
81241a37fa
Move the memory fences out of the path for single-threaded mode.
...
llvm-svn: 73775
2009-06-19 17:45:12 +00:00
Dan Gohman
2199dbc5ff
Don't (unconditionally) use getSCEVAtScope to simplify the step
...
expression in IVUsers, because in the case of a use of a non-linear
addrec outside of a loop, this causes the addrec to be evaluated as
a linear addrec.
llvm-svn: 73774
2009-06-19 17:33:15 +00:00