1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
Commit Graph

51287 Commits

Author SHA1 Message Date
Chris Lattner
e4173b39bd remove a bunch of explicit code previously needed to update the
callgraph.  This is now dead because RAUW does the job.

llvm-svn: 80703
2009-09-01 18:44:06 +00:00
David Goodwin
1b286bc320 Add hidden flags to allow binary search of post-RA scheduling errors.
llvm-svn: 80702
2009-09-01 18:34:03 +00:00
David Goodwin
70557af33a RRX reads CPSR.
llvm-svn: 80699
2009-09-01 18:32:09 +00:00
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