- Apr 05, 2013
-
-
Alexey Samsonov authored
llvm-svn: 178852
-
Stepan Dyatkovskiy authored
Fix for PR14824: "Optimization arm_ldst_opt inserts newly generated instruction vldmia at incorrect position". Patch introduces memory operands tracking in ARMLoadStoreOpt::LoadStoreMultipleOpti. For each register it keeps the order of load operations as it was before optimization pass. It is kind of deep improvement of fix proposed by Hao: http://llvm.org/bugs/show_bug.cgi?id=14824#c4 But it also tracks conflicts between different register classes (e.g. D2 and S5). For more details see: Bug description: http://llvm.org/bugs/show_bug.cgi?id=14824 LLVM Commits discussion: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130311/167936.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130318/168688.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130325/169376.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130401/170238.html llvm-svn: 178851
-
Hal Finkel authored
llvm-svn: 178850
-
Rafael Espindola authored
llvm-svn: 178849
-
Hal Finkel authored
llvm-svn: 178848
-
Rafael Espindola authored
llvm-svn: 178847
-
Jason Molenda authored
Add two initial settings for the PlatformDarwinKernel plugin, plugin.platform.darwin-kernel.search-locally-for-kexts [true|false] plugin.platform.darwin-kernel.kext-directories [directory list] llvm-svn: 178846
-
Hal Finkel authored
This change fixes a bug that I introduced in r178058. After a register is scavenged using one of the available spills slots the instruction defining the virtual register needs to be moved to after the spill code. The scavenger has already processed the defining instruction so that registers killed by that instruction are available for definition in that same instruction. Unfortunately, after this, the scavenger needs to iterate through the spill code and then visit, again, the instruction that defines the now-scavenged register. In order to avoid confusion, the register scavenger needs the ability to 'back up' through the spill code so that it can again process the instructions in the appropriate order. Prior to this fix, once the scavenger reached the just-moved instruction, it would assert if it killed any registers because, having already processed the instruction, it believed they were undefined. Unfortunately, I don't yet have a small test case. Thanks to Pranav Bhandarkar for diagnosing the problem and testing this fix. llvm-svn: 178845
-
Arnold Schwaighofer authored
descriptions for compares llvm-svn: 178844
-
Rafael Espindola authored
Sorry for so many commits, but llvm is still building on my ppc vm. llvm-svn: 178843
-
Arnold Schwaighofer authored
llvm-svn: 178842
-
Rafael Espindola authored
llvm-svn: 178841
-
Shankar Easwaran authored
llvm-svn: 178840
-
Rafael Espindola authored
Looks like there is a big endian/little endian problem here. Loosen the test to try to get the bots green while llvm builds on a ppc qemu vm. The failure was in http://lab.llvm.org:8011/builders/clang-ppc64-elf-linux2/ llvm-svn: 178839
-
Shankar Easwaran authored
InputFile is being pulled from the Archive library to resolve a symbol. The buffer which was being used was already being handed over to the MemoryBuffer object and was being accessed after the hand over. Moving it before the buffer is handed over. llvm-svn: 178838
-
Rafael Espindola authored
llvm-svn: 178837
-
Jason Molenda authored
from the current Target, if there is one, else back off to getting the currently selected platform from the Debugger (as it ws doing previously.) Remove code from DynamicLoaderDarwinKernel that was setting the platform in both the Target and in the Debugger. llvm-svn: 178836
-
Rafael Espindola authored
llvm-svn: 178835
-
Anton Yartsev authored
The statement passed to isTrackedFamily() might be a user defined function calling malloc; in this case we got AF_NONE family for this function. Now the allocation family is derived from Sym, that holds a family of a real allocator. This commit is also a movement towards getting rid of tracking memory allocating by unknown means. llvm-svn: 178834
-
Rafael Espindola authored
llvm-svn: 178833
-
Sean Callanan authored
from IRExecutionUnit into a superclass called IRMemoryMap. IRMemoryMap handles all reading and writing, ensuring that areas are kept track of and memory is properly cached (and deleted). Also fixed several cases where we would simply leak binary data in the target process over time. Now the expression objects explicitly own their IRExecutionUnit and delete it when they go away. This is why I had to modify ClangUserExpression, ClangUtilityFunction, and ClangFunction. As a side effect of this, I am removing the JIT mutex for an IRMemoryMap. If it turns out that we need this mutex, I'll add it in then, but right now it's just adding complexity. This is part of a more general project to make expressions fully reusable. The next step is to make materialization and dematerialization use the IRMemoryMap API rather than writing and reading directly from the process's memory. This will allow the IR interpreter to use the same data, but in the host's memory, without having to use a different set of pointers. llvm-svn: 178832
-
Anton Yartsev authored
llvm-svn: 178831
-
Jason Molenda authored
llvm-svn: 178830
-
Rafael Espindola authored
llvm-svn: 178829
-
Jakob Stoklund Olesen authored
llvm-svn: 178828
-
Jason Molenda authored
plugin will index the kext bundles on the local filesystem when created. During a kernel debug session, when the DynamicLoader plugin needs to locate a kext by name like "com.apple.com.apple.filesystems.autofs", the Platform can quickly look for a UUID match in those kernel debug kit directories it previously indexed. I'm still working on profiling the performance impact of the inital kext bundle scan; there will likely need to be a switch to enable or disable this plugin's scan. This only affects Mac kernel debugging and the code is only built on Apple systems because of some use of low-level CoreFoundation to parse plists. <rdar://problem/13503583> llvm-svn: 178827
-
Anna Zaks authored
Also had to modify the PostInitializer ProgramLocation to contain the field region. llvm-svn: 178826
-
Rafael Espindola authored
Thanks a lot to Richard Smith for the suggestion. llvm-svn: 178825
-
Anton Yartsev authored
Missed check added to testMallocFreeNoWarn(). Removed FIXMEs as the current behaviour is considered acceptable now. llvm-svn: 178824
-
Andrew Trick authored
llvm-svn: 178823
-
Andrew Trick authored
For now, just save the compile time since the ConvergingScheduler heuristics don't use this analysis. We'll probably enable it later after compile-time investigation. llvm-svn: 178822
-
Andrew Trick authored
I'm getting more serious about tuning and enabling on x86/ARM. Start by making the trace readable. llvm-svn: 178821
-
Anton Yartsev authored
llvm-svn: 178820
-
Howard Hinnant authored
llvm-svn: 178819
-
Manman Ren authored
llvm-svn: 178818
-
Shankar Easwaran authored
llvm-svn: 178817
-
Michael J. Spencer authored
This fixes std::thread with libstdc++. llvm-svn: 178816
-
Shankar Easwaran authored
llvm-svn: 178815
-
Anton Yartsev authored
This fixes an issue pointed to by Jordan: if unix.Malloc and unix.MismatchedDeallocator are both on, then we end up still tracking leaks of memory allocated by new. Moved the guards right before emitting the bug reports to unify and simplify the logic of handling of multiple checkers. Now all the checkers perform their checks regardless of if they were enabled, or not, and it is decided just before the emitting of the report, if it should be emitted. (idea from Anna). Additional changes: improved test coverage for checker correlations; refactoring: BadDealloc -> MismatchedDealloc llvm-svn: 178814
-
Tanya Lattner authored
llvm-svn: 178813
-