[llvm-bugs] [Bug 25909] New: [Polly] Schedule does not model irreducible control flow

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25909

Bug ID: 25909
   Summary: [Polly] Schedule does not model irreducible control
flow
   Product: Projects
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Polly
  Assignee: polly-...@googlegroups.com
  Reporter: tob...@grosser.es
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 15507
  --> https://llvm.org/bugs/attachment.cgi?id=15507&action=edit
Irredubicle control flow

For a test cast that contains irregular control flow with loops (attached)
we do not generate loop dimensions in the schedule:

Stmt_start_split
Domain :=
[p] -> { Stmt_start_split[] };
Schedule :=
[p] -> { Stmt_start_split[] -> [0] };
MustWriteAccess :=[Reduction Type: NONE] [Scalar: 1]
[p] -> { Stmt_start_split[] -> MemRef_cmp[] };
Stmt_S1
Domain :=
[p] -> { Stmt_S1[] : p <= 0 };
Schedule :=
[p] -> { Stmt_S1[] -> [1] };
MustWriteAccess :=[Reduction Type: NONE] [Scalar: 0]
[p] -> { Stmt_S1[] -> MemRef_A[0] };
Stmt_S2
Domain :=
[p] -> { Stmt_S2[] : p >= 1 };
Schedule :=
[p] -> { Stmt_S2[] -> [2] };
MustWriteAccess :=[Reduction Type: NONE] [Scalar: 0]
[p] -> { Stmt_S2[] -> MemRef_A[0] };

This is likely to be wrong and we should probably just detect irregular control
flow and bail out if found.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25906] Alignment when calling a chain of functions

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25906

Daniel Jasper  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |LATER

--- Comment #1 from Daniel Jasper  ---
The bar for new/additional options is:

http://clang.llvm.org/docs/ClangFormatStyleOptions.html#adding-additional-style-options

Reopen if this qualifies and assign it to the prospective patch
author/maintainer.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25891] [ms] clang-cl emits code that causes link.exe /incremental to write broken binaries, related to function pointers

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25891

David Majnemer  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Component|LLVM Codegen|MC
Version|unspecified |trunk
 Resolution|--- |FIXED
   Assignee|unassignedclangbugs@nondot. |unassignedb...@nondot.org
   |org |
Product|clang   |libraries

--- Comment #8 from David Majnemer  ---
Fixed in r256137.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25910] New: clang allows two var definitions with the same mangled name

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25910

Bug ID: 25910
   Summary: clang allows two var definitions with the same mangled
name
   Product: clang
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: andreybokha...@gmail.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

clang allows two var definitions with the same mangled name; only one var is
emitted:

$ cat test.cpp
extern "C" {
  int _ZN2nm3abcE = 1;
}

namespace nm {
  float abc = 2;
}

float foo() {
  return _ZN2nm3abcE + nm::abc;
}

$ clang -emit-llvm -S -c test.cpp

[no errors printed]

$ cat test.ll
...
@_ZN2nm3abcE = global float 2.00e+00, align 4

[int _ZN2nm3abcE definition is nowhere to be found]

Yours,
Andrey
=
Software Engineer
Intel Compiler Team
Intel

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25907] Compiler seg-faults in lto for indirect goto

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25907

Teresa Johnson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Teresa Johnson  ---
The assert happened because some functions were materialized when creating the
lazy module reader due to blockaddress forward references (via
materializeForwardReferencedFunctions). The forward referenced function
contained a reference to module level TBAA metadata, resulting in creation of a
forward MD reference. However, since this was during gold's claim_file_hook
handler, the bitcode reader is destroyed without doing any more materialization
(including metadata materialization), since it is just looking to see if the
file is valid bitcode or not. Therefore, the forward MD reference remained and
the assert fired.

I have decided to remove the assert altogether. It was useful during
development of the ThinLTO metadata linking, but doesn't seem very robust or
necessary. There isn't any requirement that the full bitcode be materialized
before tossing out the bitcode reader as in situations like this one.

Fixed in r256161.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 24563] LiveDebugVariables propagates constant values without joining at bb boundaries

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=24563

Adrian Prantl  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Adrian Prantl  ---
256188: Fix PR24563 (LiveDebugVariables unconditionally propagates all
DBG_VALUEs)

LiveDebugVariables unconditionally propagates all DBG_VALUE down the
dominator tree, which happens to work fine if there already is another
DBG_VALUE or the DBG_VALUE happends to describe a single-assignment vreg
but is otherwise wrong if the DBG_VALUE is coming from only one of the
predecessors.

