- May 10, 2016
-
-
Matthias Braun authored
Apply a similar fix to the one in r269006 to LiveIntervalTest.cpp. llvm-svn: 269009
-
Sanjoy Das authored
Reviewers: apilipenko, majnemer, reames Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D20044 llvm-svn: 269008
-
Sanjoy Das authored
Summary: The idea is very close to what we do for assume intrinsics: we mark the guard intrinsics as writing to arbitrary memory to maintain control dependence, but under the covers we teach AA that they do not mod any particular memory location. Reviewers: chandlerc, hfinkel, gbiv, reames Subscribers: george.burgess.iv, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D19575 llvm-svn: 269007
-
Matthias Braun authored
Looks like you need the complete definition of "X" when calling a "X &func()" declared function even when not using the result further. llvm-svn: 269006
-
George Burgess IV authored
Currently, if clang::isBetterOverloadCandidate encounters an enable_if attribute on either candidate that it's inspecting, it will ignore all lower priority attributes (e.g. pass_object_size). This is problematic in cases like: ``` void foo(char *c) __attribute__((enable_if(1, ""))); void foo(char *c __attribute__((pass_object_size(0)))) __attribute__((enable_if(1, ""))); ``` ...Because we would ignore the pass_object_size attribute in the second `foo`, and consider any call to `foo` to be ambiguous. This patch makes overload resolution consult further tiebreakers (e.g. pass_object_size) if two candidates have equally good enable_if attributes. llvm-svn: 269005
-
Jim Ingham authored
This tests both that we set the breakpoint on the right line, and that restricting by file and/or the function, we get the right breakpoints. llvm-svn: 269004
-
Matthias Braun authored
We now construct a custom pass pipeline instead of injecting start-before/stop-after into the default pipeline construction. This allows to specify any pass known to the pass registry. Previously specifying indirectly added analysis passes or passes not added to the pipeline add all would not be added and we would silently do nothing. This also restricts the -run-pass option to cases with .mir input. llvm-svn: 269003
-
Matthias Braun authored
Add convenience function to create MachineModuleInfo and MachineFunctionAnalysis passes and add them to a pass manager. Despite factoring out some shared code in LiveIntervalTest/LLVMTargetMachine this will be used by my upcoming llc change. llvm-svn: 269002
-
Quentin Colombet authored
When loading or storing AVX512 registers we were not using the AVX512 variant of the load and store for VR128 and VR256 like registers. Thus, we ended up with the wrong encoding and actually were dropping the high bits of the instruction. The result was that we load or store the wrong register. The effect is visible only when we emit the object file directly and disassemble it. Then, the output of the disassembler does not match the assembly input. This is related to llvm.org/PR27481. llvm-svn: 269001
-
Justin Lebar authored
FileCheck does not evaluate plain CHECKs if you pass -check-prefix; you have to ask for it explicitly. llvm-svn: 269000
-
Evgeniy Stepanov authored
llvm-svn: 268999
-
Sanjoy Das authored
The boolean expressions are somewhat hard to read otherwise. llvm-svn: 268998
-
Sanjoy Das authored
We can use calls to @llvm.experimental.guard to prove predicates, relying on the fact that in all locations domianted by a call to @llvm.experimental.guard the predicate it is guarding is known to be true. llvm-svn: 268997
-
Justin Lebar authored
Summary: Previously these intrinsics were marked as can-read any memory address. Now they're marked as reading only the pointer they're passed. Reviewers: rnk Subscribers: jholewinski, llvm-commits, tra Differential Revision: http://reviews.llvm.org/D20080 llvm-svn: 268996
-
Justin Lebar authored
llvm-svn: 268995
-
Justin Lebar authored
Previously it was just "// inline asm", which made it tricky to read code with lots of inline assembly. llvm-svn: 268994
-
Justin Lebar authored
llvm-svn: 268993
-
Xinliang David Li authored
Revert r268864 that reverted 268840 after underlying problem is fixed for arm bot. llvm-svn: 268992
-
Derek Schuff authored
Currently the signature of the functions i128(i128, i32) aka void(i32, i64, i64, i32) doesn't match the signature of the call emitted by the default lowering, void(i32, i64, i64). llvm-svn: 268991
-
Justin Bogner authored
The call to Select on Upper here happens in an unusual order in order to defeat the constant folding that getNode() does. Add a comment explaining why we can't just move the Select to later to avoid a Handle, and wrap the call to SelectCode in a handle so we don't need its return value. This is part of the work to have Select return void instead of an SDNode *, which is in turn part of llvm.org/pr26808. llvm-svn: 268990
-
Eugene Zelenko authored
Fix some Clang-tidy modernize-deprecated-headers and Include What You Use warnings; other minor fixes. Differential revision: http://reviews.llvm.org/D20042 llvm-svn: 268989
-
Richard Smith authored
nested-name-specifier. Patch by Sterling Augustine! llvm-svn: 268988
-
Adam Nemet authored
When we encounter unsafe memory dependencies, loop distribution could help. Even though, the diagnostics is in LAA, it's only currently emitted in the vectorizer. llvm-svn: 268987
-
Adam Nemet authored
llvm-svn: 268986
-
Adrian Prantl authored
llvm-svn: 268985
-
Rong Xu authored
llvm-svn: 268984
-
Quentin Colombet authored
We used to list registers that were not in the AVX space. In other words, we were pushing registers that the ISA cannot encode (YMM16-YMM31). This is part of llvm.org/PR27481. llvm-svn: 268983
-
Artem Belevich authored
Allow only empty constructors for local __shared__ variables in a way identical to restrictions imposed on dynamic initializers for global variables on device. Differential Revision: http://reviews.llvm.org/D20039 llvm-svn: 268982
-
- May 09, 2016
-
-
Marcin Koscielnicki authored
This is a testcase for http://llvm.org/PR27646, hitting the bug on x86_64, aarch64, mips. Differential Revision: http://reviews.llvm.org/D19944 llvm-svn: 268981
-
Sanjay Patel authored
Differential Revision: http://reviews.llvm.org/D20077 llvm-svn: 268980
-
Rong Xu authored
llvm-svn: 268979
-
Xinliang David Li authored
llvm-svn: 268978
-
Chris Bieneman authored
Summary: This patch adds support for building lib/builtins without a fully functioning toolchain. It allows you to bootstrap a cross-compiler, which previously couldn't be done with CMake. This patch contains the following specific changes: * Split builtin-specific code out of config-ix.cmake into builtin-config-ix.cmake * Split some common CMake functionality needed by both builtins and sanitizers into base-config-ix.cmake * Made lib/builtins/CMakeLists.txt able to be a top-level CMake configuration I have tested this on Darwin targeting embedded Darwin, and on FreeBSD x86_64 targeting FreeBSD AArch64. This patch depends on http://reviews.llvm.org/D19692, and is the last part of http://reviews.llvm.org/D16653. Reviewers: samsonov, iains, jroelofs Subscribers: compnerd, aemerson, tberghammer, danalbert, srhines, emaste, llvm-commits Differential Revision: http://reviews.llvm.org/D19742 llvm-svn: 268977
-
Rafael Espindola authored
llvm-svn: 268976
-
Chad Rosier authored
llvm-svn: 268975
-
Xinliang David Li authored
llvm-svn: 268974
-
Quentin Colombet authored
This is similar to r268953, but for floating point and vector register classes. Explanations: The setting of the inline asm constraints was implicitly relying on the order of the register classes in the file generated by tablegen. Since, we do not have any control on that order, make sure we do not depend on it anymore. llvm-svn: 268973
-
Simon Pilgrim authored
As discussed on PR24888, until SSE42 we don't have access to PCMPGTQ for v2i64 comparisons, but the cost models don't reflect this, resulting in over-optimistic vectorizaton. This patch adds SSE2 'base level' costs that match what a typical target is capable of and only reduces the v2i64 costs at SSE42. Technically SSE41 provides a PCMPEQQ v2i64 equality test, but as getCmpSelInstrCost doesn't give us a way to discriminate between comparison test types we can't easily make use of this, otherwise we could split the cost of integer equality and greater-than tests to give better costings of each. Differential Revision: http://reviews.llvm.org/D20057 llvm-svn: 268972
-
Sean Callanan authored
llvm-svn: 268971
-
Sean Callanan authored
IOHandlerLinesUpdated() does nothing, and IOHandlerIsInputComplete should be implemented but isn't. This means that multiline expressions don't work. This patch fixes that. Test case to follow in the next commit. llvm-svn: 268970
-