Displaying 1 50 of 186,807 commits (0.060s)

LLVM — llvm/trunk/lib/Target/X86 X86ISelLowering.cpp, llvm/trunk/test/CodeGen/X86 avx512-select.ll vselect-avx.ll

Temporarily revert r220777 to sort out build bot breakage.
"[x86] Simplify vector selection if condition value type matches vselect value type and 
true value is all ones or false value is all zeros."

LLVM — llvm/trunk/include/llvm/IR Instruction.h, llvm/trunk/lib/IR AsmWriter.cpp Metadata.cpp

IR: MDNode => Value: Instruction::getAllMetadata()

Change `Instruction::getAllMetadata()` to modify a vector of `Value`
instead of `MDNode` and update call sites.  This is part of PR21433.

LLVM — libcxx/trunk/src new.cpp

libcxxrt defines bad_array_new_length::what() so move that into a conditional compilation 
block
Delta File
+6 -6 libcxx/trunk/src/new.cpp
+6 -6 1 file

LLVM — llvm/trunk/include/llvm/IR Instruction.h, llvm/trunk/lib/Analysis TypeBasedAliasAnalysis.cpp ScopedNoAliasAA.cpp

IR: MDNode => Value: Instruction::getMetadata()

Change `Instruction::getMetadata()` to return `Value` as part of
PR21433.

Update most callers to use `Instruction::getMDNode()`, which wraps the
result in a `cast_or_null<MDNode>`.

LLVM — llvm/trunk/include/llvm/IR Instruction.h, llvm/trunk/lib/IR Metadata.cpp

IR: MDNode => Value: Add Instruction::getMDNode()

Add `Instruction::getMDNode()` that casts to `MDNode` before changing
`Instruction::getMetadata()` to return `Value`.  This avoids adding
`cast_or_null<MDNode>` boiler-plate throughout the code.

Part of PR21433.

LLVM — lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCTypeVendor.cpp

Complete the superclass type when completing an
Objective-C class type.

LLVM — llvm/trunk/lib/Target/R600 CMakeLists.txt

Revert "R600: Add missing file to CMakeLists.txt"

This reverts commit r220998.

It should've been reverted with the other change.

LLVM — llvm/trunk/lib/Target/R600 AMDGPUAlwaysInlinePass.cpp AMDGPUTargetMachine.cpp, llvm/trunk/test/CodeGen/R600 inline-calls.ll call.ll

Revert "R600: Make sure to inline all internal functions"

This reverts commit r220996.

It introduced layering violations causing link errors in many
configurations.

LLVM — cfe/trunk/lib/CodeGen CodeGenFunction.h EHScopeStack.h

Silence a warning from MSVC "14" by making an enum unsigned

It says there is a narrowing conversion when we assign it to an unsigned
3 bit bitfield.

Also, use unsigned instead of size_t for the Size field of the struct in
question. Otherwise they won't run together in MSVC or clang-cl.

LLVM — lldb/trunk/source/Symbol ClangASTContext.cpp

TOT broken by R220956 - Differential Revision: http://reviews/llvm.org/D6066

LLVM — llvm/trunk/include/llvm/CodeGen MachineInstrBuilder.h, llvm/trunk/lib/Target/ARM Thumb2ITBlockPass.cpp

Work around bugs in MSVC "14" CTP 3's conversion logic

It appears to ignore or find ambiguous MachineInstrBuilder's conversion
operators that allow conversion to MachineInstr* and
MachineBasicBlock::bundle_iterator.

As a workaround, add an explicit way to get the MachineInstr.

LLVM — llvm/trunk/lib/Linker LinkModules.cpp, llvm/trunk/test/Linker visibility.ll

Refactor duplicated code in liking GlobalValues.

There is quiet a bit of logic that is common to any GlobalValue but was
duplicated for Functions, GlobalVariables and GlobalAliases.

While at it, merge visibility even when comdats are used, fixing pr21415.

LLVM — llvm/trunk/include/llvm/Support Compiler.h

Define LLVM_NOEXCEPT with MSVC 14 CTP 3 or newer

We have to use _MSC_FULL_VER here as CTP 2 and earlier didn't define
noexcept to my knowledge.

Fixes build error in lib/Support/Error.cpp when inheriting from
std::error_category, which has a noexcept virtual method.

LLVM — llvm/trunk/cmake/modules HandleLLVMOptions.cmake

Suppress MSVC's equivalent of -Wshadow warnings

IMO we need to clean up some of these, but the member variable one
(C4458) has false positives on static methods.  It is currently firing
on Twine, which has a static method like:
  struct Twine {
    uintptr_t LHS, RHS;
    static void staticMethod() {
      // warning C4458: declaration of 'LHS' hides class member
      uintptr_t LHS;
      ...
    }
  };

