- Jun 08, 2013
-
-
Shuxin Yang authored
The MemCpyOpt pass is capable of optimizing: callee(&S); copy N bytes from S to D. into: callee(&D); subject to some legality constraints. Assertion is triggered when the compiler tries to evalute "sizeof(typeof(D))", while D is an opaque-typed, 'sret' formal argument of function being compiled. i.e. the signature of the func being compiled is something like this: T caller(...,%opaque* noalias nocapture sret %D, ...) The fix is that when come across such situation, instead of calling some utility functions to get the size of D's type (which will crash), we simply assume D has at least N bytes as implified by the copy-instruction. rdar://14073661 llvm-svn: 183584
-
Hal Finkel authored
On PPC32, [su]div,rem on i64 types are transformed into runtime library function calls. As a result, they are not allowed in counter-based loops (the counter-loops verification pass caught this error; this change fixes PR16169). llvm-svn: 183581
-
Quentin Colombet authored
llvm-svn: 183579
-
- Jun 07, 2013
-
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183572
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183571
-
Bill Wendling authored
llvm-svn: 183570
-
Tom Stellard authored
We weren't computing structure size correctly and we were relying on the original alloca instruction to compute the offset, which isn't always reliable. Reviewed-by:
Vincent Lejeune <vljn@ovi.com> llvm-svn: 183568
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183567
-
Tom Stellard authored
This should simplify the subtarget definitions and make it easier to add new ones. Reviewed-by:
Vincent Lejeune <vljn@ovi.com> llvm-svn: 183566
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183565
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183561
-
Tom Stellard authored
Reviewed-by:
Vincent Lejeune <vljn@ovi.com> https://bugs.freedesktop.org/show_bug.cgi?id=64257 llvm-svn: 183560
-
Tom Stellard authored
This is the convention used by the other targets. Reviewed-by:
Vincent Lejeune <vljn@ovi.com> llvm-svn: 183559
-
Tom Stellard authored
Reviewed-by:
Vincent Lejeune <vljn@ovi.com> llvm-svn: 183558
-
Quentin Colombet authored
Option: -mllvm -warn-stack-size=<limit> Output (if limit is exceeded): warning: Stack size limit exceeded (<actual size>) in <functionName>. The longer term plan is to hook that to a clang warning. PR:4072 <rdar://problem/13987214> llvm-svn: 183552
-
JF Bastien authored
My recent ARM FastISel patch exposed this bug: http://llvm.org/bugs/show_bug.cgi?id=16178 The root cause is that it can't select integer sext/zext pre-ARMv6 and asserts out. The current integer sext/zext code doesn't handle other cases gracefully either, so this patch makes it handle all sext and zext from i1/i8/i16 to i8/i16/i32, with and without ARMv6, both in Thumb and ARM mode. This should fix the bug as well as make FastISel faster because it bails to SelectionDAG less often. See fastisel-ext.patch for this. fastisel-ext-tests.patch changes current tests to always use reg-imm AND for 8-bit zext instead of UXTB. This simplifies code since it is supported on ARMv4t and later, and at least on A15 both should perform exactly the same (both have exec 1 uop 1, type I). 2013-05-31-char-shift-crash.ll is a bitcode version of the above bug 16178 repro. fast-isel-ext.ll tests all sext/zext combinations that ARM FastISel should now handle. Note that my ARM FastISel enabling patch was reverted due to a separate failure when dealing with MCJIT, I'll fix this second failure and then turn FastISel on again for non-iOS ARM targets. I've tested "make check-all" on my x86 box, and "lnt test-suite" on A15 hardware. llvm-svn: 183551
-
Benjamin Kramer authored
Found be libstdc's debug mode. llvm-svn: 183549
-
Quentin Colombet authored
Fix an assertion when the compiler encounters big constants whose bit width is not a multiple of 64-bits. Although clang would never generate something like this, the backend should be able to handle any legal IR. <rdar://problem/13363576> llvm-svn: 183544
-
Manman Ren authored
Use the correct DIType when creating types in DIBuilder. llvm-svn: 183543
-
Benjamin Kramer authored
llvm-svn: 183541
-
Rafael Espindola authored
Thanks to Benjamin Kramer for the suggestion. llvm-svn: 183540
-
Roman Divacky authored
I am able to compile/assemble/link/run /bin/echo from FreeBSD. llvm-svn: 183537
-
Rafael Espindola authored
OpenBSD's stack smashing protection differs slightly from other platforms: 1. The smash handler function is "__stack_smash_handler(const char *funcname)" instead of "__stack_chk_fail(void)". 2. There's a hidden "long __guard_local" object that gets linked into each executable and DSO. Patch by Matthew Dempsky. llvm-svn: 183533
-
Benjamin Kramer authored
As a bonus this reduces the loop from O(n^2) to O(n). llvm-svn: 183532
-
Vincent Lejeune authored
llvm-svn: 183528
-
Benjamin Kramer authored
Avoids unused variable warnings in Release builds. llvm-svn: 183512
-
Duncan Sands authored
llvm-svn: 183495
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183494
-
Bill Wendling authored
the internals of TargetMachine could change. llvm-svn: 183493
-
Bill Wendling authored
the internals of TargetMachine could change. llvm-svn: 183492
-
Bill Wendling authored
the internals of TargetMachine could change. llvm-svn: 183491
-
Bill Wendling authored
the internals of TargetMachine could change. llvm-svn: 183490
-
Michael Gottesman authored
[objc-arc] Ensure that the cfg path count does not overflow when we multiply TopDownPathCount/BottomUpPathCount. rdar://12480535 llvm-svn: 183489
-
Bill Wendling authored
the internals of TargetMachine could change. llvm-svn: 183488
-
Bill Wendling authored
These objects are internal to the TargetMachine object and may change. llvm-svn: 183485
-
Manman Ren authored
Use the correct DIType when creating vector types. llvm-svn: 183484
-
Arnold Schwaighofer authored
llvm-svn: 183477
-
Arnold Schwaighofer authored
Reapply 183271. llvm-svn: 183472
-
Arnold Schwaighofer authored
Reapply 183270 again (because three is a magic number). This should now no longer seg fault after r183459. llvm-svn: 183464
-
Venkatraman Govindaraju authored
llvm-svn: 183463
-