In r255759 we introduced a proper data flow analysis scheduled after
LiveDebugVariables that correctly propagates DBG_VALUEs across basic block
boundaries. With the new pass in place, the incorrect propagation in
LiveDebugVariables can be retired witout loosing any of the benefits
where LiveDebugVariables happened to do the right thing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256188

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25911] New: -Wpessimizing-move doesn't trigger inside template instantiations

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25911

Bug ID: 25911
   Summary: -Wpessimizing-move doesn't trigger inside template
instantiations
   Product: clang
   Version: unspecified
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: C++11
  Assignee: unassignedclangb...@nondot.org
  Reporter: dch...@google.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

https://llvm.org/bugs/show_bug.cgi?id=9679 is a bug that indicates that it's
generally unsafe to emit fix-its inside template instantiations.

However, this leads to omission of a pessimizing-move warning in some
circumstances where it could apply. One example:

dcheng@nausicaa:~/src/chrome/src$ cat test.cc   
#include 

template
class my_scoped_ptr {
 public:
  explicit my_scoped_ptr(T* ptr) : ptr_(ptr) {}
  ~my_scoped_ptr() { delete ptr_; }

  my_scoped_ptr(my_scoped_ptr&& other) : ptr_(nullptr) { 
using std::swap;
swap(ptr_, other.ptr_);
  }

  static my_scoped_ptr New() { return std::move(my_scoped_ptr(nullptr)); }

 private:
  T* ptr_;
};

int main() {
  my_scoped_ptr scoper = my_scoped_ptr::New();
}
dcheng@nausicaa:~/src/chrome/src$
third_party/llvm-build/Release+Asserts/bin/clang++ -std=c++11 -W
all test.cc
dcheng@nausicaa:~/src/chrome/src$

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25912] New: llc assertion failure with COFF target

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25912

Bug ID: 25912
   Summary: llc assertion failure with COFF target
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: davi...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

pass the following simple ll file to llc, llc will assert. I have not looked at
in in details.

; ModuleID = ''
 target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-pc-win64-coff"


@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void
()*, i8* } { i32 0, void ()* @__llvm_profile_init, i8* null }]

; Function Attrs: noinline
define internal void @__llvm_profile_init() unnamed_addr #1 {
  ret void
}

attributes #0 = { nounwind }


The assertion failure is:

llc: /usr/local/google/davidxl/dev/llvm/include/llvm/Support/Casting.h:237:
typename cast_retty::ret_type llvm::cast(Y *) [X = llvm::MCSectionCOFF,
Y = llvm::MCSection]: Assertion `isa(Val) && "cast() argument of
incompatible type!"' failed.
0  llc 0x00670b41 backtrace + 65
1  llc 0x03ccd4c1
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 241
2  llc 0x03cce9f4
3  libpthread.so.0 0x7f379b9e3330
4  libc.so.6   0x7f379ac0bcb7 gsignal + 55
5  libc.so.6   0x7f379ac0f0a8 abort + 328
6  libc.so.6   0x7f379ac04b76
7  libc.so.6   0x7f379ac04c22
8  llc 0x02cc7eb4
9  llc 0x02634513
llvm::AsmPrinter::EmitXXStructorList(llvm::DataLayout const&, llvm::Constant
const*, bool) + 3523
10 llc 0x0261d26e
llvm::AsmPrinter::EmitSpecialLLVMGlobal(llvm::GlobalVariable const*) + 766

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25902] Cross-DSO control flow integrity doesn't work for 32 target on 64-bit host

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25902

Evgeniy Stepanov  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Evgeniy Stepanov  ---
Actually reproduces w/o the cross-dso stuff (with a slightly different test
case).
Fixed in r256205.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25913] New: AOSP build fails due to assertion failure at llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:795

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25913

Bug ID: 25913
   Summary: AOSP build fails due to assertion failure at
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:795
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: pzh...@codeaurora.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Failed when building AOSP for angler with LLVM tip. This only fails with LLVM
tip, not with the prebuilts/clang in AOSP.

To reproduce the issue. Run the following command under the AOSP root dir.

/bin/bash -c "(true) && (mkdir -p
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates/src/)
&& (PWD=/proc/self/cwd
/home/aosp/nightly/install/community-mainline/cross/latest/bin/clang++ -I
external/libcxxabi/include -I external/libcxx/include -I
external/libunwind_llvm/include -I external/libcxxabi -I
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates -I
out/target/product/angler/gen/STATIC_LIBRARIES/libc++abi_intermediates -I
libnativehelper/include/nativehelper \$(cat
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates/import_includes)
-isystem system/core/include -isystem system/media/audio/include -isystem
hardware/libhardware/include -isystem hardware/libhardware_legacy/include
-isystem hardware/ril/include -isystem libnativehelper/include -isystem
frameworks/native/include -isystem frameworks/native/opengl/include -isystem
frameworks/av/include -isystem frameworks/base/include -isystem
out/target/product/angler/obj/include -isystem
device/huawei/angler/kernel-headers -isystem
hardware/qcom/msm8994/kernel-headers -isystem bionic/libc/arch-arm/include
-isystem bionic/libc/include -isystem bionic/libc/kernel/uapi -isystem
bionic/libc/kernel/common -isystem bionic/libc/kernel/uapi/asm-arm -isystem
bionic/libm/include -isystem bionic/libm/include/arm -c-fno-exceptions
-Wno-multichar -msoft-float -ffunction-sections -fdata-sections -funwind-tables
-fstack-protector-strong -Werror=format-security -D_FORTIFY_SOURCE=2
-fno-short-enums -no-canonical-prefixes -mcpu=cortex-a7 -mfloat-abi=softfp
-mfpu=neon -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self
-Wpointer-arith -Werror=return-type -Werror=non-virtual-dtor -Werror=address
-Werror=sequence-point -DNDEBUG -g -Wstrict-aliasing=2 -DNDEBUG -UDEBUG 
-D__compiler_offsetof=__builtin_offsetof -Werror=int-conversion
-Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument
-fcolor-diagnostics -nostdlibinc  -target arm-linux-androideabi-target
arm-linux-androideabi
-Bprebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/arm-linux-androideabi/bin
   -fvisibility-inlines-hidden -Wsign-promo  -Wno-inconsistent-missing-override
-nostdlibinc  -target arm-linux-androideabi   -mthumb -Os -fomit-frame-pointer
-fno-strict-aliasing  -frtti -fPIC -no-integrated-as -std=gnu++14 -std=c++14
-fexceptions -Wall -Wextra -Wno-unused-function -Werror
-DHAVE___CXA_THREAD_ATEXIT_IMPL -DLIBCXXABI_USE_LLVM_UNWINDER=1 
-Werror=int-to-pointer-cast -Werror=pointer-to-int-cast 
-Werror=address-of-temporary -Werror=null-dereference -Werror=return-type   
-Wno-unknown-attributes -MD -MF
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates/src/cxa_guard.d
-o
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates/src/cxa_guard.o
external/libcxxabi/src/cxa_guard.cpp) && (cp
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates/src/cxa_guard.d
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates/src/cxa_guard.P;
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\$//' -e '/^\$/ d' -e 's/\$/
:/' <
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates/src/cxa_guard.d
>>
out/target/product/angler/obj_arm/STATIC_LIBRARIES/libc++abi_intermediates/src/cxa_guard.P)"
clang++:
/home/aosp/nightly/src/community-mainline/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:795:
bool emitDebugValueComment(const llvm::MachineInstr *, llvm::AsmPrinter &):
Assertion `Op == dwarf::DW_OP_minus' failed.
0  clang++ 0x011f0a88
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  clang++ 0x011eef96 llvm::sys::RunSignalHandlers() + 70
2  clang++ 0x011f12a9
3  libpthread.so.0 0x2aee83e45cb0
4  libc.so.6   0x2aee849b20d5 gsignal + 53
5  libc.so.6   0x2aee849b583b abort + 379
6  libc.so.6   0x2aee849aad9e
7  libc.so.6   0x2aee849aae42
8  clang++ 0x0173f064
9  clang++ 0x00708c03
10 clang++ 0x00be16bc
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 124
11 clang++ 0x00eb24ed
llvm::FPPassManager::runOnFunction

[llvm-bugs] [Bug 25914] New: Frontend Crash (Clang 3.7.0 with Microsoft CodeGen) with "using" and "unique_ptr".

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25914

Bug ID: 25914
   Summary: Frontend Crash (Clang 3.7.0 with Microsoft CodeGen)