We should fix up clang's -Wshadow and clean it up, and then we can
re-enable some of these MSVC warnings.

LLVM — lldb/trunk/source/Plugins/Process/Utility LinuxSignals.cpp

Always transmit SIGPROF back to the inferior.

Summary:
SIGPROF is used for profiling processes (with google-perftools for
instance), which results in the inferior receiving a SIGPROF from the
kernel every few milliseconds. Instead of stopping the debugging session
and notifying the user of this, we should just pass the signal and keep
running.

This follows the behavior we have in UnixSignals.cpp.

Test Plan: Run LLDB on linux with a binary using google-perftools, see that execution gets 
interrupted all the time because we receive SIGPROF. Apply the patch, everything works 
fine.

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D5953

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfCompileUnit.cpp DwarfDebug.cpp

Sink some of DwarfDebug::collectDeadVariables down into DwarfCompileUnit.

LLVM — llvm/trunk/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/trunk/test/Transforms/LoopVectorize incorrect-dom-info.ll

Correctly update dom-tree after loop vectorizer.

LLVM — cfe/trunk/include/clang/Sema SemaInternal.h

Fix an accidental self-assignment using std::move in r220723.

LLVM — cfe/trunk/lib/AST Mangle.cpp, cfe/trunk/lib/Basic Targets.cpp

Implement IRGen for the x86 vectorcall convention

The most complex aspect of the convention is the handling of homogeneous
vector and floating point aggregates.  Reuse the homogeneous aggregate
classification code that we use on PPC64 and ARM for this.

This convention also has a C mangling, and we apparently implement that
in both Clang and LLVM.

Reviewed By: majnemer

Differential Revision: http://reviews.llvm.org/D6063

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfCompileUnit.cpp DwarfDebug.cpp

Sink most of DwarfDebug::constructAbstractSubprogramScopeDIE into DwarfCompileUnit

LLVM — llvm/trunk/lib/Target/R600 LLVMBuild.txt

R600: Add IPO to the list of required libraries

LLVM — llvm/trunk/include/llvm/Object Binary.h, llvm/trunk/lib/ExecutionEngine/MCJIT MCJIT.cpp

[Object] Modify OwningBinary's interface to separate inspection from ownership.

The getBinary and getBuffer method now return ordinary pointers of appropriate
const-ness. Ownership is transferred by calling takeBinary(), which returns a
pair of the Binary and a MemoryBuffer.

LLVM — lldb/trunk/source/API SBAddress.cpp

SBAddress currently *may* have an Address object or it may not.
If it has an Address object, it is assumed to be Valid.
Change SBAddress to always have an Address object and check
whether it is valid or not in those case.

This is fixing a subtle problem where we ended up with
a SBAddress with an Address of LLDB_INVALID_ADDRESS could
run through a copy constructor and turn into an SBAddress
with no Address object being backed (because it wasn't
distinguishing between invalid-Address versus no-Address.)

The cost of an Address object is not high and this will be
an easy mistake for someone else to make; I'm fixing
SBAddress so it doesn't come up again.
<rdar://problem/18069407>
Delta File
+21 -21 lldb/trunk/source/API/SBAddress.cpp
+21 -21 1 file

LLVM — cfe/trunk/include/clang/Driver Options.td, cfe/trunk/include/clang/Frontend FrontendOptions.h

Objective-C SDK modernization tool. Use its own option
,-objcmt-migrate-property-dot-syntax, when migarting to use
property-dot syntax in place of messaging expression.
rdar://18839124

LLVM — cfe/trunk/lib/Sema SemaDeclCXX.cpp SemaDecl.cpp, cfe/trunk/test/SemaCXX uninitialized.cpp

Have -Wuninitialized catch uninitalized use in overloaded operator arguments.

LLVM — cfe/trunk/www/analyzer scan-build.html

[analyzer] Helpful hints for Windows users of scan-build.

LLVM — llvm/trunk/lib/Target/R600 CMakeLists.txt

R600: Add missing file to CMakeLists.txt

LLVM — llvm/trunk/lib/Target/R600 AMDGPUPromoteAlloca.cpp, llvm/trunk/test/CodeGen/R600 private-memory.ll

R600: Don't promote allocas when one of the users is a ptrtoint instruction

We need to figure out how to track ptrtoint values all the
way until result is converted back to a pointer in order
to correctly rewrite the pointer type.

LLVM — llvm/trunk/lib/Target/R600 AMDGPUAlwaysInlinePass.cpp AMDGPUTargetMachine.cpp, llvm/trunk/test/CodeGen/R600 inline-calls.ll call.ll

