- Sep 13, 2012
-
-
Jim Grosbach authored
When comparing to the macho relocation type enum value, make sure we're only comparing against the bits in the RelType that correspond. llvm-svn: 163764
-
Jim Grosbach authored
llvm-svn: 163763
-
Anna Zaks authored
Thanks Jordan. llvm-svn: 163762
-
Jakob Stoklund Olesen authored
We don't have enough GR64_TC registers when calling a varargs function with 6 arguments. Since %al holds the number of vector registers used, only %r11 is available as a scratch register. This means that addressing modes using both base and index registers can't be folded into TCRETURNmi64. <rdar://problem/12282281> llvm-svn: 163761
-
Ted Kremenek authored
Objective-C related to NSException. Fixes <rdar://problem/12287498> I debated whether or not this logic should be sunk into the CFG itself. It's not clear if we should, as different analyses may wish to have different policies. We can re-evaluate this in the future. llvm-svn: 163760
-
Ted Kremenek authored
in NSException to a helper object in libAnalysis that can also be used by Sema. Not sure if the predicate name 'isImplicitNoReturn' is the best one, but we can massage that later. No functionality change. llvm-svn: 163759
-
Chad Rosier authored
llvm-svn: 163758
-
Bill Wendling authored
This function writes out the current values of the counters and then resets them. This can be used similarly to the __gcov_flush function to sync the counters when need be. For instance, in a situation where the application doesn't exit. <rdar://problem/12185886> llvm-svn: 163757
-
Chad Rosier authored
more robust way to address a few FIXMEs. The initial implementation, r163342, built the IR asm string and then tried to patch things on the fly without enough context. Specifically, it didn't skip mnemonics nor did it track with assembly instruction an expression was related to. The new implementation patches the operands and then builds the final IR string. llvm-svn: 163756
-
Eric Christopher authored
Make clang emit a flag for DW_AT_object_pointer for the artificial args where it should (implicit first arguments). FileCheck-ize a test as well and update tests to take into account the object pointer flag. rdar://9797999 llvm-svn: 163755
-
Eric Christopher authored
Add some support for dealing with an object pointer on arguments. Part of rdar://9797999 which now supports adding the object pointer attribute to the subprogram as it should. llvm-svn: 163754
-
Akira Hatanaka authored
1. Remove RA from list of allocatable registers 2. Enable d,y,r constraint inline assembly instructions Patch by Reed Kotler. llvm-svn: 163753
-
Richard Trieu authored
static Qualifiers removeCommonQualifiers(Qualifiers &L, Qualifiers &R) Removes the common qualifiers from L and R and returns them in a new Qualifier. This will be used in template diffing. void removeQualifiers(Qualifiers Q) Removes the qualifiers in Q from the current qualifier. This replaces the current underlying implementation of operator- and operator -= which only performed bit masking. llvm-svn: 163752
-
Chad Rosier authored
llvm-svn: 163751
-
Anna Zaks authored
Fixes a false positive found by analyzing LLVM code base. llvm-svn: 163750
-
Anna Zaks authored
llvm-svn: 163749
-
Anna Zaks authored
llvm-svn: 163748
-
Jordan Rose authored
Again, GCC is more aggressive about reusing temporary space than we are, leading to Release build crashes for this undefined behavior. PR13710 (though it may not be the only problem there) llvm-svn: 163747
-
- Sep 12, 2012
-
-
Jordan Rose authored
We mostly just don't want to crash analyzing this test case; it's likely the code found here will actually crash if compiled and run. llvm-svn: 163746
-
Jordan Rose authored
Currently we don't update the dynamic type of a C++ object when it is cast. This can cause the situation above, where the static type of the region is now known to be a subclass of the dynamic type. Once we start updating DynamicTypeInfo in response to the various kinds of casts in C++, we can re-add this assert to make sure we don't miss any cases. This work is tracked by <rdar://problem/12287087>. In -Asserts builds, we will simply not return any runtime definition when our DynamicTypeInfo is known to be incorrect like this. llvm-svn: 163745
-
Jordan Rose authored
Using the static type may be inconsistent with later calls. We should just report that there is no inlining definition available if the static type is better than the dynamic type. See next commit. This reverts r163644 / 19d5886d1704e24282c86217b09d5c6d35ba604d. llvm-svn: 163744
-
Michael Liao authored
- BlockAddress has no support of BA + offset form and there is no way to propagate that offset into machine operand; - Add BA + offset support and a new interface 'getTargetBlockAddress' to simplify target block address forming; - All targets are modified to use new interface and X86 backend is enhanced to support BA + offset addressing. llvm-svn: 163743
-
Enrico Granata authored
llvm-svn: 163742
-
Fariborz Jahanian authored
// rdar://12280826 llvm-svn: 163741
-
Daniel Jasper authored
There are two evils we can choose from: - Name overlap between isA-matcher and llvm::isa<>() - Bad name for what the isA-matcher currently does After some discussion we have agreed to go with the latter evil. Review: http://llvm-reviews.chandlerc.com/D40 llvm-svn: 163740
-
-
Fariborz Jahanian authored
__autoreleasing is explicitely added to param type. // rdar://12280826 llvm-svn: 163738
-
Chad Rosier authored
llvm-svn: 163737
-
Owen Anderson authored
Remove an overly-aggressive assertion. The code following this assertion already knows how to handle the case where DstRC was NULL, so it's not actually protecting us from anything, and this pattern can come up when using unknown_class operands in the SelectionDAG. llvm-svn: 163736
-
Jakob Stoklund Olesen authored
llvm-svn: 163735
-
Eric Christopher authored
This should be done on the subprogram, not the variable itself. llvm-svn: 163734
-
Eric Christopher authored
this should be done on the subprogram, not the variable. llvm-svn: 163733
-
Chad Rosier authored
llvm-svn: 163731
-
Chad Rosier authored
llvm-svn: 163730
-
Chad Rosier authored
llvm-svn: 163729
-
Chad Rosier authored
MCOperands then iterate over all of then when computing clobbers, inputs and outputs. On x86 the 1-to-many mapping is a memory operand that includes a BaseReg(reg), MemScale(imm), MemIndexReg(reg), an Expr(MCExpr or imm) and a MemSegReg(reg). Invalid register (Op.getReg() == 0) are not considered when computing clobber. llvm-svn: 163728
-
Jim Grosbach authored
llvm-svn: 163726
-
Filipe Cabecinhas authored
llvm-svn: 163725
-
Manman Ren authored
to the default target. llvm-svn: 163724
-
Dmitri Gribenko authored
llvm-svn: 163723
-