with "using" and "unique_ptr".
   Product: clang
   Version: 3.7
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: C++11
  Assignee: unassignedclangb...@nondot.org
  Reporter: rickvanp...@gmail.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

Note:  This only occurs in Clang 3.7.0 with Microsoft CodeGen.  Normal Clang
3.7.0 distributed with LLVM does not crash.


# Crash reproducer for clang with Microsoft CodeGen version 3.7.0 
# Driver args: "-c" "-fdiagnostics-format=msvc" "--target=i686-pc-windows-msvc"
"-I" "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\Clang
3.7\\include" "-I" "C:\\Program Files (x86)\\Microsoft Visual Studio
14.0\\VC\\include" "-I" "C:\\Program Files (x86)\\Microsoft Visual Studio
14.0\\VC\\atlmfc\\include" "-I" "C:\\Program Files (x86)\\Windows
Kits\\10\\Include\\10.0.10240.0\\ucrt" "-I" "C:\\Program Files (x86)\\Windows
Kits\\8.1\\Include\\um" "-I" "C:\\Program Files (x86)\\Windows
Kits\\8.1\\Include\\shared" "-I" "C:\\Program Files (x86)\\Windows
Kits\\8.1\\Include\\winrt" "-g2" "-gdwarf-2" "-o" "Debug\\ScratchPad.obj"
"-Wall" "-O0" "-fno-strict-aliasing" "-fno-omit-frame-pointer"
"-fno-exceptions" "-fstack-protector" "-fpic" "-fno-short-enums" "-fno-rtti"
"-std=c++1y" "-D" "WIN32" "-D" "_DEBUG" "-D" "_CONSOLE" "-D" "NDEBUG" "-D"
"_UNICODE" "-D" "UNICODE" "-x" "c++" "-fms-extensions" "-fno-ms-compatibility"
"-v" "-c" "-D" "_DEBUG" "-D" "_MT" "-Xclang" "--dependent-lib=libcmtd"
"-Xclang" "--dependent-lib=oldnames" "ScratchPad.cpp"
# Original command:  "C:\\Program Files (x86)\\Microsoft Visual Studio
14.0\\VC\\Clang 3.7\\bin\\x86\\clang.exe" "-cc1" "-triple"
"i686-pc-windows-msvc19.0.0" "-emit-obj" "-mrelax-all" "-disable-free"
"-disable-llvm-verifier" "-main-file-name" "ScratchPad.cpp"
"-mrelocation-model" "pic" "-pic-level" "1" "-mthread-model" "posix"
"-mdisable-fp-elim" "-relaxed-aliasing" "-fmath-errno" "-masm-verbose"
"-mconstructor-aliases" "-target-cpu" "pentium4" "-v" "-gdwarf-2"
"-dwarf-column-info" "-coverage-file"
"C:\\Code\\ScratchPad\\ScratchPad\\Debug\\ScratchPad.obj" "-resource-dir"
"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\Clang
3.7\\bin\\x86\\..\\lib\\clang\\3.7.0" "-D" "WIN32" "-D" "_DEBUG" "-D"
"_CONSOLE" "-D" "NDEBUG" "-D" "_UNICODE" "-D" "UNICODE" "-D" "_DEBUG" "-D"
"_MT" "-I" "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\Clang
3.7\\include" "-I" "C:\\Program Files (x86)\\Microsoft Visual Studio
14.0\\VC\\include" "-I" "C:\\Program Files (x86)\\Microsoft Visual Studio
14.0\\VC\\atlmfc\\include" "-I" "C:\\Program Files (x86)\\Windows
Kits\\10\\Include\\10.0.10240.0\\ucrt" "-I" "C:\\Program Files (x86)\\Windows
Kits\\8.1\\Include\\um" "-I" "C:\\Program Files (x86)\\Windows
Kits\\8.1\\Include\\shared" "-I" "C:\\Program Files (x86)\\Windows
Kits\\8.1\\Include\\winrt" "-internal-isystem" "C:\\Program Files
(x86)\\Microsoft Visual Studio 14.0\\VC\\Clang
3.7\\bin\\x86\\..\\lib\\clang\\3.7.0\\include" "-internal-isystem" "C:\\Program
Files (x86)\\Microsoft Visual Studio 14.0\\VC\\Clang 3.7\\include"
"-internal-isystem" "C:\\Program Files (x86)\\Microsoft Visual Studio
14.0\\VC\\include" "-internal-isystem" "C:\\Program Files (x86)\\Microsoft
Visual Studio 14.0\\VC\\atlmfc\\include" "-internal-isystem" "C:\\Program Files
(x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt" "-internal-isystem"
"C:\\Program Files (x86)\\Windows Kits\\8.1\\Include\\um" "-internal-isystem"
"C:\\Program Files (x86)\\Windows Kits\\8.1\\Include\\shared"
"-internal-isystem" "C:\\Program Files (x86)\\Windows
Kits\\8.1\\Include\\winrt" "-O0" "-Wall" "-std=c++1y" "-fdeprecated-macro"
"-fdebug-compilation-dir" "C:\\Code\\ScratchPad\\ScratchPad" "-ferror-limit"
"19" "-fmessage-length" "0" "-stack-protector" "1" "-mstackrealign" "-fno-rtti"
"-fms-extensions" "-fms-compatibility-version=19" "-fdelayed-template-parsing"
"-fobjc-runtime=gnustep" "-fdiagnostics-show-option" "-fdiagnostics-format"
"msvc" "--dependent-lib=libcmtd" "--dependent-lib=oldnames" "-o"
"Debug\\ScratchPad.obj" "-x" "c++" "ScratchPad.cpp"
 "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\Clang
3.7\\bin\\x86\\clang.exe" "-cc1" "-triple" "i686-pc-windows-msvc19.0.0"
"-emit-obj" "-mrelax-all" "-disable-free" "-disable-llvm-verifier"
"-main-file-name" "ScratchPad.cpp" "-mrelocation-model" "pic" "-pic-level" "1"
"-mthread-model" "posix" "-mdisable-fp-elim" "-relaxed-aliasing" "-fmath-errno"
"-masm-verbose" "-mconstructor-aliases" "-target-cpu" "pentium4" "-v"
"-gdwarf-2" "-dwarf-column-info" "-D" "WIN32" "-D" "_DEBUG" "-D" "_CONSOLE"
"-D" "NDEBUG" "-D" "_UNICODE" "-D" "UNICODE" "-D" "_DEBUG" "-D" "_MT" "-O0"
"-Wall" "-std=c++1y" "-fdeprecat

[llvm-bugs] [Bug 25915] New: rL256003 breaks LTO with debug info

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25915

Bug ID: 25915
   Summary: rL256003 breaks LTO with debug info
   Product: lld
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedb...@nondot.org
  Reporter: kra...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Consider the following program:

$ cat lala.cc
const char lala[] = { 0 };

Let's compile it with -flto and -g, and link using Gold plugin:

$ /usr/local/google/home/krasin/src/llvm.org/release-build/bin/clang++ -flto -g
-fuse-ld=gold -o lala lala.cc
clang-3.8: error: unable to execute command: Segmentation fault (core dumped)
clang-3.8: error: linker command failed due to signal (use -v to see
invocation)

Gold under gdb:

Program received signal SIGSEGV, Segmentation fault.
(anonymous namespace)::IRLinker::findNeededSubprograms
(this=this@entry=0x7fff6350, ValueMap=...) at
/usr/local/google/home/krasin/src/llvm.org/llvm/lib/Linker/IRMover.cpp:1196
1196for (const Metadata *Op : CU->getSubprograms()->operands()) {
(gdb) bt
#0  (anonymous namespace)::IRLinker::findNeededSubprograms
(this=this@entry=0x7fff6350, ValueMap=...) at
/usr/local/google/home/krasin/src/llvm.org/llvm/lib/Linker/IRMover.cpp:1196
#1  0x7454e361 in linkNamedMDNodes (this=0x7fff6350) at
/usr/local/google/home/krasin/src/llvm.org/llvm/lib/Linker/IRMover.cpp:1250
#2  run (this=0x7fff6350) at
/usr/local/google/home/krasin/src/llvm.org/llvm/lib/Linker/IRMover.cpp:1520
#3  llvm::IRMover::move(llvm::Module&, llvm::ArrayRef,
std::function)>, llvm::DenseMap, llvm::detail::DenseMapPair >*, bool) (this=this@entry=0x7fff6a30, Src=...,
ValuesToLink=..., AddLazyFor=..., ValIDToTempMDMap=ValIDToTempMDMap@entry=0x0,
IsMetadataLinkingPostpass=IsMetadataLinkingPostpass@entry=false) at
/usr/local/google/home/krasin/src/llvm.org/llvm/lib/Linker/IRMover.cpp:1654
#4  0x73be433d in allSymbolsReadHook (ApiFile=ApiFile@entry=0x0) at
/usr/local/google/home/krasin/src/llvm.org/llvm/tools/gold/gold-plugin.cpp:910
#5  0x73be66ab in all_symbols_read_hook () at
/usr/local/google/home/krasin/src/llvm.org/llvm/tools/gold/gold-plugin.cpp:955
#6  0x004d5aef in ?? ()
#7  0x004d5c24 in ?? ()
#8  0x00516c65 in ?? ()
#9  0x00516fca in ?? ()
#10 0x00404f32 in ?? ()
#11 0x77313ec5 in __libc_start_main (main=0x404a80, argc=37,
argv=0x7fffd708, init=, fini=,
rtld_fini=, stack_end=0x7fffd6f8) at libc-start.c:287
#12 0x00405e41 in ?? ()


