- Nov 27, 2013
-
-
Rui Ueyama authored
/MERGE option is a bit complicated for many reasons. Firstly, it takes both positive and negative arguments. That means we have to have one of three distinctive values (set, clear or unchange) for each permission bit. In this patch we represent the three values using two bitmasks. Secondly, the permissions specified by the parameter is bitwise or-ed with the default permissions of a section. There is an exception for that rule; if one of READ, WRITE or EXECUTE bit is specified, unspecified bits need to be cleared. (So if you specify only WRITE for example, the resulting section will not have WRITE nor EXECUTE bits.) Lastly, multiple /merge options are allowed. llvm-svn: 195882
-
Tom Stellard authored
NOTE: This is a candidate for the 3.4 branch. llvm-svn: 195881
-
Tom Stellard authored
SGPRs are spilled into VGPRs using the {READ,WRITE}LANE_B32 instructions. v2: - Fix encoding of Lane Mask - Use correct register flags, so we don't overwrite the low dword when restoring multi-dword registers. v3: - Register spilling seems to hang the GPU, so replace all shaders that need spilling with a dummy shader. v4: - Fix *LANE definitions - Change destination reg class for 32-bit SMRD instructions v5: - Remove small optimization that was crashing Serious Sam 3. https://bugs.freedesktop.org/show_bug.cgi?id=68224 https://bugs.freedesktop.org/show_bug.cgi?id=71285 NOTE: This is a candidate for the 3.4 branch. llvm-svn: 195880
-
Tom Stellard authored
Writing to the M0 register from an SMRD instruction hangs the GPU, so we need to use the SGPR_32 register class, which does not include M0. NOTE: This is a candidate for the 3.4 branch. llvm-svn: 195879
-
Tom Stellard authored
NOTE: This is a candidate for the 3.4 branch. llvm-svn: 195878
-
Lubos Lunak authored
llvm-svn: 195877
-
Benjamin Kramer authored
llvm-svn: 195876
-
Aaron Ballman authored
Renaming Struct to GenericRecord for clarity; could not use Record as the enumerant because that's already taken by the Record class. llvm-svn: 195875
-
Lang Hames authored
cross-reference debug output with encoded stack-maps, and to create stackmap test-cases. llvm-svn: 195874
-
Alp Toker authored
This was removed in the great unused local cleanup of r195814. Adding cast-to-void to suppress unused variable warnings. Should fix certain builds like ARCMT. llvm-svn: 195872
-
Aaron Ballman authored
Converts the lockable attributes to use the simple attribute handler because the semantic checking was already automated. llvm-svn: 195866
-
Rafael Espindola authored
In particular, check the name of the symbol we are putting in the constant pool. llvm-svn: 195865
-
Aaron Ballman authored
Automated checking for C++ when determining what argument to send to the diagnostic for attribute subjects. In turn, this allows the Subjects to be enabled for some more attributes and improves diagnostics. Updated a test case based on the improved diagnostic. llvm-svn: 195864
-
Rui Ueyama authored
This patch is to improve the readability of the tests before making a change to /merge option. llvm-svn: 195863
-
Aaron Ballman authored
Adding the Subjects entry back for the noreturn attributes. This caused some test cases to be updated because the original diagnostic was about applying to methods as well as functions, but the semantic checking disallowed methods. llvm-svn: 195862
-
Rafael Espindola authored
MO_ExternalSymbol and MO_JumpTableIndex don't show up in inline asm. llvm-svn: 195861
-
Rafael Espindola authored
llvm-svn: 195859
-
Dmitry Vyukov authored
llvm-svn: 195858
-
Rafael Espindola authored
llvm-svn: 195857
-
Rui Ueyama authored
/MERGE:foo=bar command line option merges section foo to section bar. If section bar does not exist, foo is just renamed as bar. llvm-svn: 195856
-
Rui Ueyama authored
llvm-svn: 195855
-
Rui Ueyama authored
llvm-svn: 195854
-
Rui Ueyama authored
llvm-svn: 195853
-
Rui Ueyama authored
Atom ordinals are the indeces in a file. Currently the PECOFF reader assigns ordinals for each section, so it's (incorrectly) assigning duplicate ordinals. llvm-svn: 195852
-
Aaron Ballman authored
Enabling the subject list for the warn_unused attribute, and adding a test case. Previously, would issue a "warning ignored" diagnostic instead of the more specific "only applies to." llvm-svn: 195851
-
Aaron Ballman authored
llvm-svn: 195850
-
Rafael Espindola authored
We currently error in clang with: "error: thread-local storage is unsupported for the current target", but we can start to get the llvm level ready. When compiling template<typename T> struct foo { static __declspec(thread) int bar; }; template<typename T> __declspec(therad) int foo<T>::bar; template struct foo<int>; msvc produces SECTION HEADER #3 .tls$ name 0 physical address 0 virtual address 4 size of raw data 12F file pointer to raw data (0000012F to 00000132) 0 file pointer to relocation table 0 file pointer to line numbers 0 number of relocations 0 number of line numbers C0301040 flags Initialized Data COMDAT; sym= "public: static int foo<int>::bar" (?bar@?$foo@H@@2HA) 4 byte align Read Write gcc produces a ".data$__emutls_v.<symbol>" for the testcase with __declspec(thread) replaced with thread_local. llvm-svn: 195849
-
Aaron Ballman authored
Refactored semantic handlers that would unilaterally apply the attribute to a Decl so they all go through a common interface. No functional change intended. llvm-svn: 195848
-
Rafael Espindola authored
MO_ConstantPoolIndex is handled in printLeaMemReference. MO_JumpTableIndex and MO_ExternalSymbol don't show up in inline asm. llvm-svn: 195847
-
Alexander Kornienko authored
llvm-svn: 195846
-
Timur Iskhodzhanov authored
llvm-svn: 195845
-
Jiangning Liu authored
llvm-svn: 195844
-
Jiangning Liu authored
llvm-svn: 195843
-
Aaron Ballman authored
Removing the description part of a subset subject. It is unused, and wouldn't be future-proof regarding translation issues. It is also covered by SubjectList's CustomDiag member. llvm-svn: 195842
-
Aaron Ballman authored
Laying the basic groundwork for table generating the diagnostics for attribute subjects. This makes some modifications to the way subjects are listed in Attr.td, and updates the attr emitter to handle the new constructs. I have disabled some attribute subject lines on purpose in Attr.td; this part is a WIP with the goal being to restore those subjects incrementally. By commenting them out, it leaves the original behavior the same as before for those attributes and so those are not functionality changes. llvm-svn: 195841
-
Alexey Samsonov authored
llvm-svn: 195840
-
Evgeniy Stepanov authored
llvm-svn: 195839
-
Lorenzo Martignoni authored
llvm-svn: 195838
-
Alexey Samsonov authored
More steps are needed to actually make it usable: * sanitizer runtimes should be compiled with -DSANITIZER_LIBBACKTRACE. * libbacktrace headers should be installed. * user has to manually link in libbacktrace.a into the executable. We can easily solve the first two problems in the build system, but detecting/linking libbacktrace to all the tests we have and end-user programs is more challenging (and will unlikely work w/o Driver support). Based on the patch by Jakub Jelinek! llvm-svn: 195837
-
Dmitry Vyukov authored
print thread creation stack and stacks where ignores were enabled. llvm-svn: 195836
-