- Apr 13, 2015
-
-
Chris Bieneman authored
[CMake] Updates to llvm-shlib to support overriding exports list and added an option to export all symbols. llvm-svn: 234798
-
Krzysztof Parzyszek authored
llvm-svn: 234797
-
Duncan P. N. Exon Smith authored
`DIGlobalVariable::getGlobal()` isn't really helpful, it just does a `dyn_cast_or_null<>`. Simplify its only user by doing the cast directly and delete the code. llvm-svn: 234796
-
Krzysztof Parzyszek authored
llvm-svn: 234795
-
Krzysztof Parzyszek authored
llvm-svn: 234793
-
Duncan P. N. Exon Smith authored
The only difference between the two is a `dyn_cast<>` to `GlobalVariable`. If optimizations have left anything behind when a global gets replaced, then it doesn't seem like the debug info is dead. I can't seem to find an optimization that would leave behind a non-`GlobalVariable` without nulling the reference entirely, so I haven't added a testcase (but I'll be deleting `getGlobal()` in a future commit). llvm-svn: 234792
-
Nick Lewycky authored
GCC complains thusly: "attributes at the beginning of statement are ignored [-Werror=attributes]". Very well then! NFC llvm-svn: 234788
-
Philip Reames authored
Use early-return style that's preferred in LLVM and updating the naming in places I touched with other changes in the last few days. Hopefully, NFC. llvm-svn: 234785
-
Duncan P. N. Exon Smith authored
llvm-svn: 234783
-
Duncan P. N. Exon Smith authored
Other accessors assume this already; not sure how `replaceFunction()` got left behind. llvm-svn: 234782
-
Nick Lewycky authored
llvm-svn: 234780
-
Philip Reames authored
We use dummy calls to adjust the liveness of values over statepoints in the midst of the insertion. If there are no values which need held live, there's no point in actually inserting the holder. llvm-svn: 234779
-
Duncan P. N. Exon Smith authored
I don't really like this function at all -- I think it should be as simple as `return getFunction() == F` -- but for now this seems like the best we can do. llvm-svn: 234778
-
Krzysztof Parzyszek authored
llvm-svn: 234777
-
Duncan P. N. Exon Smith authored
This reverts commit r234717, reapplying r234698 (in spirit). As described in r234717, the original `Verifier` check had a use-after-free. Instead of storing pointers to "interesting" debug info intrinsics whose bit piece expressions should be verified once we have typerefs, do a second traversal. I've added a testcase to catch the `llc` crasher. Original commit message: Verifier: Check for incompatible bit piece expressions Convert an assertion into a `Verifier` check. Bit piece expressions must fit inside the variable, and mustn't be the entire variable. Catching this in the verifier will help us find bugs sooner, and makes `DIVariable::getSizeInBits()` dead code. llvm-svn: 234776
-
Matthias Braun authored
llvm-svn: 234774
-
Akira Hatanaka authored
target-cpu and target-features attribute strings as the caller. Differential Revision: http://reviews.llvm.org/D8984 llvm-svn: 234773
-
Krzysztof Parzyszek authored
llvm-svn: 234772
-
Philip Reames authored
Since we're restructuring the CFG, we also need to make sure to update the analsis passes. While I'm touching the code, I dedicided to restructure it a bit. The code involved here was very confusing. This change moves the normalization to essentially being a pre-pass before the main insertion work and updates a few comments to actually say what is happening and *why*. The restructuring should be covered by existing tests. I couldn't easily see how to create a test for the invalidation bug. Suggestions welcome. llvm-svn: 234769
-
Jan Vesely authored
Revert "Remove default in fully-covered switch (to fix Clang -Werror -Wcovered-switch-default)" Revert "R600: Add carry and borrow instructions. Use them to implement UADDO/USUBO" Revert "LegalizeDAG: Try to use Overflow operations when expanding ADD/SUB" Using overflow operations fails CodeGen/Generic/2011-07-07-ScheduleDAGCrash.ll on hexagon, nvptx, and r600. Revert while I investigate. llvm-svn: 234768
-
Philip Reames authored
This is related to the issues addressed in 234651. These assertions check the properties ensured by that change at the place of use. Note that a similiar property is checked in checkBasicSSA, but without the reachability constraint. Technically, the liveness would be correct to include unreachable values, but this would be problematic for actual relocation. llvm-svn: 234766
-
Krzysztof Parzyszek authored
llvm-svn: 234764
-
Matthias Braun authored
In case of different types used for the condition of the selects the select(select) -> select(and) normalisation cannot be performed. See also: http://reviews.llvm.org/D7622 llvm-svn: 234763
-
Philip Reames authored
The check in question is attempting to help find cases where we haven't relocated a pointer at a safepoint we should have. It does this by coercing the value to null at any safepoint which doesn't relocate it. Unfortunately, this turns out to be rather expensive in terms of memory usage and time. The number of stores inserted can grow with O(number of values x number of statepoints). On at least one example I looked at, over half of peak memory usage was coming from this check. With this change, the check is no longer enabled by default in Asserts builds. It is enabled for expensive asserts builds and has a command line option to enable it in both Asserts and non-Asserts builds. llvm-svn: 234761
-
David Blaikie authored
llvm-svn: 234760
-
Jan Vesely authored
v2: tighten the sub64 tests v3: rename to CARRY/BORROW v4: fixup test cmdline add known bits computation use sign extend instead of sub 0,x better add test v5: remove redundant break move lowering to separate functions fix comments Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> Reviewers: arsenm llvm-svn: 234759
-
David Blaikie authored
Patch by Chilledheart (rwindz0@gmail.com). Reviewed By: rafael Differential Revision: http://reviews.llvm.org/D8773 llvm-svn: 234758
-
David Blaikie authored
Summary: The document is still incomplete in some degrees, but updated to reflect the latest changes. Anyway we can detail it if any one think it is not enough. For the sake of it, some useful examples are listed below: Refer to r113618 "Add X86 MMX type to bitcode and Type" for how to add a new type. > One notable change from then is only one thing that ``lib/VMCore`` is renamed to ``lib/IR``. Refer to r194760 "Add addrspacecast instruction" for how to add a new instruction. Patch by Chilledheart (rwindz0@gmail.com). Reviewed By: echristo Differential Revision: http://reviews.llvm.org/D8897 llvm-svn: 234757
-
Jan Vesely authored
v2: consider BooleanContents when processing overflow Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> Reviewers: resistor, jholewinsky (nvidia parts) Differential Revision: http://reviews.llvm.org/D6340 llvm-svn: 234755
-
Rafael Espindola authored
Will be tested by existing tests once used (soon). llvm-svn: 234737
-
John Brawn authored
Fill in the TODO in CodeGenPrepare::OptimizeCallInst so that global variables that are passed to memory intrinsics are aligned in the same way that allocas are. Differential Revision: http://reviews.llvm.org/D8421 llvm-svn: 234735
-
Rafael Espindola authored
Original message. Have one raw_fd_ostream constructor forward to the other. This fixes some odd behaviour differences between the two. In particular, the version that takes a FD no longer unconditionally sets stdout to binary. llvm-svn: 234734
-
NAKAMURA Takumi authored
It broke MSVCRT hosts: LLVM :: Object/check_binary_output.ll LLVM :: Object/extract.ll llvm-svn: 234721
-
NAKAMURA Takumi authored
llvm-svn: 234720
-
NAKAMURA Takumi authored
<stdin>:202:2: note: possible intended match here 2143289344(1.#QNAN0e+00), 2(2.802597e-45) llvm-svn: 234719
-
Duncan P. N. Exon Smith authored
This reverts commit r234698. This caused a use-after-free: `QueuedBitPieceExpressions` holds onto references to `DbgInfoIntrinsic`s and references them past where they're deleted (this is because the verifier is run as a function pass, and then `verifyTypeRefs()` is called during `doFinalization()`). I'll include a reduced crasher for `llc` when I recommit the check. llvm-svn: 234717
-
Jan Vesely authored
v2: Add tests Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> reviewer: arsenm llvm-svn: 234716
-
Jan Vesely authored
Fixed since r233079 Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> reviewer: arsenm llvm-svn: 234715
-
Petr Hosek authored
Summary: When instruction bundling is enabled and the -mc-relax-all flag is set, we can write bundle padding directly into fragments and avoid creating large number of fragments significantly reducing LLVM MC memory usage. Test Plan: Regression test attached Reviewers: eliben Subscribers: jfb, mseaborn Differential Revision: http://reviews.llvm.org/D8072 llvm-svn: 234714
-
Lang Hames authored
llvm-svn: 234710
-