This is introduced in http://reviews.llvm.org/rL256003 and the immediate
problem is in the line IRMover.cpp:1197 that makes an assumption that
CU->getSubprograms() will always return a non-NULL value.

This was initially discovered on one of Chromium buildbots, see
https://crbug.com/570694#c14

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25916] New: Missing CFI directive after func epilogue and before ret

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25916

Bug ID: 25916
   Summary: Missing CFI directive after func epilogue and before
ret
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: DebugInfo
  Assignee: unassignedb...@nondot.org
  Reporter: w...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 15508
  --> https://llvm.org/bugs/attachment.cgi?id=15508&action=edit
testcase

Using the most recent clang (r255910)

clang  -fsanitize=address ill.cc
ASAN_OPTIONS=handle_sigill=1:fast_unwind_on_fatal=0  ./a.out

It will catch a SIGILL signal (correct behavior) and then catch SIGSEGV:
Program received signal SIGSEGV, Segmentation fault.
_Unwind_GetGR (index=16, context=0x77fe5ef0) at
../../../libgcc/unwind-dw2.c:244
244 ../../../libgcc/unwind-dw2.c: No such file or directory.
(gdb) bt
#0  _Unwind_GetGR (index=16, context=0x77fe5ef0) at
../../../libgcc/unwind-dw2.c:244
#1  _Unwind_GetPtr (index=16, context=0x77fe5ef0) at
../../../libgcc/unwind-dw2.c:255
#2  uw_update_context (context=context@entry=0x77fe5ef0,
fs=fs@entry=0x77fe5fe0) at ../../../libgcc/unwind-dw2.c:1523
#3  0x772a3e3e in _Unwind_Backtrace (trace=0x4d14d0 ,
trace_argument=0x77fe61a0) at ../../../libgcc/unwind.inc:303
#4  0x004d16ec in SlowUnwindStack

