- Aug 14, 2012
-
-
Craig Topper authored
Re-factor intrinsic lowering to combine common parts of similar intrinsics. Reduces compiled code size a little bit. llvm-svn: 161859
-
Chandler Carruth authored
really just push the initial version.... llvm-svn: 161858
-
Craig Topper authored
Change greater than to greater than or equal so that an identical sized store to the same offset is treated as completing overwriting. llvm-svn: 161857
-
Chandler Carruth authored
llvm-svn: 161856
-
Chandler Carruth authored
structure of how we're building concrete tools as well as tooling infrastructure as part of the Clang project. This documentation is definitely still rough. If anyone can improve it, flesh it out, or help structure it in a more natural way, please, help! =] This is not my forte, and patches here are more than welcome! llvm-svn: 161855
-
Anna Zaks authored
llvm-svn: 161854
-
Richard Smith authored
llvm-svn: 161853
-
Nadav Rotem authored
and allow some optimizations to turn conditional branches into unconditional. This commit adds a simple control-flow optimization which merges two consecutive basic blocks which are connected by a single edge. This allows the codegen to operate on larger basic blocks. rdar://11973998 llvm-svn: 161852
-
Eric Christopher authored
llvm-svn: 161851
-
Richard Smith authored
No functionality change. llvm-svn: 161832
-
Richard Smith authored
llvm-svn: 161831
-
Richard Smith authored
-fcatch-undefined-behavior. Don't try to fit 34 different flags into 32 bits. Also, don't use 32-bit signed left shifts for this. llvm-svn: 161830
-
Richard Smith authored
returns 32. This change mirrors the corresponding code in SmallDenseMap::shrink_and_clear(). llvm-svn: 161829
-
Eli Friedman authored
llvm-svn: 161828
-
Richard Smith authored
tablegen code, found by -fcatch-undefined-behavior. I would appreciate if someone more familiar with the NEON code could point me in the direction of how to write a test for this. We appear to have essentially no test coverage whatsoever for these builtins. llvm-svn: 161827
-
Eric Christopher authored
llvm-svn: 161826
-
NAKAMURA Takumi authored
llvm-svn: 161825
-
Chandler Carruth authored
return to the same directory. llvm-svn: 161823
-
Anna Zaks authored
llvm-svn: 161822
-
Anna Zaks authored
The autorelease pool has not been implemented completely: we were adding the autoreleased symbols to the state, but never looking at them. Until we have a complete implementation, remove the overhead and comment out the unused code. llvm-svn: 161821
-
Anna Zaks authored
to set/get/remove the RefBinding. No functional change here. Having these setter and getter methods will make it much easier when replacing the underlining representation of RefBindings (I just went through the exercise). It makes the code more readable as well. llvm-svn: 161820
-
Anna Zaks authored
llvm-svn: 161819
-
Jordan Rose authored
This allows us to store type info for non-symbolic regions. No functionality change. llvm-svn: 161811
-
Jordan Rose authored
While there is now some duplication between SimpleCall and the CXXInstanceCall sub-hierarchy, this is much better than copy-and-pasting the devirtualization logic shared by both instance methods and destructors. An unfortunate side effect is that there is no longer a single CallEvent type that corresponds to "calls written as CallExprs". For the most part this is a good thing, but the checker callback eval::Call still takes a CallExpr rather than a CallEvent (since we're not sure if we want to allow checkers to evaluate other kinds of calls). A mistake here will be caught by a cast<> in CheckerManager::runCheckersForEvalCall. No functionality change. llvm-svn: 161809
-
Jordan Rose authored
Virtual base regions are never layered, so simply stripping them off won't necessarily get you to the correct casted class. Instead, what we want is the same logic for evaluating dynamic_cast: strip off base regions if possible, but add new base regions if necessary. llvm-svn: 161808
-
Owen Anderson authored
Add a roundToIntegral method to APFloat, which can be parameterized over various rounding modes. Use this to implement SelectionDAG constant folding of FFLOOR, FCEIL, and FTRUNC. llvm-svn: 161807
-
Johnny Chen authored
Change the test case, too. llvm-svn: 161806
-
Jakob Stoklund Olesen authored
llvm-svn: 161805
-
Jakob Stoklund Olesen authored
llvm-svn: 161804
-
Nadav Rotem authored
LICM uses AliasSet information to hoist and sink instructions. However, other passes, such as LoopRotate may invalidate its AliasSet because SSAUpdater does not update the AliasSet properly. This patch teaches SSAUpdater to notify AliasSet that it made changes. The testcase in PR12901 is too big to be useful and I could not reduce it to a normal size. rdar://11872059 PR12901 llvm-svn: 161803
-
Nadav Rotem authored
Currently, if GetLocation reports that it did not find a valid pointer (this is the case for volatile load/stores), we ignore the result. This patch adds code to handle the cases where we did not obtain a valid pointer. rdar://11872864 PR12899 llvm-svn: 161802
-
Jim Grosbach authored
These tests weren't actually being run before (missing ':' after CHECK). llvm-svn: 161800
-
Jordan Rose authored
This can occur with multiple inheritance, which jumps from one parent to the other, and with virtual inheritance, since virtual base regions always wrap the actual object and can't be nested within other base regions. This also exposed some incorrect logic for multiple inheritance: even if B is known not to derive from C, D might still derive from both of them. llvm-svn: 161798
-
Jordan Rose authored
...and /do/ strip CXXBaseObjectRegions when casting to a virtual base class. This allows us to enforce the invariant that a CXXBaseObjectRegion can always provide an offset for its base region if its base region has a known class type, by only allowing virtual bases and direct non-virtual bases to form CXXBaseObjectRegions. This does mean some slight problems for our modeling of dynamic_cast, which needs to be resolved by finding a path from the current region to the class we're trying to cast to. llvm-svn: 161797
-
Chad Rosier authored
llvm-svn: 161796
-
- Aug 13, 2012
-
-
Jason Molenda authored
return 0x0 as the read value instead of uninitialized stack data so we get consistent behavior from the emulator. <rdar://problem/12058770> llvm-svn: 161795
-
Jakob Stoklund Olesen authored
It never does anything when running 'make check', and it get's in the way of updating live intervals in 2-addr. The hook was originally added to help form IT blocks in Thumb2 code before register allocation, but the pass ordering has changed since then, and we run if-conversion after register allocation now. When the MI scheduler is enabled, there will be no less than two schedulers between 2-addr and Thumb2ITBlockPass, so this hook is unlikely to help anything. llvm-svn: 161794
-
Chad Rosier authored
llvm-svn: 161793
-
Bill Wendling authored
llvm-svn: 161792
-
Richard Smith authored
forgot to set it as being instantiation-dependent as well as being type- and value-dependent. llvm-svn: 161791
-