- Mar 23, 2014
-
-
Nico Rieck authored
Proper redeclaration warnings for dllimport are not implemented yet. llvm-svn: 204577
-
Nico Rieck authored
dllimport implies a definition which means the 'extern' keyword is optional when declaring imported variables. llvm-svn: 204576
-
Arnaud A. de Grandmaison authored
llvm-svn: 204575
-
Richard Smith authored
llvm-svn: 204574
-
Justin Bogner authored
llvm-svn: 204573
-
Richard Smith authored
llvm-svn: 204572
-
Justin Bogner authored
llvm-svn: 204571
-
Richard Smith authored
namespace, we need to update both the visible names of that namespace and of its enclosing namespace set. llvm-svn: 204570
-
Arnaud A. de Grandmaison authored
llvm-svn: 204569
-
Richard Smith authored
the update set rather than the current DeclContext. Add test for the local extern case too. llvm-svn: 204568
-
Timur Iskhodzhanov authored
Simplify test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp by forcing VFTableBuilder invocation with virtual function calls or constructors codegen Previously the vftables were built at the end of the TU in a reverse-to-random order llvm-svn: 204567
-
David Majnemer authored
r204562 unwittingly failed tests for some bots. Make those tests work with both the Itanium and MS ABIs. llvm-svn: 204566
-
David Majnemer authored
This is a pretty straight forward translation for COFF, we just need to stick the function in a COMDAT section marked as IMAGE_COMDAT_SELECT_NODUPLICATES. llvm-svn: 204565
-
David Majnemer authored
/Gy is equivalent to -ffunction-sections. /Gy- is equivalent to -fno-function-sections. Currently, LLVM doesn't do anything interesting with -ffunction-sections under WinCOFF. llvm-svn: 204564
-
David Majnemer authored
/vd2 is not ignored anymore, remove it from the ignored list. Add a test to ensure that it does the right thing. llvm-svn: 204563
-
David Majnemer authored
COFF doesn't have mergeable sections so LLVM/clang's normal tactics for string deduplication will not have any effect. To remedy this we place each string inside it's own section and mark the section as IMAGE_COMDAT_SELECT_ANY. However, we can only do this if the string has an external name that we can generate from it's contents. To be compatible with MSVC, we must use their scheme. Otherwise identical strings in translation units from clang may not be deduplicated with translation units in MSVC. This fixes PR18248. N.B. We will not attempt to do anything with a string literal which is not of type 'char' or 'wchar_t' because their compiler does not support unicode string literals as of this date. llvm-svn: 204562
-
Nuno Lopes authored
found with a smarter version of -Wunused-member-function that I'm playwing with. Appologies in advance if I removed someone's WIP code. ARCMigrate/TransProperties.cpp | 8 ----- AST/MicrosoftMangle.cpp | 1 Analysis/AnalysisDeclContext.cpp | 5 --- Analysis/LiveVariables.cpp | 14 ---------- Index/USRGeneration.cpp | 10 ------- Sema/Sema.cpp | 33 +++++++++++++++++++++--- Sema/SemaChecking.cpp | 3 -- Sema/SemaDecl.cpp | 20 ++------------ StaticAnalyzer/Checkers/GenericTaintChecker.cpp | 1 9 files changed, 34 insertions(+), 61 deletions(-) llvm-svn: 204561
-
Nuno Lopes authored
found with a smarter version of -Wunused-member-function that I'm playwing with. Appologies in advance if I removed someone's WIP code. include/llvm/CodeGen/MachineSSAUpdater.h | 1 include/llvm/IR/DebugInfo.h | 3 lib/CodeGen/MachineSSAUpdater.cpp | 10 -- lib/CodeGen/PostRASchedulerList.cpp | 1 lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 10 -- lib/IR/DebugInfo.cpp | 12 -- lib/MC/MCAsmStreamer.cpp | 2 lib/Support/YAMLParser.cpp | 39 --------- lib/TableGen/TGParser.cpp | 16 --- lib/TableGen/TGParser.h | 1 lib/Target/AArch64/AArch64TargetTransformInfo.cpp | 9 -- lib/Target/ARM/ARMCodeEmitter.cpp | 12 -- lib/Target/ARM/ARMFastISel.cpp | 84 -------------------- lib/Target/Mips/MipsCodeEmitter.cpp | 11 -- lib/Target/Mips/MipsConstantIslandPass.cpp | 12 -- lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp | 21 ----- lib/Target/NVPTX/NVPTXISelDAGToDAG.h | 2 lib/Target/PowerPC/PPCFastISel.cpp | 1 lib/Transforms/Instrumentation/AddressSanitizer.cpp | 2 lib/Transforms/Instrumentation/BoundsChecking.cpp | 2 lib/Transforms/Instrumentation/MemorySanitizer.cpp | 1 lib/Transforms/Scalar/LoopIdiomRecognize.cpp | 8 - lib/Transforms/Scalar/SCCP.cpp | 1 utils/TableGen/CodeEmitterGen.cpp | 2 24 files changed, 2 insertions(+), 261 deletions(-) llvm-svn: 204560
-
Hal Finkel authored
When VSX is available, these instructions should be used in preference to the older variants that only have access to the scalar floating-point registers. llvm-svn: 204559
-
Lang Hames authored
benchmarks. <rdar://problem/16368461> llvm-svn: 204558
-
Duncan P. N. Exon Smith authored
Since the profile can come from 32-bit machines, we need to check the pointer size. Change the magic number to facilitate this. Adds tests for reading 32-bit and 64-bit binaries (both big- and little-endian). The tests write a binary using printf in RUN lines (like raw-magic-but-no-header.test). Assuming the bots don't complain, this seems like a better way forward for testing RawInstrProfReader than committing binary files. <rdar://problem/16400648> llvm-svn: 204557
-
Duncan P. N. Exon Smith authored
Since the profile can come from 32-bit machines, the reader needs to check the pointer size. Change the magic number to facilitate this. <rdar://problem/16400648> llvm-svn: 204556
-
Rafael Espindola authored
This is similar, but not identical to what gas does. The logic in MC is to just compute the symbol table after parsing the entire file. GAS is mixed, given .type b, @object a = b b: .type b, @function It will propagate the change and make 'a' a function. Given .type b, @object b: a = b .type b, @function the type of 'a' is still object. Since we do the computation in the end, we produce a function in both cases. llvm-svn: 204555
-
Richard Smith authored
out a visible update record for that namespace even if it was never declared in this module. llvm-svn: 204554
-
NAKAMURA Takumi authored
llvm-svn: 204553
-
NAKAMURA Takumi authored
llvm-svn: 204552
-
Alexander Kornienko authored
llvm-svn: 204551
-
Richard Smith authored
llvm-svn: 204550
-
Justin Bogner authored
Some text shows up on stderr when using guard malloc, and this test was trying to treat that as input to llvm-profdata show. There's no reason to pipe stderr into show at all here. llvm-svn: 204549
-
Craig Topper authored
llvm-svn: 204548
-
Richard Smith authored
specialization from a module. (This can also happen for function template specializations in PCHs if they're instantiated eagerly, because they're constexpr or have a deduced return type.) llvm-svn: 204547
-
- Mar 22, 2014
-
-
Arnaud A. de Grandmaison authored
No functionnal change. llvm-svn: 204545
-
Saleem Abdulrasool authored
When a label is parsed, check if there is type information available for the label. If so, check if the symbol is a function. If the symbol is a function and we are in thumb mode and no explicit thumb_func has been emitted, adjust the symbol data to indicate that the function definition is a thumb function. The application of this inferencing is improved value handling in the object file (the required thumb bit is set on symbols which are thumb functions). It also helps improve compatibility with binutils. The one complication that arises from this handling is the MCAsmStreamer. The default implementation of getOrCreateSymbolData in MCStreamer does not support tracking the symbol data. In order to support the semantics of thumb functions, track symbol data in assembly streamer. Although O(n) in number of labels in the TU, this is already done in various other streamers and as such the memory overhead is not a practical concern in this scenario. llvm-svn: 204544
-
Hal Finkel authored
v2f64 values, like other 128-bit values, are returned under VSX in register vs34 (Altivec register v2). llvm-svn: 204543
-
Hal Finkel authored
When an instruction's operand list does not have a sufficient number of operands to match with all of the variables that contribute to its encoding, instead of asserting inside a call to getSubOperandNumber, produce an informative error. llvm-svn: 204542
-
Simon Atanasyan authored
llvm-svn: 204541
-
NAKAMURA Takumi authored
FIXME: line_iterator should be tolerant of CR. llvm-svn: 204540
-
NAKAMURA Takumi authored
It was incompatible to standlalone clang build. llvm-svn: 204539
-
Juergen Ributzka authored
The cleanup code that removes dead cast instructions only removed them from the basic block, but didn't delete them. This fix erases them now too. llvm-svn: 204538
-
Juergen Ributzka authored
A PHI node usually has only one value/basic block pair per incoming basic block. In the case of a switch statement it is possible that a following PHI node may have more than one such pair per incoming basic block. E.g.: %0 = phi i64 [ 123456, %case2 ], [ 654321, %Entry ], [ 654321, %Entry ] This is valid and the verfier doesn't complain, because both values are the same. Constant hoisting materializes the constant for each operand separately and the value is still the same, but the variable names have changed. As a result the verfier can't recognize anymore that they are the same value and complains. This fix adds special update code for PHI node in constant hoisting to prevent this corner case. This fixes <rdar://problem/16394449> llvm-svn: 204537
-