Assembly:
~/workarea/llvm-r255910/dbuild/bin/clang -fsanitize=address ill.cc -S
main:   # @main
.cfi_startproc
# BB#0: # %entry
pushq   %rbp
.Ltmp3:
.cfi_def_cfa_offset 16
.Ltmp4:
.cfi_offset %rbp, -16
movq%rsp, %rbp
.Ltmp5:
.cfi_def_cfa_register %rbp
subq$16, %rsp
movabsq $_Z5deathv, %rax
movl%edi, -4(%rbp)
movq%rsi, -16(%rbp)
movq%rax, %rdi
callq   __sanitizer_set_death_callback
callq   __asan_handle_no_return
xorl%eax, %eax
addq$16, %rsp
popq%rbp // After this instruction, cfa register should be
changed to rsp again. ".cfi_def_cfa 7, 8" should be inserted after the
instruction.
ud2
retq
.Lfunc_end1:
.size   main, .Lfunc_end1-main
.cfi_endproc

If ".cfi_def_cfa 7, 8" is added before ud2 manually, the SEGV will be gone.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25917] New: findNeededSubprograms segfaults on compile units without subprograms

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25917

Bug ID: 25917
   Summary: findNeededSubprograms segfaults on compile units
without subprograms
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Linker
  Assignee: unassignedb...@nondot.org
  Reporter: andrew.b.ad...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

findNeededSubprograms in IRMover.cpp assumes that the CU->getSubprograms() is
not null and dereferences it, but it is null sometimes in my experience. This
probably happens when the compile unit has no subprograms.

Inserting:

if (!CU->getSubprograms()) continue;

