- Jun 02, 2011
-
-
Devang Patel authored
llvm-svn: 132487
-
Tanya Lattner authored
llvm-svn: 132486
-
Eli Friedman authored
PR10067: Add missing safety check to call return transformation in MemCpyOpt::processStore. If something accesses the dest of the "copy" between the call and the copy, the performCallSlotOptzn transformation is not valid. llvm-svn: 132485
-
Johnny Chen authored
llvm-svn: 132484
-
Devang Patel authored
During post RA scheduling, do not try to chase reg defs. to preserve DBG_VALUEs. This approach has several downsides, for example, it does not work when dbg value is a constant integer, it does not work if reg is defined more than once, it places end of debug value range markers in the wrong place. It even causes misleading incorrect debug info when duplicate DBG_VALUE instructions point to same reg def. Instead, use simpler approach and let DBG_VALUE follow its predecessor instruction. After live debug value analysis pass, all DBG_VALUE instruction are placed at the right place. Thanks Jakob for the hint! llvm-svn: 132483
-
Rafael Espindola authored
llvm-svn: 132482
-
Argyrios Kyrtzidis authored
in ASTReader::validateFileEntries(). This avoids going through all source location entries and fixes the performance regression. Many thanks to Doug for the hint! (rdar://9530587) llvm-svn: 132481
-
Howard Hinnant authored
I've become quite disatsified with the lack of noexcept specifications on container move construction, move assignment operator and swap. Without proper decoration on at least move construction, vectors of containers will have unacceptable performance. Here's the fix for deque. llvm-svn: 132480
-
Rafael Espindola authored
llvm-svn: 132479
-
Stuart Hastings authored
llvm-svn: 132477
-
Eric Christopher authored
Testcase will come when we use it. Part of rdar://9119939 llvm-svn: 132476
-
Caroline Tice authored
Create new class, InputReaderStack, to better handle mutexes around input readers and prevent deadlocking; modify Debugger to use the new class. llvm-svn: 132475
-
Rafael Espindola authored
llvm-svn: 132474
-
Stuart Hastings authored
llvm-svn: 132472
-
Jakob Stoklund Olesen authored
This saves two virtual function calls and an Allocatable BitVector test, making RAFast run 2% faster. llvm-svn: 132471
-
Johnny Chen authored
llvm-svn: 132470
-
Rafael Espindola authored
llvm-svn: 132468
-
Jim Grosbach authored
Parsing a register name/number for .cfi directives can't assume that a register name starts with a '%' token. Be more flexible and check for a register number instead. Still unlikely to be perfect, but it allows us to parse both plain identifiers as register names and integers as register numbers, which is what we're wanting to support at this point. llvm-svn: 132466
-
Manuel Klimek authored
llvm-svn: 132462
-
Howard Hinnant authored
llvm-svn: 132461
-
Rafael Espindola authored
llvm-svn: 132460
-
Howard Hinnant authored
llvm-svn: 132459
-
Stuart Hastings authored
rdar://problem/6373334 llvm-svn: 132458
-
Benjamin Kramer authored
Found by valgrind. llvm-svn: 132457
-
Jakob Stoklund Olesen authored
llvm-svn: 132456
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 132455
-
-
Douglas Gregor authored
+keyPathsForValuesAffecting<Key> completion was mislabeled as an instance method, and +automaticallyNotifiesObserversOf<Key> was missing entirely. Fixes <rdar://problem/9516762>. llvm-svn: 132452
-
Rafael Espindola authored
llvm-svn: 132451
-
Jakob Stoklund Olesen authored
register classes. It provides information for each register class that cannot be determined statically, like: - The number of allocatable registers in a class after filtering out the reserved and invalid registers. - The preferred allocation order with registers that overlap callee-saved registers last. - The last callee-saved register that overlaps a given physical register. This information usually doesn't change between functions, so it is reused for compiling multiple functions when possible. The many possible combinations of reserved and callee saves registers makes it unfeasible to compute this information statically in TableGen. Use RegisterClassInfo to count available registers in various heuristics in SimpleRegisterCoalescing, making the pass run 4% faster. llvm-svn: 132450
-
Greg Clayton authored
llvm-svn: 132449
-
Akira Hatanaka authored
llvm-svn: 132448
-
Francois Pichet authored
llvm-svn: 132447
-
Eli Friedman authored
Revert r132426; this test passes more often than not, and we don't have a way to mark tests as intermittently failing at the moment. llvm-svn: 132446
-
Akira Hatanaka authored
llvm-svn: 132445
-
Akira Hatanaka authored
llvm-svn: 132444
-
Akira Hatanaka authored
llvm-svn: 132443
-
Eli Friedman authored
When marking a block as being unanalyzable, use "Clobber" on the terminator instead of the first instruction in the block. This is a bit of a hack; "Clobber" isn't really the right marking in the first place. memdep doesn't really have any way of properly expressing "unanalyzable" at the moment. Using it on the terminator is much less ambiguous than using it on an arbitrary instruction, though. In the given testcase, the "Clobber" was pointing to a load, and GVN was incorrectly assuming that meant that the "Clobber" load overlapped the load being analyzed (when they are actually unrelated). The included testcase tests both this commit and r132434. Part two of rdar://9429882. (r132434 was mislabeled.) llvm-svn: 132442
-
Johnny Chen authored
Turn off printing of command sent to the pexpect-spawned child process to make the script more robotic. llvm-svn: 132441
-
Jim Ingham authored
llvm-svn: 132440
-