Bill Wendling
506b304706
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
Stuart Hastings
f3e5afd6d3
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
ac229124f4
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
b67a6e6620
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
Chris Lattner
503a0ef6f4
reduce indentation, minor cleanups.
...
llvm-svn: 100042
2010-03-31 20:32:51 +00:00
Benjamin Kramer
96956ed0ff
Reduce string trashing.
...
llvm-svn: 100038
2010-03-31 20:15:45 +00:00
Jakob Stoklund Olesen
58ca0a649c
Use spaces, not tabs
...
llvm-svn: 100037
2010-03-31 20:05:12 +00:00
Benjamin Kramer
74729ae094
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
Bill Wendling
d749aefbd5
Comment the changes for r98218 and friends inside the source code.
...
llvm-svn: 100033
2010-03-31 18:48:58 +00:00
Bill Wendling
866f5764a7
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
4cd5866f8e
Fix PR6750. Don't try to merge a DomainValue with itself.
...
llvm-svn: 100016
2010-03-31 17:13:16 +00:00
Benjamin Kramer
f4512a3a9d
s/getNameStr/getName/
...
llvm-svn: 100011
2010-03-31 16:06:22 +00:00
Benjamin Kramer
feff7055f7
Bump SmallString size a bit to avoid malloc trashing.
...
llvm-svn: 100010
2010-03-31 16:04:26 +00:00
Torok Edwin
6fb0956291
AddSignalHandler was not releasing the critical section on win32.
...
Patch from Gianluigi Tiesi!
llvm-svn: 100003
2010-03-31 12:07:16 +00:00
Chris Lattner
17d38594fe
reduce indentation
...
llvm-svn: 99999
2010-03-31 06:09:04 +00:00
Chris Lattner
71696ef1ad
tidy up
...
llvm-svn: 99998
2010-03-31 06:06:37 +00:00
Chris Lattner
743bdca344
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
03e1b5ab5c
MI != 0 is checked in the assert right above this.
...
llvm-svn: 99995
2010-03-31 05:42:48 +00:00
Chris Lattner
848c7d2e49
use the isDebugValue() predicate and pop_back_val()
...
llvm-svn: 99993
2010-03-31 05:39:57 +00:00
Chris Lattner
8d2fe28910
assert is a function-like macro, not a control flow operator.
...
llvm-svn: 99992
2010-03-31 05:36:29 +00:00
Chris Lattner
a5ab82a613
reduce indentation, fit in 80 cols and various other cosmetic cleanups.
...
llvm-svn: 99989
2010-03-31 05:15:22 +00:00
Chris Lattner
3131ae86d8
use the optimized debug info apis in sdisel.
...
llvm-svn: 99986
2010-03-31 04:24:50 +00:00
Chris Lattner
81fcf76e2d
make irbuilder use the new optimized debug info accessors.
...
llvm-svn: 99984
2010-03-31 04:09:11 +00:00
Chris Lattner
009de335ac
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
9986ba954c
Replace V_SET0 with variants for each SSE execution domain.
...
llvm-svn: 99975
2010-03-31 00:40:13 +00:00
Jakob Stoklund Olesen
710c6892be
Fix typo. Thank you, valgrind.
...
llvm-svn: 99974
2010-03-31 00:40:08 +00:00
Chris Lattner
c263b42d0d
Fix a major source of compile-time slowness at -O0 -g by optimizing
...
the storage of !dbg metadata kinds in the instruction themselves.
The on-the-side hash table works great for metadata that not-all
instructions get, or for metadata that only exists when optimizing.
But when compile-time is everything, it isn't great.
I'm not super thrilled with the fact that this plops a TrackingVH in
Instruction, because it grows it by 3 words. I'm investigating
alternatives, but this should be a step in the right direction in any
case.
llvm-svn: 99957
2010-03-30 23:03:27 +00:00
Jakob Stoklund Olesen
6f6ebb663c
Enable -sse-domain-fix by default. Now with tests!
...
llvm-svn: 99954
2010-03-30 22:47:00 +00:00
Jakob Stoklund Olesen
3493398f13
V_SETALLONES is an integer instruction.
...
Since it is just a pxor in disguise, we should probably expand it to a full
polymorphic triple.
llvm-svn: 99953
2010-03-30 22:46:55 +00:00
Jakob Stoklund Olesen
dbff4e8103
Renumber SSE execution domains for better code size.
...
SSEDomainFix will collapse to the domain with the lower number when it has a
choice. The SSEPackedSingle domain often has smaller instructions, so prefer
that.
llvm-svn: 99952
2010-03-30 22:46:53 +00:00
Bob Wilson
6f7fd28824
Revert Mon Ping's change 99928, since it broke all the llvm-gcc buildbots.
...
llvm-svn: 99948
2010-03-30 22:27:04 +00:00
Devang Patel
57c644f926
Ignore invalid metadata.
...
llvm-svn: 99938
2010-03-30 22:09:52 +00:00
Jakob Stoklund Olesen
cf35648ebe
Revert "Enable -sse-domain-fix by default. What could possibly go wrong?"
...
Not running 'make check-all' before committing is a bad idea.
llvm-svn: 99933
2010-03-30 21:36:32 +00:00
Jakob Stoklund Olesen
a654df84e6
Enable -sse-domain-fix by default. What could possibly go wrong?
...
llvm-svn: 99931
2010-03-30 21:09:31 +00:00
Mon P Wang
7460571381
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
...
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
A update of langref will occur in a subsequent checkin.
llvm-svn: 99928
2010-03-30 20:55:56 +00:00
Chris Lattner
a3b94ba2c5
move some method definitions to files that make sense.
...
llvm-svn: 99927
2010-03-30 20:48:48 +00:00
Benjamin Kramer
04c713dd45
Introduce SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allows
...
only a single type of object to be allocated. Use it to make VNInfo destruction
typesafe.
llvm-svn: 99919
2010-03-30 20:16:45 +00:00
Torok Edwin
921e80b1f5
Typo noticed by Duncan.
...
llvm-svn: 99918
2010-03-30 20:15:13 +00:00
Dan Gohman
39027c403c
Fix a grammaro.
...
llvm-svn: 99917
2010-03-30 20:04:57 +00:00
Jakob Stoklund Olesen
3b9af40938
Add cross-block inference to SSEDomainFix.
...
llvm-svn: 99916
2010-03-30 20:04:01 +00:00
Gabor Greif
b469818279
fix two cases where the arguments were extracted from the wrong range out of the InvokeInst
...
spotted by baldrick -- thanks\!
llvm-svn: 99914
2010-03-30 19:20:53 +00:00
Eric Christopher
6ad8167714
Remove the pmulld intrinsic and autoupdate it as a vector multiply.
...
Rewrite the pmulld patterns, and make sure that they fold in loads of
arguments into the instruction.
llvm-svn: 99910
2010-03-30 18:49:01 +00:00
Chris Lattner
9897043928
Rip out the 'is temporary' nonsense from the MCContext interface to
...
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902
2010-03-30 18:10:53 +00:00
Evan Cheng
85eea4e031
Funky indentation.
...
llvm-svn: 99901
2010-03-30 18:08:53 +00:00
Devang Patel
67d94ab0f8
There is no need to fall through after processing DBG_VALUE machine instruction.
...
llvm-svn: 99899
2010-03-30 18:07:00 +00:00
Daniel Dunbar
692d165c3b
Fix -Asserts warning.
...
llvm-svn: 99895
2010-03-30 17:57:42 +00:00
Douglas Gregor
83fd0156a9
Introduce namespace-scope functions to enable LLVM statistics without
...
passing the command-line parameter "-stats" and to print the resulting
statistics without calling llvm_shutdown().
llvm-svn: 99893
2010-03-30 17:32:08 +00:00
Benjamin Kramer
0c1dcb083e
XFAIL some PIC16 tests when running under valgrind-leaks. I don't expect these
...
to be fixed any time soon.
llvm-svn: 99888
2010-03-30 14:34:13 +00:00
Benjamin Kramer
7cc264bf19
PIC16: Plug a leak in PIC16Section by allocating name & address strings in the
...
MCContext. There is still one leak left in PIC16Section (the Items vector).
llvm-svn: 99887
2010-03-30 13:28:42 +00:00
Torok Edwin
cc1db61180
Don't overwrite previous value, if it succeeded.
...
llvm-svn: 99886
2010-03-30 12:52:03 +00:00