- Jun 09, 2013
-
-
Benjamin Kramer authored
PR16281. llvm-svn: 183630
-
Benjamin Kramer authored
PR16283. llvm-svn: 183629
-
Logan Chien authored
Since we have ARM unwind directive parser and assembler, we can check the correctness in two stages: 1. From LLVM assembly (.ll) to ARM assembly (.s) 2. From ARM assembly (.s) to ELF object file (.o) We already have several "*.s to *.o" test cases. This CL adds some "*.ll to *.s" test cases and removes the redundant "*.ll to *.o" test cases. New test cases to check "*.ll to *.s" code generator: - ehabi.ll: Check the correctness of the generated unwind directives. - section-name.ll: Check the section name of functions. Removed test cases: - ehabi-mc-cantunwind.ll (Covered by ehabi-cantunwind.ll, and eh-directive-cantunwind.s) - ehabi-mc-compact-pr0.ll (Covered by ehabi.ll, eh-compact-pr0.s, eh-directive-save.s, and eh-directive-setfp.s) - ehabi-mc-compact-pr1.ll (Covered by ehabi.ll, eh-compact-pr1.s, eh-directive-save.s, and eh-directive-setfp.s) - ehabi-mc.ll (Covered by ehabi.ll, and eh-directive-integrated-test.s) - ehabi-mc-section-group.ll (Covered by section-name.ll, and eh-directive-section-comdat.s) - ehabi-mc-section.ll (Covered by section-name.ll, and eh-directive-section.s) - ehabi-mc-sh_link.ll (Covered by eh-directive-text-section.s, and eh-directive-section.s) llvm-svn: 183628
-
Logan Chien authored
Changes to ARM unwind opcode assembler: * Fix multiple .save or .vsave directives. Besides, the order is preserved now. * For the directives which will generate multiple opcodes, such as ".save {r0-r11}", the order of the unwind opcode is fixed now, i.e. the registers with less encoding value are popped first. * Fix the $sp offset calculation. Now, we can use the .setfp, .pad, .save, and .vsave directives at any order. Changes to test cases: * Add test cases to check the order of multiple opcodes for the .save directive. * Fix the incorrect $sp offset in the test case. The stack pointer offset specified in the test case was incorrect. (Changed test cases: ehabi-mc-section.ll and ehabi-mc.ll) * The opcode to restore $sp are slightly reordered. The behavior are not changed, and the new output is same as the output of GNU as. (Changed test cases: eh-directive-pad.s and eh-directive-setfp.s) llvm-svn: 183627
-
Elena Demikhovsky authored
llvm-svn: 183626
-
Tim Northover authored
Variadic functions are particularly fragile in the face of ABI changes, so this limits how much the pass changes them llvm-svn: 183625
-
JF Bastien authored
The register classes when emitting loads weren't quite restricting enough, leading to MI verification failure on the result register. These are new failures that weren't there the first time I tried enabling ARM FastISel for new targets. llvm-svn: 183624
-
David Majnemer authored
llvm-svn: 183623
-
- Jun 08, 2013
-
-
Aaron Ballman authored
sys::process::get_id() now returns the process ID instead of a process handle on Windows. Patch thanks to Kim Gräsman! llvm-svn: 183621
-
Venkatraman Govindaraju authored
llvm-svn: 183613
-
Amaury de la Vieuville authored
Enforce Table A7-15 (op=1, cmode=0b111) -> UNDEF llvm-svn: 183612
-
Amaury de la Vieuville authored
llvm-svn: 183611
-
Amaury de la Vieuville authored
Handle the case when the disassembler table can't tell the difference between some encodings of QADD and CPS. Add some necessary safe guards in CPS decoding as well. llvm-svn: 183610
-
Amaury de la Vieuville authored
UNPRED was reported instead of UNDEF llvm-svn: 183608
-
Logan Chien authored
Several LLVM headers are moved. The code listings in LLVM tutorial are not updated yet. This CL removes the code replica in the .rst, and replace them with a literalinclude directive, so that sphinx can include the latest code automatically. llvm-svn: 183607
-
Shuxin Yang authored
r183584 tries to derive some info from the code *AFTER* a call and apply these derived info to the code *BEFORE* the call, which is not always safe as the call in question may never return, and in this case, the derived info is invalid. Thank Duncan for pointing out this potential bug. rdar://14073661 llvm-svn: 183606
-
Sean Silva authored
sys::IdentifyFileType is already conscious of the length, and object_error::invalid_file_type is returned below anyway if sys::IdentifyFileType doesn't recognize the file. llvm-svn: 183605
-
JF Bastien authored
llvm-svn: 183601
-
Akira Hatanaka authored
destination operands of an instruction. No functionality changes. llvm-svn: 183596
-
Quentin Colombet authored
instantiation issue with non-standard type. Add a backend option to warn on a given stack size limit. 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: 183595
-
Vincent Lejeune authored
This is using a hint from AMD APP OpenCL Programming Guide with empirically tweaked parameters. I used Unigine Heaven 3.0 to determine best parameters on my system (i7 2600/Radeon 6950/Kernel 3.9.4) the benchmark : it went from 38.8 average fps to 39.6, which is ~3% gain. (Lightmark 2008.2 gain is much more marginal: from 537 to 539) There is no lit test provided as the parameter were determined empirically and it it would be nearly impossiblet to find a test program that check for optimal behavior. llvm-svn: 183593
-
Vincent Lejeune authored
llvm-svn: 183592
-
Jakob Stoklund Olesen authored
llvm-svn: 183589
-
Jakob Stoklund Olesen authored
llvm-svn: 183587
-
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
-
-
Quentin Colombet authored
llvm-svn: 183574
-
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
-
Rui Ueyama authored
llvm-svn: 183562
-
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
-