- May 28, 2013
-
-
James Molloy authored
Extend LinkModules to pass a ValueMaterializer to RemapInstruction and friends to lazily create Functions for lazily linked globals. This is a big win when linking small modules with large (mostly unused) library modules. llvm-svn: 182776
-
Evgeniy Stepanov authored
llvm-svn: 182775
-
Evgeniy Stepanov authored
llvm-svn: 182774
-
Rafael Espindola authored
llvm-svn: 182773
-
Manuel Klimek authored
The FormatToken is now not copyable any more. llvm-svn: 182772
-
Evgeniy Stepanov authored
llvm-svn: 182771
-
Peter Collingbourne authored
Differential Revision: http://llvm-reviews.chandlerc.com/D873 llvm-svn: 182770
-
NAKAMURA Takumi authored
llvm-svn: 182769
-
Manuel Klimek authored
With this patch, we create all tokens in one go before parsing and pass an ArrayRef<FormatToken*> to the UnwrappedLineParser. The UnwrappedLineParser is switched to use pointer-to-token internally. The UnwrappedLineParser still copies the tokens into the UnwrappedLines. This will be fixed in an upcoming patch. llvm-svn: 182768
-
Daniel Jasper authored
llvm-svn: 182767
-
Renato Golin authored
llvm-svn: 182766
-
Peter Collingbourne authored
Differential Revision: http://llvm-reviews.chandlerc.com/D872 llvm-svn: 182765
-
Richard Sandiford authored
This patch adds support for the CRJ and CGRJ instructions. Support for the immediate forms will be a separate patch. The architecture has a large number of comparison instructions. I think it's generally better to concentrate on using the "best" comparison instruction first and foremost, then only use something like CRJ if CR really was the natual choice of comparison instruction. The patch therefore opportunistically converts separate CR and BRC instructions into a single CRJ while emitting instructions in ISelLowering. llvm-svn: 182764
-
Renato Golin authored
llvm-svn: 182763
-
Richard Sandiford authored
This is needed for the upcoming compare-and-branch patch. No functional change intended. llvm-svn: 182762
-
Alexey Samsonov authored
llvm-svn: 182761
-
Manuel Klimek authored
To fully support this, we also need to expand tabs in the text before the block comment. This patch breaks indentation when there was a non-standard mixture of spaces and tabs used for indentation, but fixes a regression in the simple case: { /* * Comment. */ int i; } Is now formatted correctly, if there were tabs used for indentation before. llvm-svn: 182760
-
Renato Golin authored
llvm-svn: 182759
-
Alexey Samsonov authored
llvm-svn: 182758
-
Manuel Klimek authored
Block comment indentation of empty lines regressed, as we did not have a test for it. /* Comment with... * * empty line. */ is now formatted correctly again. llvm-svn: 182757
-
Daniel Jasper authored
Before: int (*func)(void*); void f() { int(*func)(void*); } After (consistent space after "int"): int (*func)(void*); void f() { int (*func)(void*); } llvm-svn: 182756
-
Michael Kuperstein authored
Make BasicAliasAnalysis recognize the fact a noalias argument cannot alias another argument, even if the other argument is not itself marked noalias. llvm-svn: 182755
-
Daniel Jasper authored
This gets turned into two ">" operators at the beginning in order to simplify template parameter handling. Thus, we need a special case to handle those two binary operators correctly. With this patch, clang-format can now correctly handle cases like: aaaaaa = aaaaaaa(aaaaaaa, // break aaaaaa) >> bbbbbb; llvm-svn: 182754
-
Jakob Stoklund Olesen authored
The coercion type serves two purposes: 1. Pad structs to a multiple of 64 bits, so they are passed 'left-aligned' in registers. 2. Expose aligned floating point elements as first-level elements, so the code generator knows to pass them in floating point registers. We also compute the InReg flag which indicates that the struct contains aligned 32-bit floats. This flag is used by the code generator to pick the right registers. llvm-svn: 182753
-
Daniel Malea authored
- [ninja|make] lldb-cpp-doc builds the C++ API reference docs - [ninja|make] lldb-python-doc builds the python API reference docs - updated build page on website to include instructions to build docs Tested on Linux/Mac OS X llvm-svn: 182752
-
Daniel Malea authored
- This resolves the remaining issues related to building lldb utility/dylib - TODO: fix up debugserver build Patch by Ahmed Bougacha! llvm-svn: 182751
-
Rafael Espindola authored
Fixes PR16114. llvm-svn: 182750
-
Rafael Espindola authored
No intended functionality change. llvm-svn: 182749
-
Rafael Espindola authored
No functionality change. llvm-svn: 182747
-
Rafael Espindola authored
And remove header and cpp file that are empty after that. llvm-svn: 182746
-
- May 27, 2013
-
-
Jakob Stoklund Olesen authored
- All integer arguments smaller than 64 bits are extended. - Large structs are passed indirectly, not using 'byval'. - Structs up to 32 bytes in size are returned in registers. Some things are not implemented yet: - EmitVAArg can be implemented in terms of the va_arg instruction. - When structs are passed in registers, float members require special handling because they are passed in the floating point registers. - Structs are left-aligned when passed in registers. This may require padding. llvm-svn: 182745
-
Peter Collingbourne authored
This option is used to select a dynamic loader prefix to be used at runtime. Currently this is implemented for the Linux toolchain. Differential Revision: http://llvm-reviews.chandlerc.com/D851 llvm-svn: 182744
-
Peter Collingbourne authored
llvm-svn: 182743
-
David Blaikie authored
llvm-svn: 182742
-
Daniel Jasper authored
Before: A < int&& > a; After: A<int &&> a; Also remove obsolete FIXMEs. llvm-svn: 182741
-
Peter Collingbourne authored
llvm-svn: 182740
-
Preston Gurd authored
When -ffast-math is in effect (on Linux, at least), clang defines __FINITE_MATH_ONLY__ > 0 when including <math.h>. This causes the preprocessor to include <bits/math-finite.h>, which renames the sqrt functions. For instance, "sqrt" is renamed as "__sqrt_finite". This patch adds the 3 new names in such a way that they will be treated as equivalent to their respective original names. llvm-svn: 182739
-
Manuel Klimek authored
Unify handling of whitespace when breaking protruding tokens with other whitespace replacements. As a side effect, the BreakableToken structure changed significantly: - have a common base class for single-line breakable tokens, as they are much more similar - revamp handling of multi-line comments; we now calculate the information about lines in multi-line comments similar to normal tokens, and always issue replacements As a result, we were able to get rid of special casing of trailing whitespace deletion for comments in the whitespace manager and the BreakableToken and fixed bugs related to tab handling and escaped newlines. llvm-svn: 182738
-
Rafael Espindola authored
We were handling only local types in inline External functions before. llvm-svn: 182737
-
Ariel J. Bernal authored
UseAuto used to replace declarion lists with new expressons where some variable were not initialized with new. This fix checks that every DeclStmt has a VarDecl with an initializer and it also ensures that all declarations have the same type. Added tests for multiple declarations and for typedefs. llvm-svn: 182736
-