Nick Lewycky
e15c6c11b4
Add an empty key for DebugLoc so that you can store an empty DebugLoc in a
...
DenseMap.
llvm-svn: 128994
2011-04-06 06:49:59 +00:00
Chris Lattner
a579f228bf
Finish up the first draft of the release notes.
...
improvements are welcome, please commit any changes directly to SVN.
llvm-svn: 128992
2011-04-06 06:29:50 +00:00
Chris Lattner
aa6816aa16
continue writing.
...
llvm-svn: 128990
2011-04-06 05:50:04 +00:00
Nick Lewycky
dfed8e0ff5
Support using DebugLoc's in a DenseMap.
...
llvm-svn: 128988
2011-04-06 05:36:52 +00:00
Jakob Stoklund Olesen
10a362acbd
Oops. Scary.
...
llvm-svn: 128986
2011-04-06 04:07:14 +00:00
Jakob Stoklund Olesen
bb79ab5ba3
Analyze blocks with uses separately from live-through blocks without uses.
...
About 90% of the relevant blocks are live-through without uses, and the only
information required about them is their number. This saves memory and enables
later optimizations that need to look at only the use-blocks.
llvm-svn: 128985
2011-04-06 03:57:00 +00:00
Johnny Chen
765dec3867
Add a missing opcode (SMLSLDX) to BadRegsMulFrm() function.
...
Add more complete sanity check for LdStFrm instructions where if IBit (Inst{25})
is 1, Inst{4} should be 0. Otherwise, we should reject the insn as invalid.
rdar://problem/9239347
rdar://problem/9239467
llvm-svn: 128977
2011-04-06 01:18:32 +00:00
Chris Lattner
a2c6b5c1c3
add the external users that emailed me.
...
llvm-svn: 128974
2011-04-06 01:13:49 +00:00
Jim Grosbach
8a1f712b53
RuntimeDyld should use the memory manager API.
...
Start teaching the runtime Dyld interface to use the memory manager API
for allocating space. Rather than mapping directly into the MachO object,
we extract the payload for each object and copy it into a dedicated buffer
allocated via the memory manager. For now, just do Segment64, so this works
on x86_64, but not yet on ARM.
llvm-svn: 128973
2011-04-06 01:11:05 +00:00
Chris Lattner
430be971a9
some libc++ notes.
...
llvm-svn: 128970
2011-04-06 00:59:18 +00:00
Chris Lattner
d1df6aa094
some edits.
...
llvm-svn: 128969
2011-04-06 00:56:12 +00:00
Chris Lattner
379ef843a9
distribute content out to the appropriate sections
...
llvm-svn: 128968
2011-04-06 00:45:11 +00:00
Owen Anderson
b59504a1a1
Reapply r128946 (pseudoization of various instructions), and fix the extra imp-def of CPSR it was adding.
...
llvm-svn: 128965
2011-04-05 23:55:28 +00:00
Chandler Carruth
4e7b7e7732
Make the virtual destructor out-of-line so we have a key function.
...
llvm-svn: 128964
2011-04-05 23:54:31 +00:00
Jakob Stoklund Olesen
50ab0391d7
Sign error
...
llvm-svn: 128963
2011-04-05 23:43:16 +00:00
Jakob Stoklund Olesen
2bba415e6f
Don't crash when a value is defined after the last split point.
...
llvm-svn: 128962
2011-04-05 23:43:14 +00:00
Jakob Stoklund Olesen
88a0367967
Permit blocks to branch directly to a landing pad.
...
Treat the landing pad as a normal successor when that happens.
llvm-svn: 128961
2011-04-05 23:43:11 +00:00
Jim Grosbach
5530392fa3
Remove extraneous 'return'.
...
llvm-svn: 128959
2011-04-05 23:39:08 +00:00
Johnny Chen
48b39632aa
Fix a typo in the handling of PKHTB opcode, plus add sanity check for illegal register
...
encodings for DisassembleArithMiscFrm().
rdar://problem/9238659
llvm-svn: 128958
2011-04-05 23:28:00 +00:00
Chris Lattner
362c5df787
finished my pass through all the 2.9 commits, now to make this intelligible
...
llvm-svn: 128955
2011-04-05 23:22:33 +00:00
Chris Lattner
1dd86fd6f4
mention llvm::ArrayRef, which should be use much more pervasively than
...
it already is.
llvm-svn: 128954
2011-04-05 23:18:20 +00:00
Bob Wilson
89dce9ab06
Clean up some code for clarity.
...
llvm-svn: 128953
2011-04-05 23:03:25 +00:00
Chandler Carruth
715cc35206
Provide an empty virtual destructor to go with the virtual methods in
...
this class. Clang was warning on this with -Wnon-virtual-dtor.
llvm-svn: 128952
2011-04-05 23:03:24 +00:00
Owen Anderson
c8ceb7246f
Revert r128946 while I figure out why it broke the buildbots.
...
llvm-svn: 128951
2011-04-05 23:03:06 +00:00
Johnny Chen
359b9a2331
A7.3 register encoding
...
Qd -> bit[12] == 0
Qn -> bit[16] == 0
Qm -> bit[0] == 0
If one of these bits is 1, the instruction is UNDEFINED.
rdar://problem/9238399
rdar://problem/9238445
llvm-svn: 128949
2011-04-05 22:57:07 +00:00
Devang Patel
03d0891c10
Add support to encode function's template parameters.
...
llvm-svn: 128947
2011-04-05 22:52:06 +00:00
Owen Anderson
809f1a74d1
Give RSBS and RSCS the pseudo treatment.
...
llvm-svn: 128946
2011-04-05 22:42:54 +00:00
Johnny Chen
cf11408b65
ARM disassembler was erroneously accepting an invalid RSC instruction.
...
Added checks for regs which should not be 15.
rdar://problem/9237734
llvm-svn: 128945
2011-04-05 22:18:07 +00:00
Chris Lattner
a2345ee59d
remove postdom frontiers, because it is dead. Forward dom frontiers are
...
still used by RegionInfo :(
llvm-svn: 128943
2011-04-05 21:57:17 +00:00
NAKAMURA Takumi
74a55198e0
docs/ReleaseNotes.html: Please use proper *Heading* elements instead of classified div.
...
It would be better to browse without stylesheet. (eg. on ViewVC)
llvm-svn: 128942
2011-04-05 21:55:14 +00:00
Johnny Chen
6e1367d5dd
ARM disassembler was erroneously accepting an invalid LSL instruction.
...
For register-controlled shifts, we should check that the encoding constraint
Inst{7} = 0 and Inst{4} = 1 is satisfied.
rdar://problem/9237693
llvm-svn: 128941
2011-04-05 21:49:44 +00:00
Owen Anderson
b73d1741c6
Fix bugs in the pseuo-ization of ADCS/SBCS pointed out by Jim, as well as doing the expansion earlier (using a custom inserter) to allow for the chance of predicating these instructions.
...
llvm-svn: 128940
2011-04-05 21:48:57 +00:00
Chris Lattner
91618e9fd8
remove graphprinter support for domfrontier.
...
llvm-svn: 128938
2011-04-05 21:43:56 +00:00
Jakob Stoklund Olesen
a0e0f8d74b
These tests no longer require linear scan because reserved register coalescing is now universal.
...
llvm-svn: 128936
2011-04-05 21:40:41 +00:00
Jakob Stoklund Olesen
a819faa2f7
Run LiveDebugVariables in RegAllocBasic and RegAllocGreedy.
...
llvm-svn: 128935
2011-04-05 21:40:37 +00:00
Chris Lattner
bb45d35288
only 7 more weeks to go.
...
llvm-svn: 128933
2011-04-05 21:37:08 +00:00
Devang Patel
af7f5f4ada
Refactor.
...
llvm-svn: 128929
2011-04-05 21:08:24 +00:00
Jakob Stoklund Olesen
e104258b57
Document llvm/ADT/IntEqClasses.h in ProgrammersManual.html
...
llvm-svn: 128927
2011-04-05 20:56:08 +00:00
Bob Wilson
ef86806800
Add an assertion instead of crashing when the scavenger goes past the end
...
of a basic block.
llvm-svn: 128925
2011-04-05 20:44:15 +00:00
Nick Lewycky
26bf6ca0d3
Fix typos. Adjust some whitespace for style. No functionality change.
...
llvm-svn: 128924
2011-04-05 20:39:27 +00:00
Johnny Chen
b50ab34083
The r128085 checkin modified the operand ordering for MRC/MRC2 instructions.
...
Modify DisassembleCoprocessor() of ARMDisassemblerCore.cpp to react to the change.
rdar://problem/9236873
llvm-svn: 128922
2011-04-05 20:32:23 +00:00
Roman Divacky
52e462b5e5
Add support for detection of Intel SandyBridge.
...
llvm-svn: 128920
2011-04-05 20:25:36 +00:00
Jakob Stoklund Olesen
c6297924dd
Fix one more batch of X86 tests to be register allocation dependent.
...
llvm-svn: 128919
2011-04-05 20:20:30 +00:00
Jakob Stoklund Olesen
613bcf88be
When dead code elimination removes all but one use, try to fold the single def into the remaining use.
...
Rematerialization can leave single-use loads behind that we might as well fold whenever possible.
llvm-svn: 128918
2011-04-05 20:20:26 +00:00
Devang Patel
2be08abc94
Do not emit empty name.
...
llvm-svn: 128914
2011-04-05 20:14:13 +00:00
Johnny Chen
4a15bdc1aa
ARM disassembler should flag (rGPRRegClassID, r13|r15) as an error.
...
llvm-svn: 128913
2011-04-05 19:42:11 +00:00
Andrew Trick
f275156c40
Fix a typo.
...
llvm-svn: 128912
2011-04-05 19:13:11 +00:00
Andrew Trick
7e2e555075
Added *hidden* flags -print-options and -print-all-options so
...
developers can see if their driver changed any cl::Option's. The
current implementation isn't perfect but handles most kinds of
options. This is nice to have when decomposing the stages of
compilation and moving between different drivers. It's also a good
sanity check when comparing results produced by different command line
invocations that are expected to produce the comparable results.
Note: This is not an attempt to prolong the life of cl::Option. On the
contrary, it's a placeholder for a feature that must exist when
cl::Option is replaced by a more appropriate framework. A new
framework needs: a central option registry, dynamic name lookup,
non-global containers of option values (e.g. per-module,
per-function), *and* the ability to print options values and their defaults at
any point during compilation.
llvm-svn: 128910
2011-04-05 18:54:36 +00:00
Johnny Chen
f2d8c2ea3d
LDRD now prints out two dst registers.
...
llvm-svn: 128909
2011-04-05 18:53:14 +00:00
Johnny Chen
8b1acb8d9b
Fix test-llvm failures.
...
llvm-svn: 128906
2011-04-05 18:41:40 +00:00