| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 94754
|
| |
|
|
| |
llvm-svn: 94753
|
| |
|
|
| |
llvm-svn: 94752
|
| |
|
|
| |
llvm-svn: 94751
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getelementptr (i8* inttoptr (i64 1 to i8*), i32 -1)
to
inttoptr (i64 0 to i8*)
from the VMCore constant folder. It didn't handle sign-extension properly
in the case where the source integer is smaller than a pointer size. And,
it relied on an assumption about sizeof(i8).
The Analysis constant folder still folds these kinds of things; it has
access to TargetData, so it can do them right.
Add a testcase which tests that the VMCore constant folder doesn't
miscompile this, and that the Analysis folder does fold it.
llvm-svn: 94750
|
| |
|
|
| |
llvm-svn: 94746
|
| |
|
|
|
|
|
| |
when it should have been and'd with LowBits. Fix that and while there beef
up the logic in the case of a negative LHS.
llvm-svn: 94745
|
| |
|
|
|
|
| |
to get the access bits set properly in conversion sets.
llvm-svn: 94744
|
| |
|
|
| |
llvm-svn: 94743
|
| |
|
|
|
|
| |
rather than after.
llvm-svn: 94742
|
| |
|
|
|
|
|
|
|
|
|
|
| |
it has before/end body hooks.
lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp | 49 ++-----------
lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp | 87 ++++++------------------
lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp | 56 +++------------
test/CodeGen/XCore/ashr.ll | 2
4 files changed, 48 insertions(+), 146 deletions(-)
llvm-svn: 94741
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
so that CIndex can report diagnostics through the normal mechanisms
even when executing Clang in a separate process. This applies both
when performing code completion and when using ASTs as an intermediary
for clang_createTranslationUnitFromSourceFile().
The serialized format is not perfect at the moment, because it does
not encapsulate macro-instantiation information. Instead, it maps all
source locations back to the instantiation location. However, it does
maintain source-range and fix-it information. To get perfect fidelity
from the serialized format would require serializing a large chunk of
the source manager; at present, it isn't clear if this code will live
long enough for that to matter.
llvm-svn: 94740
|
| |
|
|
| |
llvm-svn: 94739
|
| |
|
|
|
|
|
| |
getOffsetOf, and remove the comment about assuming i8 is byte-aligned,
which is no longer applicable.
llvm-svn: 94738
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use plain SCEVUnknowns with ConstantExpr::getSizeOf and
ConstantExpr::getOffsetOf constants. This eliminates a bunch of
special-case code.
Also add code for pattern-matching these expressions, for clients that
want to recognize them.
Move ScalarEvolution's logic for expanding array and vector sizeof
expressions into an element count times the element size, to expose
the multiplication to subsequent folding, into the regular constant
folder.
llvm-svn: 94737
|
| |
|
|
|
|
| |
where the reference to 'printf' is ambiguous.
llvm-svn: 94733
|
| |
|
|
| |
llvm-svn: 94732
|
| |
|
|
|
|
|
|
| |
type is different from its inputs.
This fixes PR6146.
llvm-svn: 94731
|
| |
|
|
|
|
|
|
| |
mostly because we're going to want a better diagnostic for conversions.
Also this API needs to go back to sanity.
llvm-svn: 94730
|
| |
|
|
| |
llvm-svn: 94729
|
| |
|
|
| |
llvm-svn: 94728
|
| |
|
|
|
|
|
| |
Diffstat:
6 files changed, 30 insertions(+), 284 deletions(-)
llvm-svn: 94727
|
| |
|
|
|
|
|
| |
This allows code gen and the exception table writer to cooperate to make sure
landing pads are associated with the correct invoke locations.
llvm-svn: 94726
|
| |
|
|
| |
llvm-svn: 94725
|
| |
|
|
|
|
| |
(Radar 7583971).
llvm-svn: 94724
|
| |
|
|
|
|
| |
give upgrade instructions.
llvm-svn: 94723
|
| |
|
|
|
|
|
|
| |
runOnMachineFunction, and switch PPC to use EmitFunctionBody.
The two ppc asmprinters now don't heave to define
runOnMachineFunction.
llvm-svn: 94722
|
| |
|
|
|
|
|
|
| |
This function will use the format string parsing logic in libAnalysis,
and once it is shown to be better than the current implementation it
will replace AlternateCheckPrintfString() entirely.
llvm-svn: 94721
|
| |
|
|
|
|
| |
release.
llvm-svn: 94720
|
| |
|
|
| |
llvm-svn: 94719
|
| |
|
|
|
|
| |
"0" is nice and target independent.
llvm-svn: 94718
|
| |
|
|
| |
llvm-svn: 94717
|
| |
|
|
|
|
|
|
| |
Move the X86 implementation of function body emission up to
AsmPrinter::EmitFunctionBody, which works by calling the virtual
EmitInstruction method.
llvm-svn: 94716
|
| |
|
|
|
|
| |
format string is desired.
llvm-svn: 94715
|
| |
|
|
|
|
|
|
|
| |
diagnostic callback mechanism, so all diagnostics now go through that
callback. Also, eliminate the displayDiagnostics flag to
clang_createIndex(), since it is no longer necessary: the client
determines whether to display diagnostics or not.
llvm-svn: 94714
|
| |
|
|
| |
llvm-svn: 94713
|
| |
|
|
|
|
| |
class's vtable, if any.
llvm-svn: 94712
|
| |
|
|
| |
llvm-svn: 94710
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clients can format diagnostics as they wish rather than having to
parse standard error. All of the important parts of the front end's
diagnostics are exposed: text, severity, location, source ranges, and
fix-its. The diagnostics callback is now available with
clang_createTranslationUnitFromSource() and
clang_createTranslationUnit().
As part of this change, CXSourceLocation and CXSourceRange got one
pointer larger, since we need to hold on to the SourceManager and
LangOptions structures in the source location. This is the minimum
amount of information needed for the functions that operate on source
locations and ranges (as implemented now). Previously we held on to
the ASTContext, but the diagnostics callback can end up with source
locations when there is no ASTContext (or preprocessor).
Still to do:
- Code completion needs to support the diagnostics callback, once we
have the ability to (de-)serialize diagnostics.
- Eliminate the "displayDiagnostics" argument to createIndex; we'll
always pass diagnostics to the callback and let it deal with display.
llvm-svn: 94709
|
| |
|
|
|
|
|
| |
Overload it in the ARM backend to do nothing, since is does insane
constant pool emission.
llvm-svn: 94708
|
| |
|
|
| |
llvm-svn: 94707
|
| |
|
|
| |
llvm-svn: 94706
|
| |
|
|
|
|
| |
constify EmitLinkage.
llvm-svn: 94705
|
| |
|
|
|
|
| |
in SemaChecking).
llvm-svn: 94704
|
| |
|
|
| |
llvm-svn: 94703
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
strings than what we currently have in Sema. This is both an
experiment and a WIP.
The idea is simple: parse the format string incrementally,
constructing a well-structure representation of each format specifier.
Each format specifier is then handed back one-by-one to a client via a
callback. Malformed format strings are also handled with callbacks.
The idea is to separate the parsing of the format string from the
emission of diagnostics. Currently what we have in Sema for handling
format strings is a mongrel of both that is hard to follow and
difficult to modify (I can apply this label since I'm the original
author of that code).
This is in libAnalysis as it is reasonable generic and can potentially
be used both by libSema and libChecker.
Comments welcome.
llvm-svn: 94702
|
| |
|
|
|
|
| |
MachineFunction::Alignment instead.
llvm-svn: 94701
|
| |
|
|
| |
llvm-svn: 94700
|
| |
|
|
|
|
| |
is now less than 200 LOC!
llvm-svn: 94699
|
| |
|
|
| |
llvm-svn: 94698
|