just before the IRMover.cpp line 1196 fixes it for me

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25917] findNeededSubprograms segfaults on compile units without subprograms

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25917

Teresa Johnson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||tejohn...@google.com
 Resolution|--- |DUPLICATE

--- Comment #1 from Teresa Johnson  ---


*** This bug has been marked as a duplicate of bug 25915 ***

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25912] llc assertion failure with COFF target

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25912

David Majnemer  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Component|new bugs|MC
 Resolution|--- |FIXED
Product|new-bugs|libraries

--- Comment #15 from David Majnemer  ---
Fixed in r256226.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25918] New: Misleading altivec error message when using an unsupported element type in C++

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25918

Bug ID: 25918
   Summary: Misleading altivec error message when using an
unsupported element type in C++
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: george.burgess...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

When using an altivec vector with (what I'd assume is) an unsupported element
type, the diagnostic that clang emits is suboptimal:

$ cat baderror.cpp
int foo() { vector bool a; }

$ ~/llvm/llvm-commit/build/release/bin/clang++ -cc1 -faltivec -triple
powerpc-unknown-unknown baderror.cpp
baderror.cpp:1:25: error: C++ requires a type specifier for all declarations
int foo() { vector bool a; }
~~~ ^
1 error generated.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25919] New: r256105-added assertion fails when LTOing C++ code.

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25919

Bug ID: 25919
   Summary: r256105-added assertion fails when LTOing C++ code.
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Core LLVM classes
  Assignee: unassignedb...@nondot.org
  Reporter: ahmed.bouga...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Consider:

  struct A {
virtual void a() {}
  };

  void b() {
A().a();
  }

With r256105, this:

  clang++ -flto a.cpp -O0

fails with:

  Assertion failed: (M->isMaterialized()), function assertModuleIsMaterialized,
file ../lib/IR/Value.cpp, line 324.

This is on darwin; coming from analyzeGlobal:

  * frame #5: 0x0001024d2b9d
libLTO.dylib`llvm::Value::assertModuleIsMaterialized(this=0x0001006154f8)
const + 125 at Value.cpp:324
frame #6: 0x00010308f855
libLTO.dylib`llvm::Value::uses(this=0x0001006154f8) const + 21 at
Value.h:321
frame #7: 0x00010366b0be
libLTO.dylib`analyzeGlobalAux(V=0x0001006154f8, GS=0x71803f28,
PhiUsers=0x71803e60) + 94 at GlobalStatus.cpp:56
frame #8: 0x00010366b039
libLTO.dylib`llvm::GlobalStatus::analyzeGlobal(V=0x0001006154f8,
GS=0x71803f28) + 57 at GlobalStatus.cpp:181
frame #9: 0x000102bf6421
libLTO.dylib`llvm::canBeOmittedFromSymbolTable(GV=0x0001006154f8) + 177 at
Analysis.cpp:643
frame #10: 0x0001025269de
libLTO.dylib`llvm::LTOModule::addDefinedSymbol() + 574 at LTOModule.cpp:480
frame #11: 0x000102526e4a
libLTO.dylib`llvm::LTOModule::addDefinedFunctionSymbol() + 42 at
LTOModule.cpp:444
frame #12: 0x000102526e0a
libLTO.dylib`llvm::LTOModule::addDefinedFunctionSymbol(this=0x0001006206b0,
Sym=0x71804368) + 234 at LTOModule.cpp:439
frame #13: 0x000102523ded
libLTO.dylib`llvm::LTOModule::parseSymbols(this=0x0001006206b0) + 749 at
LTOModule.cpp:633
frame #14: 0x000102521e28
libLTO.dylib`llvm::LTOModule::makeLTOModule(Buffer=MemoryBufferRef @
0x71805ca0, options=TargetOptions @ 0x71805ce8,
Context=0x000100600880) + 9864 at LTOModule.cpp:262
frame #15: 0x000102522c35
libLTO.dylib`llvm::LTOModule::createInContext() + 437 at LTOModule.cpp:160
frame #16: 0x000102522d08
libLTO.dylib`llvm::LTOModule::createInLocalContext() + 168 at LTOModule.cpp:151
frame #17: 0x00010180349b
libLTO.dylib`::lto_module_create_in_local_context() + 155 at lto.cpp:253

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25915] rL256003 breaks LTO with debug info

2015-12-21 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25915

Teresa Johnson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Teresa Johnson  ---
Fixed in r256224.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs