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

59093 Commits

Author SHA1 Message Date
Evan Cheng
e60ac0f6a6 Nehalem unaligned memory access is fast.
llvm-svn: 100089
2010-04-01 05:58:17 +00:00
Chris Lattner
96eb1c7f8f Switch the representation of the location in instruction from
being a TrackingVH<MDNode> to a NewDebugLoc, shrinking 
sizeof(Instruction) a lot, and providing clients the ability
to deal with locations in terms of NewDebugLoc instead of
having to deal with Metadata.  This is still fully compatible
with all clients that *do* use MDNodes for everything of
course.

No functionality change.

llvm-svn: 100088
2010-04-01 05:23:13 +00:00
Chris Lattner
b77a53bb60 include header.
llvm-svn: 100087
2010-04-01 05:20:21 +00:00
Chris Lattner
b0cddaebe0 rewrite handling of forward ref'd instruction metadata
to used deferred resolution instead of creating a temporary
node + rauw.  There is no reason to create the temporary
mdnode, then do rauw, then destroy it.

llvm-svn: 100086
2010-04-01 05:14:45 +00:00
Chris Lattner
817fa7c6de change this from using '!dbg' to using '!dbgx'. The
MD used here isn't valid for !dbg.

llvm-svn: 100085
2010-04-01 05:13:10 +00:00
Chris Lattner
ff4e2688f5 fix a bug in DebugRecVH::deleted/allUsesReplacedWith. If an
entry in the Scope+InlinedAt drops to a non-canonical form,
we need to reset the idx member of both VH's to 0.

llvm-svn: 100084
2010-04-01 05:12:07 +00:00
Chris Lattner
7de674345c no really, we don't need to copy strings around in the accessor.
llvm-svn: 100083
2010-04-01 04:53:22 +00:00
Chris Lattner
98c3d20ae4 eliminate a temporary smallvector
llvm-svn: 100082
2010-04-01 04:51:13 +00:00
Chris Lattner
a913028fc0 add a method to decode a DILocation into a NewDebugLoc.
llvm-svn: 100081
2010-04-01 03:55:42 +00:00
Eric Christopher
f6603c89d3 Add aeskeygenassist intrinsic and rename all of the aes intrinsics to
aes instead of sse4.2.  Add a brief todo for a subtarget flag and rework
the aeskeygenassist instruction to more closely match the docs.

llvm-svn: 100078
2010-04-01 03:05:45 +00:00
Erick Tryzelaar
b37a245d5f There are no known O'Caml problems at the moment.
llvm-svn: 100076
2010-04-01 01:53:24 +00:00
Chris Lattner
012fc38ef5 update cmakefile.
llvm-svn: 100074
2010-04-01 01:02:19 +00:00
Chris Lattner
b19f7964ea Add a new "NewDebugLoc" class which will eventually replace DebugLoc,
and will replace the 'DbgInfo' member in Instruction.

The benefit of NewDebugLoc is that it is compact (8 bytes vs 12/24 
bytes for the DbgInfo member in Instruction on a 32/64 bit system),
it means that we will end up not having to allocate MDNodes to 
represent the "DILocations" in common cases of -O0 -g, and it is
much more efficient to get things out of than the MDNode.

llvm-svn: 100072
2010-04-01 00:37:44 +00:00
Jim Grosbach
8ed11c8bed vml[as] are slow on 1136jf-s also.
llvm-svn: 100066
2010-04-01 00:13:43 +00:00
Bill Wendling
5aa9aa529b Reapply r100056. It doesn't look like it's the one that's causing a failure.
llvm-svn: 100065
2010-04-01 00:00:43 +00:00
Mikhail Glushenkov
a44a629d14 Pass -m32/-m64 to assembler.
llvm-svn: 100064
2010-03-31 23:51:55 +00:00
Bill Wendling
c463229fea Revert r100056. It was causing a failure on MSVC.
llvm-svn: 100062
2010-03-31 23:26:26 +00:00
Stuart Hastings
7c358afa1d Reverting 100048; it broke two Frontend debug info tests.
llvm-svn: 100058
2010-03-31 23:08:46 +00:00
Bill Wendling
43ca5bc535 Rewrite CorrectExtraCFGEdges() to make it more understandable.
* Set the "DestA" and "DestB" according to how they're understood by the
  method. I.e., if one or both of them should point to the "fall through" block,
  then point to the fall through block.

* Improve the loop that removes superfluous edges to be more understandable.

llvm-svn: 100056
2010-03-31 22:54:38 +00:00
Bob Wilson
b66bed7e3c Add a redundant PHI testcase for SSAUpdater to go with svn r100047.
llvm-svn: 100050
2010-03-31 21:38:43 +00:00
Stuart Hastings
3a9c4bcef8 Debug info can now properly represent functions inside classes inside other functions. Partial fix for Radar 7424645.
llvm-svn: 100048
2010-03-31 21:10:54 +00:00
Bob Wilson
2a872616de Rewrite part of the SSAUpdater to be more careful about inserting redundant
PHIs.  The previous algorithm was unable to reliably detect when existing
PHIs in a cycle can be reused.  I'm still working on reducing a testcase.
Radar 7711900.

llvm-svn: 100047
2010-03-31 20:51:00 +00:00
Dale Johannesen
03396f06c0 Fix a nasty dangling-pointer heisenbug that could
generate wrong code pretty much anywhere AFAICT.
A case that hits the bug reproducibly is impossible,
but the situation was like this:
Addr = ...
Store -> Addr
Addr2 = GEP , 0, 0
Store -> Addr2
Handling the first store, the code changed replaced Addr
with a sunkaddr and deleted Addr, but not its table
entry.  Code in OptimizedBlock replaced Addr2 with a
bitcast; if that happened to reuse the memory of Addr,
the old table entry was erroneously found when handling
the second store.

llvm-svn: 100044
2010-03-31 20:37:15 +00:00
Gabor Greif
b7ecfb134b testcase for r99914, provided by baldrick!
llvm-svn: 100043
2010-03-31 20:37:13 +00:00
Chris Lattner
9b4a8c9ba4 reduce indentation, minor cleanups.
llvm-svn: 100042
2010-03-31 20:32:51 +00:00
Benjamin Kramer
b67e098ab6 Reduce string trashing.
llvm-svn: 100038
2010-03-31 20:15:45 +00:00
Jakob Stoklund Olesen
0d11c5907d Use spaces, not tabs
llvm-svn: 100037
2010-03-31 20:05:12 +00:00
Benjamin Kramer
a71501e0dd DwarfDebug: Allocate DIEValues with a BumpPtrAllocator. Most of them are
POD-like anyway, so we don't even care about calling their d'tors (DIEBlock
being the exception).

~6% less mallocs and ~1% compile time improvement on clang -O0 -g oggenc.c

llvm-svn: 100035
2010-03-31 19:34:01 +00:00
Daniel Dunbar
1a27d28404 Add a FIXME.
llvm-svn: 100034
2010-03-31 19:14:05 +00:00
Bill Wendling
bcec041803 Comment the changes for r98218 and friends inside the source code.
llvm-svn: 100033
2010-03-31 18:48:58 +00:00
Daniel Dunbar
9c71d03e49 lit: Make sure to close any files we open as part of redirection.
PR6753.

llvm-svn: 100032
2010-03-31 18:48:43 +00:00
Bill Wendling
b5b138639d Comment the changes for r98218 and friends inside the source code.
llvm-svn: 100031
2010-03-31 18:47:10 +00:00
Jakob Stoklund Olesen
a0f664e9ed Fix PR6750. Don't try to merge a DomainValue with itself.
llvm-svn: 100016
2010-03-31 17:13:16 +00:00
Benjamin Kramer
192e50f7b1 s/getNameStr/getName/
llvm-svn: 100011
2010-03-31 16:06:22 +00:00
Benjamin Kramer
e006100c19 Bump SmallString size a bit to avoid malloc trashing.
llvm-svn: 100010
2010-03-31 16:04:26 +00:00
Torok Edwin
ba2f97fcb0 AddSignalHandler was not releasing the critical section on win32.
Patch from Gianluigi Tiesi!

llvm-svn: 100003
2010-03-31 12:07:16 +00:00
Nick Lewycky
967cac7bf6 Small fixes to this documentation. Remove mention of uint/int type, fix typo
in 'number'.

llvm-svn: 100001
2010-03-31 07:50:17 +00:00
Chris Lattner
7919973f2d reduce indentation
llvm-svn: 99999
2010-03-31 06:09:04 +00:00
Chris Lattner
421f945e1f tidy up
llvm-svn: 99998
2010-03-31 06:06:37 +00:00
Chris Lattner
9ff37808e4 microoptimize this hot method, also making it more
consistent with other similar ones.

llvm-svn: 99997
2010-03-31 05:53:47 +00:00
Chris Lattner
fac22403cb MI != 0 is checked in the assert right above this.
llvm-svn: 99995
2010-03-31 05:42:48 +00:00
Chris Lattner
baad3cbf19 use the isDebugValue() predicate and pop_back_val()
llvm-svn: 99993
2010-03-31 05:39:57 +00:00
Chris Lattner
9653faca87 assert is a function-like macro, not a control flow operator.
llvm-svn: 99992
2010-03-31 05:36:29 +00:00
Duncan Sands
f2ded21752 Correct comment.
llvm-svn: 99991
2010-03-31 05:27:33 +00:00
Chris Lattner
d015147472 reduce indentation, fit in 80 cols and various other cosmetic cleanups.
llvm-svn: 99989
2010-03-31 05:15:22 +00:00
Chris Lattner
ffc6ab9d04 fix file header.
llvm-svn: 99987
2010-03-31 04:26:23 +00:00
Chris Lattner
1d2ea2510d use the optimized debug info apis in sdisel.
llvm-svn: 99986
2010-03-31 04:24:50 +00:00
Chris Lattner
c02045830c make irbuilder use the new optimized debug info accessors.
llvm-svn: 99984
2010-03-31 04:09:11 +00:00
Chris Lattner
27c9cacb63 add new apis for getting/setting !dbg metadata on
instructions.  In addition to being a convenience,
they are faster than the old apis, particularly when
not going from an MDKindID like people should be
doing.

llvm-svn: 99982
2010-03-31 03:34:40 +00:00
Jakob Stoklund Olesen
58296f9543 Replace V_SET0 with variants for each SSE execution domain.
llvm-svn: 99975
2010-03-31 00:40:13 +00:00