R600: Make sure to inline all internal functions

Function calls aren't supported yet.

LLVM — llvm/trunk/lib/IR Metadata.cpp

IR: Instruction::setMetadata() should use cast_or_null

Not sure why this assertion didn't fire locally [1], but in r220994
`Instruction::setMetadata()` should be using `cast_or_null`.

[1]: http://lab.llvm.org:8011/builders/llvm-hexagon-elf/builds/12327
Delta File
+1 -1 llvm/trunk/lib/IR/Metadata.cpp
+1 -1 1 file

LLVM — llvm/trunk/include/llvm/IR Instruction.h IRBuilder.h, llvm/trunk/lib/IR Metadata.cpp

IR: MDNode => Value: Instruction::setMetadata()

Change `Instruction::setMetadata()` API to accept `Value` instead of
`MDNode`.  Part of PR21433.

LLVM — cfe/trunk/lib/CodeGen CGExprCXX.cpp MicrosoftCXXABI.cpp, cfe/trunk/test/CodeGenCXX microsoft-abi-structors.cpp microsoft-abi-virtual-inheritance.cpp

MS ABI: Properly call global delete when invoking virtual destructors

Summary:
The Itanium ABI approach of using offset-to-top isn't possible with the
MS ABI, it doesn't have that kind of information lying around.

Instead, we do the following:
- Call the virtual deleting destructor with the "don't delete the object
  flag" set.  The virtual deleting destructor will return a pointer to
  'this' adjusted to the most derived class.
- Call the global delete using the adjusted 'this' pointer.

Reviewers: rnk

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D5996

LLVM — cfe/trunk/lib/Sema SemaDeclCXX.cpp, cfe/trunk/test/SemaCXX override-in-system-header.cpp

C++-11 [qoi]. Do not warn on missing 'verride' on use of
macros in user code when macros themselves are defined
in a system header. rdar://18295240

LLVM — llvm/branches/release_35 configure CMakeLists.txt, llvm/branches/release_35/autoconf configure.ac

Bump version to 3.5.1

LLVM — cfe/trunk/include/clang/Basic BuiltinsPPC.def DiagnosticParseKinds.td, cfe/trunk/lib/Basic Targets.cpp

[PowerPC] Initial VSX intrinsic support, with min/max for vector double

Now that we have initial support for VSX, we can begin adding
intrinsics for programmer access to VSX instructions.  This patch
performs the necessary enablement in the front end, and tests it by
implementing intrinsics for minimum and maximum using the vector
double data type.

The main change in the front end is to no longer disallow "vector" and
"double" in the same declaration (lib/Sema/DeclSpec.cpp), but "vector"
and "long double" must still be disallowed.  The new intrinsics are
accessed via vec_max and vec_min with changes in
lib/Headers/altivec.h.  Note that for v4f32, we already access
corresponding VMX builtins, but with VSX enabled we should use the
forms that allow all 64 vector registers.

The new built-ins are defined in include/clang/Basic/BuiltinsPPC.def.

I've added a new test in test/CodeGen/builtins-ppc-vsx.c that is
similar to, but much smaller than, builtins-ppc-altivec.c.  This
allows us to test VSX IR generation without duplicating CHECK lines
for the existing bazillion Altivec tests.

Since vector double is now legal when VSX is available, I've modified
the error message, and changed where we test for it and for vector

    [9 lines not shown]

LLVM — llvm/trunk/include/llvm/IR IntrinsicsPowerPC.td, llvm/trunk/lib/Target/PowerPC PPCInstrVSX.td

[PowerPC] Initial VSX intrinsic support, with min/max for vector double

Now that we have initial support for VSX, we can begin adding
intrinsics for programmer access to VSX instructions.  This patch adds
basic support for VSX intrinsics in general, and tests it by
implementing intrinsics for minimum and maximum for the vector double
data type.

The LLVM portion of this is quite straightforward.  There is a
companion patch for Clang.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64ConditionOptimizer.cpp

[AArch64] Check Dest Register Liveness in CondOpt pass.

Our internal test reveals such case should not be transformed:

  cmp x17, #3
  b.lt .LBB10_15
  ...
  subs x12, x12, #1
  b.gt .LBB10_1

where x12 is a liveout, becomes:

  cmp x17, #2
  b.le .LBB10_15
  ...
  subs x12, x12, #2
  b.ge .LBB10_1

Unable to provide test case as it's difficult to reproduce on community branch.

http://reviews.llvm.org/D6048
Patch by Zhaoshi Zheng <zhaoshiz at codeaurora.org>!

LLVM — cfe/trunk/lib/CodeGen CGCXX.cpp, cfe/trunk/test/CodeGen sanitize-address-field-padding.cpp

