- Jan 02, 2014
-
-
Arnold Schwaighofer authored
When there are cycles in the value graph we have to be careful interpreting "Value*" identity as "value" equivalence. We interpret the value of a phi node as the value of its operands. When we check for value equivalence now we make sure that the "Value*" dominates all cycles (phis). %0 = phi [%noaliasval, %addr2] %l = load %ptr %addr1 = gep @a, 0, %l %addr2 = gep @a, 0, (%l + 1) store %ptr ... Before this patch we would return NoAlias for (%0, %addr1) which is wrong because the value of the load is from different iterations of the loop. Tested on x86_64 -mavx at O3 and O3 -flto with no performance or compile time regressions. PR18068 radar://15653794 llvm-svn: 198290
-
Alp Toker authored
Suggested by Aaron Ballman. llvm-svn: 198288
-
- Jan 01, 2014
-
-
Rafael Espindola authored
During the years there have been some attempts at figuring out how to align byval arguments. A look at the commit log suggests that they were * Use the ABI alignment. * When that was not sufficient for x86-64, I added the 's' specification to DataLayout. * When that was not sufficient Evan added the virtual getByValTypeAlignment. * When even that was not sufficient, we just got the FE to add the alignment to the byval. This patch is just a simple cleanup that removes my first attempt at fixing the problem. I also added an AArch64 implementation of getByValTypeAlignment to make sure this patch is a nop. I also left the 's' parsing for backward compatibility. I will send a short email to llvmdev about the change for anyone maintaining an out of tree target. llvm-svn: 198287
-
Venkatraman Govindaraju authored
llvm-svn: 198286
-
Craig Topper authored
Remove modifierType/Base from X86 disassembler tables as they are no longer used. Removes ~11.5K from static tables. llvm-svn: 198284
-
Venkatraman Govindaraju authored
llvm-svn: 198281
-
Venkatraman Govindaraju authored
[SparcV9]: Use SRL instead of SLL to clear top 32-bits in ctpop:i32. SLL does not clear top 32 bit, only SRL does. llvm-svn: 198280
-
NAKAMURA Takumi authored
llvm-svn: 198279
-
Craig Topper authored
Remove need for MODIFIER_OPCODE in the disassembler tables. AddRegFrms are really more like OrRegFrm so we don't need a difference since we can just mask bits. llvm-svn: 198278
-
Elena Demikhovsky authored
Printing rounding control. Enncoding for EVEX_RC (rounding control). llvm-svn: 198277
-
Craig Topper authored
Second attempt at Removing special form of AddRegFrm used by FP instructions. These instructions can be handled by MRMXr instead. llvm-svn: 198276
-
NAKAMURA Takumi authored
FIXME: Dragonegg may be updated at non-trivial changes. llvm-svn: 198274
-
Alp Toker authored
Stopgap measure until we can just use static_assert(). llvm-svn: 198273
-
Craig Topper authored
llvm-svn: 198269
-
- Dec 31, 2013
-
-
Craig Topper authored
llvm-svn: 198268
-
Nick Lewycky authored
Patch by Ilia Filippov! llvm-svn: 198267
-
Craig Topper authored
Revert r198238 and add FP disassembler tests. It didn't work and I didn't realized we had no FP disassembler test cases. llvm-svn: 198265
-
Craig Topper authored
llvm-svn: 198263
-
Mark Seaborn authored
llvm-svn: 198262
-
Craig Topper authored
llvm-svn: 198258
-
Craig Topper authored
llvm-svn: 198257
-
Alp Toker authored
lib/Support/ThreadLocal.cpp:53:15: error: typedef 'SIZE_TOO_BIG' locally defined but not used [-Werror=unused-local-typedefs] typedef int SIZE_TOO_BIG[sizeof(pthread_key_t) <= sizeof(data) ? 1 : -1]; Done the C++11 way, switching on and using LLVM_STATIC_ASSERT() instead of LLVM_ATTRIBUTE_UNUSED. llvm-svn: 198255
-
Craig Topper authored
llvm-svn: 198254
-
- Dec 30, 2013
-
-
Craig Topper authored
llvm-svn: 198241
-
Craig Topper authored
Remove special form of AddRegFrm used by FP instructions. These instructions can be handled by MRMXr instead. llvm-svn: 198238
-
Saleem Abdulrasool authored
Checking the trailing letter of the mnemonic is insufficient. Be more thorough in the scanning of the instruction to ensure that we correctly work with the predicated mnemonics. llvm-svn: 198235
-
Eric Christopher authored
llvm-svn: 198233
-
Craig Topper authored
Remove EscapeFilter. It's funcionality can be covered by correctly using ExtendedFilter and ExactFilter. No functional change. llvm-svn: 198226
-
Eric Christopher authored
r198196: Use a pointer to keep track of the skeleton unit for each normal unit and construct it up front. r198199: Reapply r198196 with a fix to zero initialize the skeleton pointer. r198202: Fix aranges and split dwarf by ensuring that the symbol and relocation back to the compile unit from the aranges section is to the skeleton unit and not the one in the dwo. with a fix to use integer 0 for DW_AT_low_pc since the relocation to the text section symbol was causing issues with COFF. Accordingly remove addLocalLabelAddress and machinery since we're not currently using it. llvm-svn: 198222
-
Craig Topper authored
Simplify filter accepts function to just return 'condition' instead of branching to return true/false. No functional change. llvm-svn: 198221
-
NAKAMURA Takumi authored
r198196: Use a pointer to keep track of the skeleton unit for each normal unit and construct it up front. r198199: Reapply r198196 with a fix to zero initialize the skeleton pointer. r198202: Fix aranges and split dwarf by ensuring that the symbol and relocation back to the compile unit from the aranges section is to the skeleton unit and not the one in the dwo. They could be reproducible with explicit target. llvm/lib/MC/WinCOFFObjectWriter.cpp:224: bool {anonymous}::COFFSymbol::should_keep() const: Assertion `Section->Number != -1 && "Sections with relocations must be real!"' failed. llvm-svn: 198208
-
NAKAMURA Takumi authored
llvm-lit can be invoked; $ Release/bin/llvm-lit instead of; $ bin/llvm-lit --param buid_mode=Release llvm-svn: 198206
-
NAKAMURA Takumi authored
[CMake][VS][XCode] Restruct the output directory layout more comfortable, ${BINARY_DIR}/${BUILD_MODE}/(bin|lib) We have been seeing nasty directory layout with CMake multiconfig, such as, bin/Release/clang.exe lib/clang/3.x/... lib/Release/clang/3.x/.. (duplicated) Move the layout similar to autoconf's; Release/bin/clang.exe Release/lib/clang/3.x/... Checked on Visual Studio 10. Could you guys please confirm my change on XCode(and other multiconfig builders)? Note: Don't set variables CMAKE_*_OUTPUT_DIRECTORY any more, or a certain builder, for eaxample, msbuild.exe, would be confused. llvm-svn: 198205
-
Yaron Keren authored
llvm-svn: 198203
-
Eric Christopher authored
back to the compile unit from the aranges section is to the skeleton unit and not the one in the dwo. Do this by adding a method to grab a forwarded on local sym and local section by querying the skeleton if one exists and using that. Add a few tests to verify the relocations are back to the correct section. llvm-svn: 198202
-
Bill Wendling authored
llvm-svn: 198201
-
Eric Christopher authored
llvm-svn: 198199
-
Nico Weber authored
llvm-svn: 198198
-
Eric Christopher authored
each normal unit" as it seems to be causing problems in the asan tests. llvm-svn: 198197
-
Eric Christopher authored
and construct it up front. Add address ranges at the end and a helper routine so that we're not needlessly using an indirction in the case of split dwarf. Update testcases according to the new ordering of attributes on the compile unit. llvm-svn: 198196
-