Chris Lattner
23bedf2b9b
doxygenate RefreshCallGraph, add a new 'verification mode', and run it after
...
CGSCC passes make change to ensure they are updating the callgraph correctly
(when assertions are enabled).
llvm-svn: 80698
2009-09-01 18:32:03 +00:00
Dan Gohman
f6fbd474ed
Fix a typo in a comment.
...
llvm-svn: 80697
2009-09-01 18:29:01 +00:00
Sean Callanan
18ae1d3c8d
Added TEST %rAX, $imm instructions to the Intel tables. These are required for the X86 disassembler.
...
llvm-svn: 80696
2009-09-01 18:14:18 +00:00
Chris Lattner
341df26dd9
simpler solution to iterator invalidation "problem" found
...
by expensive checking.
llvm-svn: 80695
2009-09-01 18:13:40 +00:00
Chris Lattner
2c2c37b2b1
enhance memcpy opt to turn memmoves into memcpy when the src/dest
...
don't alias. Remove an old and poorly reduced testcase that fails
with this transform for reasons unrelated to the original test.
llvm-svn: 80693
2009-09-01 17:56:32 +00:00
Bruno Cardoso Lopes
fdf1a0718e
Reapply 80278
...
Add MO flags to simplify the printing of relocations.
Remove the support for printing large code model relocs (which
aren't supported anyway).
llvm-svn: 80691
2009-09-01 17:27:58 +00:00
Jim Grosbach
7c2ffde625
revert inadvertant change from previous commit
...
llvm-svn: 80689
2009-09-01 17:19:13 +00:00
Chris Lattner
87baaffbd2
random code cleanups, no functionality change.
...
llvm-svn: 80682
2009-09-01 17:09:55 +00:00
Ted Kremenek
8d7530f61e
Update CMake files.
...
llvm-svn: 80680
2009-09-01 17:01:02 +00:00
Jim Grosbach
ecd541affd
Simply LSDA lable emission to use a direct special-case output instead of
...
EmitLabel()
llvm-svn: 80677
2009-09-01 16:43:35 +00:00
Duncan Sands
7f018fd2d3
Do not manipulate invalid iterators. This fixes the
...
llvm-gcc build when expensive checking is turned on.
llvm-svn: 80671
2009-09-01 15:13:02 +00:00
Sanjiv Gupta
d2e1fc4b61
Further refactoring of PIC16 Obj file code.
...
llvm-svn: 80670
2009-09-01 10:47:31 +00:00
Benjamin Kramer
87ccd64185
Update CMakeLists.
...
llvm-svn: 80669
2009-09-01 10:24:10 +00:00
Andreas Neustifter
64e31dbd71
Preparation for Optimal Edge Profiling:
...
Add statistics for regular edge profiling, this enables the comparation of the
number of edges inserted by regular and optimal edge profiling.
llvm-svn: 80668
2009-09-01 10:08:39 +00:00
Andreas Neustifter
dc55b65b4c
Preparation for Optimal Edge Profiling:
...
Optimal edge profiling is only possible when blocks with no predecessors get an
virtual edge (BB,0) that counts the execution frequencies of this
function-exiting blocks.
This patch makes the necessary changes before actually enabling optimal edge profiling.
llvm-svn: 80667
2009-09-01 10:06:05 +00:00
Andreas Neustifter
d2c2f12f1e
Preparation for Optimal Edge Profiling:
...
This adds a pass to verify the current profile against the flow conditions.
This is very helpful when later on trying to perserve the profiling information
during all passes.
llvm-svn: 80666
2009-09-01 08:48:42 +00:00
Chris Lattner
25379a0b0c
testcase for PR3601
...
llvm-svn: 80664
2009-09-01 06:33:49 +00:00
Chris Lattner
53698d7fd7
Change CallGraphNode to maintain it's Function as an AssertingVH
...
for sanity. This didn't turn up any bugs.
Change CallGraphNode to maintain its "callsite" information in the
call edges list as a WeakVH instead of as an instruction*. This fixes
a broad class of dangling pointer bugs, and makes CallGraph have a number
of useful invariants again. This fixes the class of problem indicated
by PR4029 and PR3601.
llvm-svn: 80663
2009-09-01 06:31:31 +00:00
Devang Patel
5674e1177b
Add virtual destructor.
...
llvm-svn: 80660
2009-09-01 05:04:28 +00:00
Bob Wilson
d638cc8869
Add test for vld{234}_lane instructions.
...
llvm-svn: 80658
2009-09-01 04:27:10 +00:00
Bob Wilson
bebadd11e4
Generate code for vld{234}_lane intrinsics.
...
llvm-svn: 80656
2009-09-01 04:26:28 +00:00
Bob Wilson
03f5a5bfff
Fix pr4843: When an instruction has multiple destination registers that are
...
tied to different source registers, the TwoAddressInstructionPass needs to
be smarter. Change it to check before replacing a source register whether
that source register is tied to a different destination register, and if so,
defer handling it until a subsequent iteration.
llvm-svn: 80654
2009-09-01 04:18:40 +00:00
Daniel Dunbar
fbe8d5891a
llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy).
...
llvm-svn: 80652
2009-09-01 04:09:03 +00:00
Jim Grosbach
4e0e9a4870
SJLJ is arm/darwin only for now. force the triple for the test
...
llvm-svn: 80651
2009-09-01 02:34:49 +00:00
Jim Grosbach
b3c318b9d8
Fix compiler warnings
...
llvm-svn: 80650
2009-09-01 02:05:03 +00:00
Jim Grosbach
9a220088ac
Clean up LSDA name generation and use for SJLJ exception handling. This
...
makes an eggregious hack somewhat more palatable. Bringing the LSDA forward
and making it a GV available for reference would be even better, but is
beyond the scope of what I'm looking to solve at this point.
Objective C++ code could generate function names that broke the previous
scheme. This fixes that.
llvm-svn: 80649
2009-09-01 01:57:56 +00:00
Devang Patel
9d22015258
Introduce DILocation.
...
llvm-svn: 80648
2009-09-01 01:14:15 +00:00
Devang Patel
3d94f40541
Add getDirectory() and getFilename() interface to DIScope.
...
llvm-svn: 80647
2009-09-01 00:53:21 +00:00
Devang Patel
fb8892d0e1
Subprogram is a scope. Derive DISubprogram from DIScope.
...
llvm-svn: 80637
2009-08-31 22:47:13 +00:00
Devang Patel
4a89fae1fe
Rename DIBlock as DILexicalBlock.
...
llvm-svn: 80633
2009-08-31 22:00:15 +00:00
Dan Gohman
8e6871aa01
Don't use an iterator which is potentially invalidated.
...
llvm-svn: 80632
2009-08-31 21:58:28 +00:00
Bob Wilson
afc5184593
Use early exit and reduce indentation.
...
llvm-svn: 80631
2009-08-31 21:54:55 +00:00
Bob Wilson
0b8a1e2f69
If the tied registers are already the same, there is no need to change
...
them. Move the code to make that change inside the conditional.
llvm-svn: 80630
2009-08-31 21:54:16 +00:00
Richard Osborne
5fc832f0a6
Add triple parsing support for XCore.
...
llvm-svn: 80629
2009-08-31 21:51:36 +00:00
Devang Patel
a123ee96f4
Derive DICompileUnit from DIScope.
...
llvm-svn: 80627
2009-08-31 21:34:44 +00:00
Caroline Tice
e49e2d352c
Add flag to mark structs for Apple Block "byref" variables; also add code to
...
modify the type and location debug information for these variables to match the
programmer's expectations.
llvm-svn: 80625
2009-08-31 21:19:37 +00:00
Dan Gohman
297360e2b1
Extend the ValuesAtScope cache to cover all expressions, not just
...
SCEVUnknowns, as the non-SCEVUnknown cases in the getSCEVAtScope code
can also end up repeatedly climing through the same expression trees,
which can be unusably slow when the trees are very tall.
Also, add a quick check for SCEV pointer equality to the main
SCEV comparison routine, as the full comparison code can be expensive
in the case of large expression trees.
These fix compile-time problems in some pathlogical cases.
llvm-svn: 80623
2009-08-31 21:15:23 +00:00
Gabor Greif
eed8e1e9e5
restore semantics of operator* (removing a FIXME I had to introduce in r80224)
...
llvm-svn: 80622
2009-08-31 20:54:23 +00:00
David Goodwin
0fc3764297
Don't mark a register live at an undef use.
...
llvm-svn: 80621
2009-08-31 20:47:02 +00:00
Devang Patel
b31cfda0f8
Introduce DIScope.
...
llvm-svn: 80620
2009-08-31 20:44:45 +00:00
Devang Patel
444d9aee97
Oops. Fix inverted logic in assertion check.
...
llvm-svn: 80618
2009-08-31 20:27:49 +00:00
Evan Cheng
493eee1fc7
Remove .n suffix for some 16-bit opcodes now that Darwin assembler is fixed.
...
llvm-svn: 80615
2009-08-31 20:14:07 +00:00
Daniel Dunbar
d4241a4152
X86/exp-asm-printer: Lower MachineOperand::MO_JumpTableIndex to MCOperand.
...
- Down to 7 failures on 403.gcc.
llvm-svn: 80605
2009-08-31 19:14:05 +00:00
Daniel Dunbar
1953d69113
Stop printing old asm printing code inline with -experimental-asm-printer (this allows diffing and assembling the .s)
...
llvm-svn: 80604
2009-08-31 19:13:56 +00:00
Daniel Dunbar
a8c6218140
Avoid unnecessary +0 in experimental-asm-printer.
...
llvm-svn: 80603
2009-08-31 19:13:47 +00:00
Devang Patel
29f14e754f
Simplify isDerivedType() and other predicate interface.
...
llvm-svn: 80602
2009-08-31 18:49:10 +00:00
Bill Wendling
f1610b9af1
Output a hex value, because all of the others are hex.
...
llvm-svn: 80601
2009-08-31 18:26:48 +00:00
Dale Johannesen
e27967371c
Fix some misspellings of XTARGET.
...
llvm-svn: 80598
2009-08-31 18:05:23 +00:00
Dale Johannesen
2e8b1a140f
Mark test as passing on all x86, which it should,
...
although I don't think anyone cares about this
feature except Darwin. PR 4825.
llvm-svn: 80596
2009-08-31 17:49:20 +00:00
Chris Lattner
91cb0c1aa7
cleanups pointed out by duncan
...
llvm-svn: 80595
2009-08-31 17:08:30 +00:00