ignore -mconstructor-aliases when adding field paddings for asan

Summary:
When we are adding field paddings for asan even an empty dtor has to remain in the code,
so we ignore -mconstructor-aliases if the paddings are going to be added.

Test Plan: added a test

Reviewers: rsmith, rnk, rafael

Reviewed By: rafael

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6038

LLVM — llvm/trunk/lib/Transforms/Instrumentation AddressSanitizer.cpp, llvm/trunk/test/Instrumentation/AddressSanitizer coverage.ll

[asan] do not treat inline asm calls as indirect calls

LLVM — cfe/trunk/lib/Format TokenAnnotator.cpp ContinuationIndenter.cpp, cfe/trunk/unittests/Format FormatTestJava.cpp

clang-format: [Java] Improve line breaks around annotations.

Before:
  @SomeAnnotation("With some really looooooooooooooong text") private static final
      long something = 0L;

  void SomeFunction(@Nullable
                    String something) {}

After:
  @SomeAnnotation("With some really looooooooooooooong text")
  private static final long something = 0L;

  void SomeFunction(@Nullable String something) {}

LLVM — lldb/trunk/source/Plugins/Process/gdb-remote GDBRemoteCommunication.cpp

commit on behalf of Oleksiy Vyalov Fix junk content handling within 
GDBRemoteCOmmunication::CheckForPacket  1. Avoid removing of an extra symbol from m_bytes. 
 2. iterate over m_bytes until useful content is found.  Differential Revision: 
http://reviews.llvm.org/D6042

LLVM — lldb/trunk/source/Core ValueObjectDynamicValue.cpp

In ValueObjectDynamicValue, trust what comes from
the runtime rather than trying to fix it up,
because now those types have ivars regardless of
whether they come from "frame variable" or from
expressions.

Patch by Enrico Granata.

LLVM — lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCTypeVendor.cpp

Updated the Objective-C runtime type vendor to
load ivars into classes that are reported to the
Objective-C runtime.

LLVM — lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCClassDescriptorV2.cpp

- Fixed a bug where ::Describe for class descriptors
  would fail if the class had no ivars.

- Updated use of the RealizeType API by the class
  descriptors to use "for_expression" rather than
  the misnamed "allow_unknownanytype."

LLVM — lldb/trunk/include/lldb/Target ObjCLanguageRuntime.h, lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCTypeEncodingParser.cpp AppleObjCTypeEncodingParser.h

- Use "for_expression" rather than "allow_unknownanytype"
  to indicate that we're doing stuff for the expression
  parser.

- When for_expression is true, look through @s and find
  the actual class rather than just returning id. 

- Rename BuildObjCObjectType to BuildObjCObjectPointerType
  since it's actually returning an object *pointer* type.

LLVM — llvm/trunk/include/llvm/Target TargetLowering.h, llvm/trunk/lib/CodeGen CodeGenPrepare.cpp

[CodeGenPrepare] Move extractelement close to store if they can be combined.

This patch adds an optimization in CodeGenPrepare to move an extractelement
right before a store when the target can combine them.
The optimization may promote any scalar operations to vector operations in the
way to make that possible.


** Context **

Some targets use different register files for both vector and scalar operations.
This means that transitioning from one domain to another may incur copy from one
register file to another. These copies are not coalescable and may be expensive.
For example, according to the scheduling model, on cortex-A8 a vector to GPR
move is 20 cycles.


** Motivating Example **

Let us consider an example:
define void @foo(<2 x i32>* %addr1, i32* %dest) {
 %in1 = load <2 x i32>* %addr1, align 8
 %extract = extractelement <2 x i32> %in1, i32 1
 %out = or i32 %extract, 1
 store i32 %out, i32* %dest, align 4

    [59 lines not shown]

LLVM — cfe/trunk/lib/Format Format.cpp ContinuationIndenter.cpp, cfe/trunk/unittests/Format FormatTestJS.cpp FormatTest.cpp

clang-format: [js] Updates to Google's JavaScript style.

The style guide is changing..

LLVM — cfe/trunk/utils/analyzer SATestBuild.py

[analyzer] Rename NewDeleteLeaks checker in the test script.

Fixup to r220289.

LLVM — cfe/trunk/lib/AST Decl.cpp

Fix the build
Delta File
+1 -1 cfe/trunk/lib/AST/Decl.cpp
+1 -1 1 file

LLVM — llvm/trunk/lib/Transforms/Instrumentation AddressSanitizer.cpp, llvm/trunk/test/Instrumentation/AddressSanitizer coverage.ll

[asan] fix caller-calee instrumentation to emit new cache for every call site