- Dec 16, 2013
-
-
Rui Ueyama authored
OrdinalBase is an addend to the ordinals. We used to always set 1 to the field. Although it produced a valid a DLL export table, it'd be a waste if the first ordinal does not start with 1 -- we had to have NULL fields at the beginning of the export address table. By setting the ordinal base, we can eliminate the NULL fields. llvm-svn: 197367
-
Evgeniy Stepanov authored
llvm-svn: 197366
-
Rui Ueyama authored
llvm-svn: 197365
-
Rui Ueyama authored
You can specify exported function's ordinal by /export:func,@<number> command line option, but LLD ignored the option until now. This patch implements the feature. Ordinal is basically the index into the exported function address table. So, for example, if /export:foo,@42 is specified, the linker writes foo's address to 42th entry in the address table. Windows supports import-by-ordinal; you can not only import a function by name, but by its ordinal. If you want to allow your DLL users to import your functions by their ordinals, you need to make sure that your functions are always exported with the same ordinals. This is the feature for that situation. llvm-svn: 197364
-
Duncan P. N. Exon Smith authored
An empty string for an ASM input constraint is invalid, and will crash during clang CodeGen. Change TargetInfo::validateInputConstraint to reject an empty string. <rdar://problem/15552191> llvm-svn: 197362
-
Hao Liu authored
Currently we have such types as legal vector types. The DAG combiner may generate some DAG nodes having such types but we don't have patterns to match them. E.g. a load i32 and a bitcast i32 to v1i32 will be combined into a load v1i32: bitcast (load i32) to v1i32 -> load v1i32. So this patch fixes such problems for load/dup instructions. If v1i8/v1i16/v1i32 are not legal any more, the code in this patch can be deleted. So I also add some FIXME. llvm-svn: 197361
-
Reed Kotler authored
that follows). llvm-svn: 197358
-
Reed Kotler authored
llvm-svn: 197357
-
- Dec 15, 2013
-
-
Reed Kotler authored
part of a multi-line pseudo which worked around a linker bug for mips16. llvm-svn: 197356
-
Reed Kotler authored
Some tiny cosmetic code changes to follow. Because of the wide ranging nature of the patch a full 24 test cycle was needed to check against regression. This was the smallest patch I could make to progress from the earlier ones in the series. llvm-svn: 197350
-
Joerg Sonnenberger authored
llvm-svn: 197348
-
Rafael Espindola authored
These right now just test that the same string is present in two files, but will become more useful as clang's handling of DataLayout is refactored. llvm-svn: 197347
-
Rafael Espindola authored
This is always overwritten by the one in NaClTargetInfo. llvm-svn: 197346
-
Benjamin Kramer authored
llvm-svn: 197345
-
Simon Atanasyan authored
compile error. llvm-svn: 197344
-
Aaron Ballman authored
Allow target-specific attributes to share a spelling between different attributes via the ParseKind field. Attributes will be given a common parsed attribute identifier (the AttributeList::AT_* enum), but retain distinct Attr subclasses. This new functionality is used to implement the ARM and MSP430 interrupt attribute. Patch reviewed by Richard Smith over IRC. llvm-svn: 197343
-
Simon Atanasyan authored
The following are the most significant peculiarities of MIPS target: - MIPS ABI requires some special tags in the dynamic table. - GOT consists of two parts local and global. The local part contains entries refer locally visible symbols. The global part contains entries refer global symbols. - Entries in the .dynsym section which have corresponded entries in the GOT should be: * Emitted at the end of .dynsym section * Sorted accordingly to theirs GOT counterparts - There are "paired" relocations. One or more R_MIPS_HI16 and R_MIPS_GOT16 relocations should be followed by R_MIPS_LO16 relocation. To calculate result of R_MIPS_HI16 and R_MIPS_GOT16 relocations we need to combine addends from these relocations and paired R_MIPS_LO16 relocation. The patch reviewed by Michael Spencer, Shankar Easwaran, Rui Ueyama. http://llvm-reviews.chandlerc.com/D2156 llvm-svn: 197342
-
Michael Kuperstein authored
llvm-svn: 197340
-
Alp Toker authored
__builtin_va_list and friends have been showing up where they shouldn't for way to long, making unwanted appearences in -ast-print, tooling and source level visitors and even the hello world tutorial on the clang website. This commit factors down the implicit typedef and record creation facilities to ensure they're marked implicit. Also fixes a unit test that was testing incorrect behaviour, and removes old hacks in the DeclPrinter that tried to skip implicit declarations manually. llvm-svn: 197336
-
Michael Kuperstein authored
llvm-svn: 197335
-
Joerg Sonnenberger authored
llvm-svn: 197332
-
Alp Toker authored
The warning for backslash and newline separated by whitespace was missed in this code path. backslash<whitespace><newline> is handled differently from compiler to compiler so it's important to warn consistently where there's ambiguity. Matches similar handling of block comments and non-comment lines. llvm-svn: 197331
-
Alp Toker authored
This was silently accepted by clang without warning due to a lexer bug. llvm-svn: 197330
-
Juergen Ributzka authored
llvm-svn: 197329
-
- Dec 14, 2013
-
-
Matt Arsenault authored
llvm-svn: 197327
-
Hans Wennborg authored
I don't think we should need a triple, but this allows us to run the test until we fix it (PR18251). llvm-svn: 197326
-
Iain Sandoe authored
This is a base implementation of the powerpc-apple-darwin asm parser dialect. * Enables infrastructure (essentially isDarwin()) and fixes up the parsing of asm directives to separate out ELF and MachO/Darwin additions. * Enables parsing of {r,f,v}XX as register identifiers. * Enables parsing of lo16() hi16() and ha16() as modifiers. The changes to the test case are from David Fang (fangism). llvm-svn: 197324
-
Juergen Ributzka authored
llvm-svn: 197323
-
Todd Fiala authored
Comment indicates where linux x86_64 lldb-gdbserver will soon be added to Makefile builds. llvm-svn: 197318
-
Juergen Ributzka authored
This optional register liveness analysis pass can be enabled with either -enable-stackmap-liveness, -enable-patchpoint-liveness, or both. The pass traverses each basic block in a machine function. For each basic block the instructions are processed in reversed order and if a patchpoint or stackmap instruction is encountered the current live-out register set is encoded as a register mask and attached to the instruction. Later on during stackmap generation the live-out register mask is processed and also emitted as part of the stackmap. This information is optional and intended for optimization purposes only. This will enable a client of the stackmap to reason about the registers it can use and which registers need to be preserved. Reviewed by Andy llvm-svn: 197317
-
Juergen Ributzka authored
llvm-svn: 197316
-
Juergen Ributzka authored
Reviewed by Andy llvm-svn: 197315
-
Logan Chien authored
We should check defined(__clang__) before the usage of the clang diagnostic pragmas. The [-Wswitch] warning in src/future.cpp should be ignored. As the result, the equivalent GCC pragma is added. llvm-svn: 197314
-
Logan Chien authored
GCC does not support strong enum if -std=c++0x is not used. Without the strong enum, we will see following error: In file included from libcxx/include/ostream:131:0, from libcxx/include/sstream:174, from libcxx/include/complex:247, from cpp03-headers.cpp:11: libcxx/include/ios:419:68: error: 'io_errc' is not a class or namespace libcxx/include/ios:420:66: error: 'io_errc' is not a class or namespace To workaround this issue, this commit will define _LIBCPP_HAS_NO_STRONG_ENUMS when we are compiling with g++ without c++0x. llvm-svn: 197313
-
Rafael Espindola authored
No functionality change. llvm-svn: 197312
-
Rafael Espindola authored
No functionality change. llvm-svn: 197311
-
Rafael Espindola authored
No functionality change. llvm-svn: 197310
-
NAKAMURA Takumi authored
CompilationDatabase.cpp:stripPositionalArgs(): Match not "no-integrated-as" but "-no-integrated-as", it really fixes r197229. llvm-svn: 197309
-
Alp Toker authored
These were just missing an expected-no-diagnostics directive. Also add -std=c++11 to a test warning noisly about extensions. llvm-svn: 197308
-
Rui Ueyama authored
Symbol names exported from a DLL should be undecorated, not prefixed by an underscore ones. llvm-svn: 197307
-