- Dec 07, 2012
-
-
John McCall authored
We were emitting calls to blocks as if all arguments were required --- i.e. with signature (A,B,C,D,...) rather than (A,B,...). This patch fixes that and accounts for the implicit block-context argument as a required argument. In addition, this patch changes the function type under which we call unprototyped functions on platforms like x86-64 that guarantee compatibility of variadic functions with unprototyped function types; previously we would always call such functions under the LLVM type T (...)*, but now we will call them under the type T (A,B,C,D,...)*. This last change should have no material effect except for making the type conventions more explicit; it was a side-effect of the most convenient implementation. llvm-svn: 169588
-
NAKAMURA Takumi authored
llvm-svn: 169587
-
Ted Kremenek authored
Further reduce analysis time by 0.2% on a heavy Objective-C example by avoiding over-eager canonicalization of clusters. llvm-svn: 169586
-
Jakob Stoklund Olesen authored
This is the preferred way of creating bundled machine instructions. llvm-svn: 169585
-
Jakob Stoklund Olesen authored
Like the MachineInstrBuilder, this class makes it easier to build bundles of MachineInstrs. llvm-svn: 169584
-
Jakob Stoklund Olesen authored
This is still a work in progress. The purpose is to make bundling and unbundling operations explicit, and to catch errors where bundles are broken or created inadvertently. The old IsInsideBundle flag is replaced by two MI flags: BundledPred which has the same meaning as IsInsideBundle, and BundledSucc which is set on instructions that are bundled with a successor. Having two flags provdes redundancy to detect when a bundle is inadvertently torn by a splice() or insert(), and it makes it possible to write bundle iterators that don't need to peek at adjacent instructions. The new flags can't be manipulated directly (once setIsInsideBundle is gone). Instead there are MI functions to make and break bundle bonds. The setIsInsideBundle function will be removed in a future commit. It should be replaced by bundleWithPred(). llvm-svn: 169583
-
rdar://problem/12831670Jason Molenda authored
When using the same-device optimization for shared cache libraries, if we have an invalid load address for __LINKEDIT, don't try to read anything out of lldb's own address space. Reading it out of the remote address space will fail gracefully if we have bad addresses but reading it out of lldb's own address space will result in a crash. llvm-svn: 169582
-
David Blaikie authored
llvm-svn: 169581
-
Akira Hatanaka authored
use. llvm-svn: 169580
-
Akira Hatanaka authored
llvm-svn: 169579
-
Akira Hatanaka authored
llvm-svn: 169578
-
Akira Hatanaka authored
llvm-svn: 169577
-
Richard Smith authored
llvm-svn: 169576
-
Alexey Samsonov authored
llvm-svn: 169575
-
Richard Smith authored
llvm-svn: 169574
-
Chandler Carruth authored
by virtue of inbounds GEPs that preclude a null pointer. This is a very common pattern in the code generated by std::vector and other standard library routines which use allocators that test for null pervasively. This is one step closer to teaching Clang+LLVM to be able to produce an empty function for: void f() { std::vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); } Which is related to getting them to completely fold SmallVector push_back sequences into constants when inlining and other optimizations make that a possibility. llvm-svn: 169573
-
Ted Kremenek authored
llvm-svn: 169572
-
Ted Kremenek authored
This reduces analysis time by 1.2% on one test case (Objective-C), but also cleans up some of the code conceptually as well. We can possible just make RegionBindingsRef -> RegionBindings, but I wanted to stage things. After this, we should revisit Jordan's optimization of not canonicalizing the immutable AVL trees for the cluster bindings as well. llvm-svn: 169571
-
Jordan Rose authored
Thanks for reminding me about copy-elision, David. Passing references here doesn't help when we could get move construction in C++11. If we really cared, we'd use std::swap to steal the reference from the temporary arg, but it's probably not /that/ critical outside of Profile anyway. llvm-svn: 169570
-
NAKAMURA Takumi authored
Makefile.common: Update a description, s/Source/SOURCES/ , according to MakefileGuide.html#control-variables . llvm-svn: 169569
-
NAKAMURA Takumi authored
- Use SOURCES instead of Source. See Makefile.rules and MakefileGuide.html. - Don't assume the current directory. $(wildcard *.cc) doesn't match anything on corresponding build directory. llvm-svn: 169568
-
rdar://problem/8908550Greg Clayton authored
Added "--address" as an available option for "source list". llvm-svn: 169567
-
NAKAMURA Takumi authored
llvm-svn: 169566
-
Eli Bendersky authored
llvm-svn: 169565
-
Alexey Samsonov authored
llvm-svn: 169564
-
Jordan Rose authored
Suggested by David Blaikie. ExplodedNode, CallEvent, and CheckerContext all hang onto their ProgramState, so the accessors can return a reference to the internal state rather than preemptively copying it. This helps avoid temporary ProgramStateRefs, though local variables will still (correctly) do an extra retain and release. llvm-svn: 169563
-
Logan Chien authored
and will break the build on buildbot. llvm-svn: 169562
-
Matt Beaumont-Gay authored
decide what pattern we want to follow in the future. llvm-svn: 169561
-
rdar://problem/12827789Greg Clayton authored
Be sure to load dSYM files when the object file is in memory only. llvm-svn: 169560
-
Alexey Samsonov authored
1) don't delete gtest-all.cc (which is used to gather all gtest source files in a single file) 2) make including LLVMSupport headers optional (on by default). Sanitizer tools may want to use their own versions of googletest compiled with specific flags, instead of the common googletest library used for all other LLVM/Clang unittests. llvm-svn: 169559
-
Argyrios Kyrtzidis authored
llvm-svn: 169558
-
- Dec 06, 2012
-
-
Logan Chien authored
* Look for i686-linux-android under <sysroot>/lib/gcc. * This patch also slightly enhance the test suite for Android GCC toolchain detection. llvm-svn: 169557
-
rdar://problem/12820334Greg Clayton authored
I modified the "Args::StringtoAddress(...)" function to be able to evaluate address expressions. This is now used for any command line arguments or options that takes addresses like: memory read <addr> [<end-addr>] memory write <addr> breakpoint set --address <addr> disassemble --start-address <addr> --end-address <addr> It calls the expression parser to evaluate the address expression and will also work around the issue where the compiler doesn't like to add offsets to function pointers (which is what happens when you try to evaluate "main + 12"). So there is a temp fix in the Args::StringtoAddress() to work around this until we can get special compiler support for debug expressions with function pointers. llvm-svn: 169556
-
Richard Smith authored
llvm-svn: 169555
-
Fariborz Jahanian authored
llvm-svn: 169554
-
Pedro Artigas authored
fixed valgrind issues of prior commit, this change applies r169456 changes back to the tree with fixes. on darwin no valgrind issues exist in the tests that used to fail. original change description: change MCContext to work on the doInitialization/doFinalization model reviewed by Evan Cheng <evan.cheng@apple.com> llvm-svn: 169553
-
Jason Molenda authored
llvm-svn: 169552
-
Jakub Staszak authored
llvm-svn: 169551
-
Jakub Staszak authored
llvm-svn: 169550
-
Jim Ingham authored
llvm-svn: 169549
-