Devang Patel
7f2d10ec49
Handle NamedMDNode.
...
llvm-svn: 77633
2009-07-30 23:03:19 +00:00
David Goodwin
ef70179502
Remove redundant match for frame index from imm8 addrmode, it is handled by the imm12 addrmode.
...
llvm-svn: 77632
2009-07-30 22:45:52 +00:00
David Goodwin
62efc71b9f
Darwin assembler now recognizes "orn", so remove workaround.
...
llvm-svn: 77627
2009-07-30 21:51:41 +00:00
David Goodwin
d29f81da16
Darwin assembler now supports "rrx", so remove workaround.
...
llvm-svn: 77625
2009-07-30 21:38:40 +00:00
Daniel Dunbar
298e11de31
Twine: Directly support int, long, and long long types.
...
- This should resolve Cygwin gcc ambiguities.
llvm-svn: 77624
2009-07-30 21:15:14 +00:00
Dan Gohman
30dfed41b8
Use CallbackVH in AliasSetTracker to avoid getting stuck with
...
dangling Value*s.
llvm-svn: 77623
2009-07-30 20:21:41 +00:00
David Goodwin
2eaffa79af
Cleanup and include code selection for some frame index cases.
...
llvm-svn: 77622
2009-07-30 18:56:48 +00:00
Devang Patel
9b0dea089b
Start using DebugInfoFinder.
...
llvm-svn: 77621
2009-07-30 18:56:46 +00:00
Devang Patel
788d39ffd4
Do not use getNamedValue() to lookup NamedMDNode. NamedMDNode is not a GlobalValue.
...
Thanks Benjamin Kramer!
llvm-svn: 77619
2009-07-30 18:46:29 +00:00
Devang Patel
659a82fe31
Fix MetadataBase::classof().
...
Thanks Benjamin Kramer!
llvm-svn: 77618
2009-07-30 18:45:09 +00:00
Daniel Dunbar
edd0313a36
Twine: Use raw_ostream::write_hex, remove unused itohexstr method.
...
llvm-svn: 77617
2009-07-30 18:30:19 +00:00
Daniel Dunbar
e5df20a2dc
Remove unintended changes.
...
llvm-svn: 77616
2009-07-30 18:29:44 +00:00
Devang Patel
ab56b759af
s/DebugInfoEnumerator/DebugInfoFinder/g
...
llvm-svn: 77615
2009-07-30 18:25:15 +00:00
Daniel Dunbar
79e9ed1d26
Add raw_ostream::write_hex
...
llvm-svn: 77614
2009-07-30 18:21:23 +00:00
Daniel Dunbar
3db25114f0
Remove itohexstr, which only had one user.
...
llvm-svn: 77613
2009-07-30 18:18:54 +00:00
David Goodwin
30429aef93
Add missing D* register clobbers for Thumb-2 call.
...
llvm-svn: 77611
2009-07-30 18:01:09 +00:00
Daniel Dunbar
81f704c26a
Twines: Don't allow implicit conversion from integers, this is too tricky.
...
llvm-svn: 77605
2009-07-30 17:37:43 +00:00
Devang Patel
751490b934
walk DbgRegionStartInst and DbgRegionEndInst
...
llvm-svn: 77604
2009-07-30 17:30:23 +00:00
Devang Patel
cef1863706
Fix comment.
...
llvm-svn: 77603
2009-07-30 17:25:33 +00:00
Dan Gohman
0caa78bc21
Minor whitespace tidiness.
...
llvm-svn: 77602
2009-07-30 17:04:07 +00:00
Dan Gohman
0a16a3ee84
Rename GRAD to GR32_AD, to follow the naming convention of other
...
classes. And define its SubRegClassList.
llvm-svn: 77601
2009-07-30 17:02:08 +00:00
Chris Lattner
edb8650e80
add a random codegen deficiency.
...
llvm-svn: 77598
2009-07-30 16:08:58 +00:00
Benjamin Kramer
85fa67c3c5
fix a unitialized pointer in NamedMDNode (and reenable unittest)
...
llvm-svn: 77597
2009-07-30 15:35:55 +00:00
Sanjiv Gupta
b2aad805e0
Allow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than hardcoding them in DAG lowering.
...
llvm-svn: 77586
2009-07-30 09:12:56 +00:00
Evan Cheng
20a1862b23
Add a note.
...
llvm-svn: 77584
2009-07-30 08:56:19 +00:00
Evan Cheng
c6c5c4b074
I've changed the semantics of MERGE_VALUES a bit. It's now allowed to live until scheduling. It's deleted when the scheduler translate DAG nodes to machine instructions.
...
This is currently used by X86 to handle atomic_load_add when the output of the node is not used. I believe there is a better solution. But I find MERGE_VALUES useful for selecting multi-output node when the dead output can be selected as a IMPLICIT_DEF.
llvm-svn: 77583
2009-07-30 08:44:08 +00:00
Evan Cheng
148032a1a2
Optimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and __sync_sub_and_fetch.
...
When the return value is not used (i.e. only care about the value in the memory), x86 does not have to use add to implement these. Instead, it can use add, sub, inc, dec instructions with the "lock" prefix.
This is currently implemented using a bit of instruction selection trick. The issue is the target independent pattern produces one output and a chain and we want to map it into one that just output a chain. The current trick is to select it into a merge_values with the first definition being an implicit_def. The proper solution is to add new ISD opcodes for the no-output variant. DAG combiner can then transform the node before it gets to target node selection.
Problem #2 is we are adding a whole bunch of x86 atomic instructions when in fact these instructions are identical to the non-lock versions. We need a way to add target specific information to target nodes and have this information carried over to machine instructions. Asm printer (or JIT) can use this information to add the "lock" prefix.
llvm-svn: 77582
2009-07-30 08:33:02 +00:00
Daniel Dunbar
4d07efb3c4
Switch obvious clients to Twine instead of utostr (when they were already using
...
a Twine, e.g., for names).
- I am a little ambivalent about this; we don't want the string conversion of
utostr, but using overload '+' mixed with string and integer arguments is
sketchy. On the other hand, this particular usage is something of an idiom.
llvm-svn: 77579
2009-07-30 04:20:37 +00:00
Sanjiv Gupta
6692c2401b
Keep track of references to mem(cpy,move,set) and then print only one extern
...
declaration for them.
llvm-svn: 77578
2009-07-30 04:15:15 +00:00
Daniel Dunbar
4d8b1776b4
Twine: Provide [u]int{32,64} conversions via implicit constructors instead of
...
explicitly.
llvm-svn: 77576
2009-07-30 03:47:15 +00:00
Andreas Bolka
56d7bc03dd
Equal SCEVs of a subscript give rise to dependence.
...
llvm-svn: 77570
2009-07-30 02:26:01 +00:00
Daniel Dunbar
9ac19401cd
Disable the NamedMDNodeTest, it is failing everywhere.
...
llvm-svn: 77569
2009-07-30 02:08:27 +00:00
Nate Begeman
72315231bc
Typo
...
llvm-svn: 77568
2009-07-30 02:00:06 +00:00
Dan Gohman
3c7e8160f6
Add a new register class to describe operands that can't be SP,
...
due to x86 encoding restrictions. This is currently off by default
because it may cause code quality regressions. This is for PR4572.
llvm-svn: 77565
2009-07-30 01:56:29 +00:00
Dan Gohman
27f6e510c3
Minor whitespace tidiness.
...
llvm-svn: 77564
2009-07-30 01:33:17 +00:00
Devang Patel
efd06c46c7
Check null NameMDNode elements.
...
llvm-svn: 77559
2009-07-30 01:02:04 +00:00
Dan Gohman
179f1e8a27
Eliminate a bunch of redundant tables.
...
llvm-svn: 77558
2009-07-30 00:40:42 +00:00
Bob Wilson
8624e45518
Lower a 128-bit BUILD_VECTOR with 2 elements to a pair of INSERT_VECTOR_ELTs.
...
llvm-svn: 77557
2009-07-30 00:31:25 +00:00
Dan Gohman
79565c910c
Use array_endof instead of doing it manually.
...
llvm-svn: 77553
2009-07-30 00:10:18 +00:00
Devang Patel
fc9ef39a7e
Add NamedMDNode test.
...
llvm-svn: 77550
2009-07-30 00:03:41 +00:00
Devang Patel
ee25ed96f5
print single NamedMDNode.
...
llvm-svn: 77549
2009-07-30 00:02:57 +00:00
Evan Cheng
31ac181755
tbb / tbh instructions only branch forward, not backwards.
...
llvm-svn: 77522
2009-07-29 23:20:20 +00:00
Evan Cheng
fabbd6219a
Add VFP3 D registers to the DPR register class.
...
llvm-svn: 77521
2009-07-29 23:03:41 +00:00
Nicolas Geoffray
1583f76c9a
In TrimAllocationToSize, if a block is below the minimum allocation size,
...
there is no new block added to the free list. Therefore on the next
startFunctionBody call, a new slab must be allocated.
llvm-svn: 77520
2009-07-29 22:55:02 +00:00
Douglas Gregor
8c9b60cabc
Eliminate a few unused-variable warnings
...
llvm-svn: 77519
2009-07-29 22:41:10 +00:00
Devang Patel
d5b7c64109
Read and write NamedMDNode.
...
llvm-svn: 77517
2009-07-29 22:34:41 +00:00
Owen Anderson
881d928f9b
Move types back to the 2.5 API.
...
llvm-svn: 77516
2009-07-29 22:17:13 +00:00
Devang Patel
d788af24ac
Print named metadata.
...
llvm-svn: 77513
2009-07-29 22:04:47 +00:00
Daniel Dunbar
89cb72a6bc
Fix PR4645 which was fallout from the fix for PR4641.
...
- Call RAUW to delete all instructions (this is a patch from Nick Lewycky).
llvm-svn: 77512
2009-07-29 22:00:43 +00:00
Devang Patel
c8dfc60e5e
There is no need to keep name ref in NamedMDNode.
...
llvm-svn: 77511
2009-07-29 21:58:56 +00:00