- Jan 20, 2012
-
-
Jim Grosbach authored
For bit patterns that aren't representable using the 8-bit floating point representation for vmov.f32, but are representable via vmov.i32, treat the .f32 syntax as an alias. Most importantly, this covers the case 'vmov.f32 Vd, #0.0'. rdar://10616677 llvm-svn: 148556
-
Benjamin Kramer authored
llvm-svn: 148555
-
Kostya Serebryany authored
llvm-svn: 148554
-
Kostya Serebryany authored
Problem: LLVM needs more function attributes than currently available (32 bits). One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc). Solution: - extend the Attributes from 32 bits to 64-bits - wrap the object into a class so that unsigned is never erroneously used instead - change "unsigned" to "Attributes" throughout the code, including one place in clang. - the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking. - the class has "safe operator bool()" to support the common idiom: if (Attributes attr = getAttrs()) useAttrs(attr); - The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls - Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work. - Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit. Tested: "make check" on Linux (32-bit and 64-bit) and Mac (10.6) built/run spec CPU 2006 on Linux with clang -O2. This change will break clang build in lib/CodeGen/CGCall.cpp. The following patch will fix it. llvm-svn: 148553
-
Argyrios Kyrtzidis authored
expansion, in which case it returns a file range in the location where the argument was spelled. llvm-svn: 148551
-
Benjamin Kramer authored
llvm-svn: 148550
-
Benjamin Kramer authored
llvm-svn: 148549
-
Douglas Gregor authored
llvm-svn: 148547
-
Douglas Gregor authored
the front end into its own class, FrontendInputFile, to make it easier to introduce new per-input data. No functionality change. llvm-svn: 148546
-
Benjamin Kramer authored
Found by the clang static analyzer. llvm-svn: 148544
-
Benjamin Kramer authored
Found by the clang static analyzer. llvm-svn: 148543
-
Benjamin Kramer authored
Found by clang's own static analyzer. llvm-svn: 148542
-
Benjamin Kramer authored
Found by the clang static analyzer. llvm-svn: 148541
-
Benjamin Kramer authored
Found by the clang static analyzer. llvm-svn: 148540
-
Rafael Espindola authored
warnings from gcc. llvm-svn: 148539
-
Craig Topper authored
Improve 256-bit shuffle splitting to allow 2 sources in each 128-bit lane. As long as only a single lane of the source is used in the lane in the destination. This makes the splitting match much closer to what happens with 256-bit shuffles when AVX is disabled and only 128-bit XMM is allowed. llvm-svn: 148537
-
Nick Lewycky authored
can't handle. Also don't produce non-zero results for things which won't be transformed by SROA at all just because we saw the loads/stores before we saw the use of the address. llvm-svn: 148536
-
Andrew Trick authored
LSR has gradually been improved to more aggressively reuse existing code, particularly existing phi cycles. This exposed problems with the SCEVExpander's sloppy treatment of its insertion point. I applied some rigor to the insertion point problem that will hopefully avoid an endless bug cycle in this area. Changes: - Always used properlyDominates to check safe code hoisting. - The insertion point provided to SCEV is now considered a lower bound. This is usually a block terminator or the use itself. Under no cirumstance may SCEVExpander insert below this point. - LSR is reponsible for finding a "canonical" insertion point across expansion of different expressions. - Robust logic to determine whether IV increments are in "expanded" form and/or can be safely hoisted above some insertion point. Fixes PR11783: SCEVExpander assert. llvm-svn: 148535
-
Greg Clayton authored
system and also deal with dsymForUUID being available on the network, locally, and not at all. llvm-svn: 148534
-
Ted Kremenek authored
Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>. llvm-svn: 148533
-
Craig Topper authored
llvm-svn: 148532
-
Ted Kremenek authored
Implement checker that looks for calls to mktemps and friends that have fewer than 6 Xs. Implements <rdar://problem/6336672>. llvm-svn: 148531
-
Rafael Espindola authored
Release+Asserts build with -DBUILD_SHARED_LIBS=ON, the install directory goes from 72MB to 70MB. llvm-svn: 148530
-
Greg Clayton authored
of the identifier name in the binary images section. Improved the regular expression for the frames. Added a new file "crashlog.lldb" which can be sourced with "command source" that will import the module and set itself up to be used as a command. llvm-svn: 148529
-
Greg Clayton authored
module (you can't import a module with a '-' in it) and also added a Symbolcate(...) top level function so it can be imported and used as an LLDB command. Then you can import the module and map a "crashlog" command (for darwin use only currently) to the python function "crashlog.Symbolicate": (lldb) script import crashlog (lldb) command script add -f crashlog.Symbolicate crashlog Then use it to symbolicate: (lldb) crashlog --crash-log /path/to/foo.crash The crash log will then get symbolicated and inline frames will be added to the crash log and the frames will be displayed. The crash log currently will only try and fetch and setup the target images requires in order to do the symbolication. This will need to be iterated upon, but it is getting close to being useful so I am going to check this in. llvm-svn: 148528
-
Greg Clayton authored
llvm-svn: 148527
-
Eli Friedman authored
Remove a low-quality test which was failing on Windows; test/CodeGen/X86/sret.ll is a better test for the relevant behavior. llvm-svn: 148526
-
Ted Kremenek authored
multiple checks are exposed as separate checkers, but CheckerManager only creates one Checker object. llvm-svn: 148525
-
-
Greg Clayton authored
to find data on the heap. To use this, make the project and then when stopped in your lldb debug session: (lldb) process load /path/to/libheap.dylib (lldb) find_pointer_in_heap (0x112233000000) This will grep everything in all active allocation blocks and print and malloc blocks that contain the pointer 0x112233000000. This can also work for c strings: (lldb) find_cstring_in_heap ("hello") llvm-svn: 148523
-
Eli Friedman authored
Remove PotentiallyPotentiallyEvaluated, and replace it with a much simpler and less error-prone way of handling the relevant cases. Towards marking of whether a declaration is used more accurately. llvm-svn: 148522
-
Johnny Chen authored
Add comment describing the interaction of WantsRawCommandString()/WantsCompletion() with the completion mechanism. llvm-svn: 148521
-
Bill Wendling authored
'insertvalue' instructions that recreate the structure returned by the 'landingpad' instruction. Because the 'insertvalue' instruction isn't supported by FastISel, this can save a bit of time during -O0 compilation. llvm-svn: 148520
-
Anna Zaks authored
llvm-svn: 148518
-
Anna Zaks authored
printing. llvm-svn: 148517
-
Anna Zaks authored
at the given location. This could be useful when checkers' logic depends on whether a function is called with a given macro argument. llvm-svn: 148516
-
Anna Zaks authored
This solves a the issue of crashing gdb when dumping a symbol; + consistent vitualization. llvm-svn: 148515
-
Anna Zaks authored
llvm-svn: 148514
-
Eli Friedman authored
llvm-svn: 148513
-
Sean Callanan authored
We should ultimately introduce GetAs...Type functions in all cases where we have Is...Type functions that know how to look inside typedefs. llvm-svn: 148512
-