Daniel Dunbar
a7a354e3e3
cindex/Python: Add full support for Diagnostic and FixIt objects, available via TranslationUnit.diagnostics.
...
Several important FIXMEs remain:
- We aren't getting all the notes?
- There is still no way to get diagnostics for invalid inputs.
llvm-svn: 94933
2010-01-30 23:59:02 +00:00
Daniel Dunbar
15635b8f5c
cindex/Python: Update SourceLocation and SourceRange structures to match API changes.
...
Hurray for exposing implementation details!!!
llvm-svn: 94932
2010-01-30 23:58:50 +00:00
Daniel Dunbar
1e079a48ad
cindex/Python: Update Index.create for removal of displayDiagnostics.
...
llvm-svn: 94931
2010-01-30 23:58:39 +00:00
Daniel Dunbar
83a2354c8b
CIndex: Fix clang_equalLocations for change to ptr_data field.
...
llvm-svn: 94930
2010-01-30 23:58:27 +00:00
Daniel Dunbar
8fa74aa21d
Simplify.
...
llvm-svn: 94929
2010-01-30 23:31:57 +00:00
Daniel Dunbar
9ee3a92a75
CIndex: Fix diagnostic callback to not return SourceLocations with a reference to a temporary LangOptions object.
...
llvm-svn: 94928
2010-01-30 23:31:49 +00:00
Daniel Dunbar
854d36bd9b
CIndex: Fix ReportSerializedDiagnostics to honor the DiagnosticClient contract
...
that diagnostics with a source location should occur inside
{Begin,End}SourceFile.
Note that code completion is currently passing in an invalid LangOptions object
due to its implementation, I need to sort this out with Doug.
llvm-svn: 94927
2010-01-30 23:31:40 +00:00
Anders Carlsson
98323d29b6
Remove the SmallVectors from AsmStmt. Fixes PR6105.
...
llvm-svn: 94926
2010-01-30 23:19:41 +00:00
Anders Carlsson
9a020f9a3a
Use IdentifierInfo * instead of std::string for the AsmStmt names.
...
llvm-svn: 94925
2010-01-30 22:25:16 +00:00
Daniel Dunbar
6b03ecef0d
ASTUnit: Ensure the CompilerInvocation object used in LoadFromCommandLine is
...
live as long as the ASTUnit. This is useful for clients which want to maintain
pointers to the LangOptions object which ultimately lives in the
CompilerInvocation, although it would be nice to make all of this ownership
stuff more explicit and obvious.
llvm-svn: 94924
2010-01-30 21:47:16 +00:00
Daniel Dunbar
6824225465
CompilerInstance: Change to not contain the CompilerInvocation object.
...
This allows clients to install their own CompilerInvocation object, which is
important for clients that may wish to create references to things like
LangOptions whose lifetime will extend past that of the CompilerInstance.
llvm-svn: 94923
2010-01-30 21:47:07 +00:00
Anders Carlsson
0c5d7448d8
Fix thinko.
...
llvm-svn: 94922
2010-01-30 20:48:08 +00:00
Anders Carlsson
66de081f39
Even more AsmStmt cleanup.
...
llvm-svn: 94921
2010-01-30 20:38:10 +00:00
Anders Carlsson
087bc13d96
More asm cleanup.
...
llvm-svn: 94920
2010-01-30 20:05:21 +00:00
Benjamin Kramer
31a68e70a5
Simplify FreeBSD version parsing.
...
llvm-svn: 94919
2010-01-30 19:55:01 +00:00
Anders Carlsson
96fe0b5b96
Combine AsmStmt::setOutputsAndInputs and AsmStmt::setClobbers.
...
llvm-svn: 94918
2010-01-30 19:34:25 +00:00
Anders Carlsson
c7c5baa482
Yay for more StringRefs.
...
llvm-svn: 94917
2010-01-30 19:12:25 +00:00
Anders Carlsson
0b0a122fde
StringRef-ize the TargetInfo::ConstraintInfo constructor.
...
llvm-svn: 94916
2010-01-30 18:33:31 +00:00
Bruno Cardoso Lopes
193e64c699
Fix PR6144. Reload GP before the emission of CALLSEQ_END to guarantee the right reload order
...
llvm-svn: 94915
2010-01-30 18:32:07 +00:00
Bruno Cardoso Lopes
7ee71912ed
Fix mov.d out register by using the FFR register class directly
...
llvm-svn: 94914
2010-01-30 18:29:19 +00:00
Anders Carlsson
bd32c434ae
Add an assert to make sure that we don't try to mess with overridden methods for class templates.
...
llvm-svn: 94907
2010-01-30 17:42:34 +00:00
Benjamin Kramer
2ecf8eb2dc
PCHReader doesn't implement classof so dyn_casting it will do really weird stuff. Use a static_cast instead.
...
I don't know if this hack is the right fix. Doug, please take a look.
llvm-svn: 94895
2010-01-30 16:23:25 +00:00
Daniel Dunbar
19b70bd46c
Recognize 'q' as a format length modifier (from BSD).
...
llvm-svn: 94894
2010-01-30 15:49:20 +00:00
Benjamin Kramer
842bf17366
Use StringRef instead of returning a temporary std::string.
...
This fixes a really nasty bug in Darwin::getDarwinArchName where we were going
StringRef -> temporary std::string -> StringRef (and return the dead StringRef).
The StringRefs from Triple live as long as the Triple itself, that should be
long enough.
Hopefully 2 of 4 MSVC buildbot failures are gone now.
llvm-svn: 94892
2010-01-30 15:01:47 +00:00
Anton Korobeynikov
25df248382
Fix a gross typo: ARMv6+ may or may not support unaligned memory operations.
...
Even if they are suported by the core, they can be disabled
(this is just a configuration bit inside some register).
Allow unaligned memops on darwin and conservatively disallow them otherwise.
llvm-svn: 94889
2010-01-30 14:08:12 +00:00
Benjamin Kramer
a87bdb793e
We don't need to place 0 in the URL string now that we return a StringRef.
...
- URL can go into read only memory now.
- Compilers will fold away all the strstr calls.
llvm-svn: 94887
2010-01-30 14:01:39 +00:00
Anton Korobeynikov
cbc4e98381
Fix alignment for msp430 integer types.
...
llvm-svn: 94879
2010-01-30 12:55:11 +00:00
Benjamin Kramer
f1e1e9596c
Silence clang++ warning.
...
llvm-svn: 94878
2010-01-30 12:15:41 +00:00
Bob Wilson
56600a15ad
Check alignment of loads when deciding whether it is safe to execute them
...
unconditionally. Besides checking the offset, also check that the underlying
object is aligned as much as the load itself.
llvm-svn: 94875
2010-01-30 04:42:39 +00:00
Anders Carlsson
a18f0fbca2
Eliminate yet another old-school PerformCopyInitialization.
...
llvm-svn: 94874
2010-01-30 01:56:32 +00:00
Evan Cheng
70f714fdbe
Allow more tailcall optimization: calls with inputs that are all passed in registers.
...
llvm-svn: 94873
2010-01-30 01:22:00 +00:00
Evan Cheng
2d5a75b42a
Don't forget to transfer target flag when inserting a tailcall instruction.
...
llvm-svn: 94872
2010-01-30 01:16:15 +00:00
Devang Patel
160c92dd19
Emit declaration DIE for the class static variables.
...
llvm-svn: 94870
2010-01-30 01:08:30 +00:00
Daniel Dunbar
76e5d70c57
MC/X86 AsmParser: Handle absolute memory operands correctly. We were doing
...
something totally broken and parsing them as immediates, but the .td file also
had the wrong match class so things sortof worked. Except, that is, that we
would parse
movl $0, %eax
as
movl 0, %eax
Feel free to guess how well that worked.
llvm-svn: 94869
2010-01-30 01:02:48 +00:00
Daniel Dunbar
cf18153de2
AsmMatcher: Create operand classes before use, apparently records aren't visited
...
in the order they were declared.
llvm-svn: 94868
2010-01-30 01:02:37 +00:00
Ted Kremenek
9ff02052dd
Add format string checking of 'double' arguments. Fixes <rdar://problem/6931734>.
...
llvm-svn: 94867
2010-01-30 01:02:18 +00:00
Dale Johannesen
e057403835
Fix a case where debug_value could affect codegen.
...
llvm-svn: 94866
2010-01-30 00:57:47 +00:00
Ted Kremenek
b0fe9b9a40
Add test case for <rdar://problem/7068334> (which was fixed by r94864).
...
llvm-svn: 94865
2010-01-30 00:56:00 +00:00
Ted Kremenek
c3bdff7c8c
Add basic type checking of format string conversion specifiers and their arguments. Thanks to Cristian Draghici for his help with this patch!
...
llvm-svn: 94864
2010-01-30 00:49:51 +00:00
Bob Wilson
4b71b6c179
Use more specific types to avoid casts. No functionality change.
...
llvm-svn: 94863
2010-01-30 00:41:10 +00:00
Bob Wilson
2e51136f80
Remove ARM-specific calling convention from this test. Target data is
...
needed for this test, but otherwise, there's nothing ARM-specific about
it and no need to specify the calling convention.
llvm-svn: 94862
2010-01-30 00:40:23 +00:00
Daniel Dunbar
f05d00787a
X86.td: Refactor to bring operands that use print_pcrel_imm together.
...
llvm-svn: 94861
2010-01-30 00:24:12 +00:00
Daniel Dunbar
e9aa36c895
FileCheck: When looking for "possible matches", only compare against the prefix
...
line. Turns out edit_distance can be slow if the string we are scanning for
happens to be quite large.
llvm-svn: 94860
2010-01-30 00:24:06 +00:00
Daniel Dunbar
a97adee959
AsmMatcher/X86: Separate out sublass for memory operands that have no segment
...
register, and use to cleanup a FIXME in X86AsmParser.cpp.
llvm-svn: 94859
2010-01-30 00:24:00 +00:00
Jakob Stoklund Olesen
e27dc727e2
Keep iterating over all uses when meeting a phi node in AllUsesOfValueWillTrapIfNull().
...
This bug was exposed by my inliner cost changes in r94615, and caused failures
of lencod on most architectures when building with LTO.
This patch fixes lencod and 464.h264ref on x86-64 (and likely others).
llvm-svn: 94858
2010-01-29 23:54:14 +00:00
Daniel Dunbar
7f0421eebb
MC/X86: Add a nice X86 assembler matcher test case from Kevin Enderby.
...
- This test case is auto generated, and has been verified to round-trip
correctly through llvm-mc by checking the assembled .o file before and after
piping through llvm-mc. It will be extended over time as the matcher grows
support for more instructions.
llvm-svn: 94857
2010-01-29 23:32:40 +00:00
Ted Kremenek
605b0113f3
Be a little more permissive than C99: allow 'unsigned' to be used for
...
the field width and precision of a format specifier instead of just
'int'. This matches GCC, and fixes <rdar://problem/6079850>.
llvm-svn: 94856
2010-01-29 23:32:22 +00:00
Johnny Chen
34a6afc68d
Modified encoding bits specification for VFP instructions. In particular, the D
...
bit (Inst{22}) and the M bit (Inst{5}) should be left unspecified. For binary
format instructions, Inst{6} and Inst{4} need to specified for proper decodings.
llvm-svn: 94855
2010-01-29 23:21:10 +00:00
Dan Gohman
5ded1424b0
Print a comment next to "materializable" global values, to distinguish
...
them from values that are not actually defined in the module.
llvm-svn: 94854
2010-01-29 23:12:36 +00:00
Evan Cheng
25217ffaed
PPC is not ready for sibcall optimization.
...
llvm-svn: 94853
2010-01-29 23:05:56 +00:00