- Jul 21, 2014
-
-
Duncan P. N. Exon Smith authored
This reverts commit r213474 (and r213475), which causes a miscompile on a stage2 LTO build. I'll reply on the list in a moment. llvm-svn: 213562
-
Tom Stellard authored
This pass converts 64-bit instructions to 32-bit when possible. llvm-svn: 213561
-
David Blaikie authored
llvm-svn: 213560
-
Dan Liew authored
llvm-svn: 213559
-
Tom Stellard authored
Therefore we don't need to add it to the implict defs list. llvm-svn: 213558
-
David Blaikie authored
Correct the ownership passing semantics of object::createBinary and make them explicit in the type system. createBinary documented that it destroyed the parameter in error cases, though by observation it does not. By passing the unique_ptr by value rather than lvalue reference, callers are now explicit about passing ownership and the function implements the documented contract. Remove the explicit documentation, since now the behavior cannot be anything other than what was documented, so it's redundant. Also drops a unique_ptr::release in llvm-nm that was always run on a null unique_ptr anyway. llvm-svn: 213557
-
David Blaikie authored
llvm-svn: 213556
-
Zachary Turner authored
llvm-svn: 213555
-
David Blaikie authored
llvm-svn: 213554
-
Zachary Turner authored
llvm-svn: 213553
-
Tom Stellard authored
There are a few more cleanups to do, but I ran into some problems with ext loads and trunc stores, when I tried to change some of the vector loads and stores from custom to legal, so I wasn't able to get rid of everything. llvm-svn: 213552
-
Tom Stellard authored
llvm-svn: 213551
-
Tom Stellard authored
llvm-svn: 213550
-
Tom Stellard authored
This operand is never used. llvm-svn: 213549
-
Daniel Sanders authored
We now emit this value when we need to contradict the default value. This restores support for binutils 2.24. When a suitable binutils has been released we can resume unconditionally emitting .module directives. This is preferable to omitting the .module directives since the .module directives protect against, for example, accidentally assembling FP32 code with -mfp64 and producing an unusuable object. llvm-svn: 213548
-
Marshall Clow authored
llvm-svn: 213547
-
Marshall Clow authored
In response to bug #20362, change the order of operations in vector move assignment so that if the allocator move assignment throws, we aren't left with two objects pointing at the same memory. This is not a complete fix; I am unconvinced that a complete fix is possible. With this change in place, we will leak the old contents of the vector. LWG issue #2106, when adopted, will make this problem illegal. Thanks to Thomas Koeppe for the report and analysis. llvm-svn: 213546
-
Robert Khasanov authored
Enabling HasAVX512{DQ,BW,VL} predicates. Adding VK2, VK4, VK32, VK64 masked register classes. Adding new types (v64i8, v32i16) to VR512. Extending calling conventions for new types (v64i8, v32i16) Patch by Zinovy Nis <zinovy.y.nis@intel.com> Reviewed by Elena Demikhovsky <elena.demikhovsky@intel.com> llvm-svn: 213545
-
Tom Stellard authored
This will make it easier to update the release scripts to support bug-fix releases. llvm-svn: 213544
-
Dan Liew authored
if the version of LLVM they are trying to use was built with or without assertions. llvm-svn: 213532
-
Tom Stellard authored
This implements a solution for constant initializers suggested by Vadim Girlin, where we store the data after the shader code and then use the S_GETPC instruction to compute its address. This saves use the trouble of creating a new buffer for constant data and then having to pass the pointer to the kernel via user SGPRs or the input buffer. llvm-svn: 213530
-
Tom Stellard authored
llvm-svn: 213529
-
Tom Stellard authored
llvm-svn: 213528
-
Tom Stellard authored
This allows us to explicitly define the type of fixup that is needed, so we can distinguish this from future fixup types. llvm-svn: 213527
-
Tom Stellard authored
llvm-svn: 213526
-
Alexander Potapenko authored
llvm-svn: 213523
-
Daniel Sanders authored
This abstraction allows us to support the various records that can be placed in the .MIPS.options section in the future. We currently use it to record register usage information (the ODK_REGINFO record in our ELF64 spec). Each .MIPS.options record should subclass MipsOptionRecord and provide an implementation of EmitMipsOptionRecord. Patch by Matheus Almeida and Toma Tabacu llvm-svn: 213522
-
Tom Stellard authored
This is useful for cases when stand-alone patterns are preferred to the patterns included in the instruction definitions. Instead of requiring that stand-alone patterns set a larger AddedComplexity value, which can be confusing to new developers, the allows us to reduce the complexity of the included patterns to achieve the same result. llvm-svn: 213521
-
Simon Atanasyan authored
llvm-svn: 213520
-
Hal Finkel authored
There were two generally-useful CaptureTracker classes defined in LLVM: the simple tracker defined in CaptureTracking (and made available via the PointerMayBeCaptured utility function), and the CapturesBefore tracker available only inside of AA. This change moves the CapturesBefore tracker into CaptureTracking, generalizes it slightly (by adding a ReturnCaptures parameter), and makes it generally available via a PointerMayBeCapturedBefore utility function. This logic will be needed, for example, to perform noalias function parameter attribute inference. No functionality change intended. llvm-svn: 213519
-
Alexander Potapenko authored
llvm-svn: 213518
-
Aaron Ballman authored
This declaration has no definition, which is causing MSVC to emit several "no suitable definition provided for explicit template instantiation request" C4661 warnings. llvm-svn: 213517
-
Alexander Potapenko authored
There's no pthread_yield() on OSX (only sched_yield() and pthread_yield_np()). llvm-svn: 213516
-
Aaron Ballman authored
Fixing an MSVC conversion warning about implicitly converting the shift results to 64-bits. No functional change intended. llvm-svn: 213515
-
Hal Finkel authored
The ability to identify function locals will exist outside of BasicAA (for example, logic for inferring noalias function arguments will need this), so make this concept generally accessible without code duplication. No functionality change. llvm-svn: 213514
-
Daniel Sanders authored
Fix a dangerous default case that caused MipsCodeEmitter to discard pseudo instructions it didn't recognize. It will now call llvm_unreachable() for unrecognized pseudo's and explicitly handles PseudoReturn, PseudoReturn64, PseudoIndirectBranch, PseudoIndirectBranch64, CFI_INSTRUCTION, IMPLICIT_DEF, and KILL. There may be other pseudos that need handling but this was enough for the ExecutionEngine tests to pass on my test system. llvm-svn: 213513
-
Alexey Bataev authored
llvm-svn: 213512
-
Daniel Sanders authored
We now emit this directive when we need to contradict the default value (e.g. -mno-odd-spreg is given) or an option changed the default value (e.g. -mfpxx is given). This restores support for the currently available head of binutils. However, at this point binutils 2.24 is still not sufficient since it does not support '.module fp=...'. llvm-svn: 213511
-
Alexander Musman authored
llvm-svn: 213510
-
Benjamin Kramer authored
[clang-tidy] Fix a false positive in the make_pair checker if an argument has a explicit template argument. This required a rather ugly workaround for a problem in ASTMatchers where callee() is only overloaded for Stmt and Decl but not for Expr. llvm-svn: 213509
-