summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PR3353, infinitely jump threading an infinite loop make from switches.Chris Lattner2009-01-192-0/+26
| | | | llvm-svn: 62529
* compile-time fmod was done incorrectly. PR 3316.Dale Johannesen2009-01-192-2/+81
| | | | llvm-svn: 62528
* DebugInfo is a lightweight APIs and consumers are expected to use light ↵Devang Patel2009-01-191-59/+0
| | | | | | objects directly. There is no need to support isa<>, dyn_cast<> etc... llvm-svn: 62527
* Verify Intrinsic::dbg_declare. Devang Patel2009-01-193-10/+8
| | | | llvm-svn: 62526
* Add targets to support the installation of clang in isolation.Mike Stump2009-01-191-0/+13
| | | | llvm-svn: 62522
* DIVREM isel deficiency: If sign bit is known zero, zero out DX/EDX/RDX ↵Evan Cheng2009-01-192-1/+8
| | | | | | instead of sign extending the low part (in AX/EAX/RAX) into it. llvm-svn: 62519
* Fix 80 col violations.Evan Cheng2009-01-191-2/+2
| | | | llvm-svn: 62518
* Handle ISD::DECLARE with PIC relocation model.Evan Cheng2009-01-191-4/+15
| | | | llvm-svn: 62516
* Port this test from dejagnu to unit testing.Nick Lewycky2009-01-192-30/+25
| | | | | | | | The way this worked before was to test APInt by running "lli -force-interpreter=true" knowing the lli uses APInt under the hood to store its values. Now, we test APInt directly. llvm-svn: 62514
* Fix typo, sentence fragment.Nick Lewycky2009-01-191-2/+2
| | | | llvm-svn: 62512
* Adding your's truly to CREDITS.TXTDan Villiom Podlaski Christiansen2009-01-191-0/+8
| | | | | | (This is also a test commit.) llvm-svn: 62511
* Temporarily revert r62487. It's causing this error during a release bootstrap ofBill Wendling2009-01-192-77/+3
| | | | | | | | | | | | | | | | llvm-gcc. Most likely, it's miscompiling one of the "gen*" programs: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./prev-gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./prev-gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.6.0/bin/ -c -g -O2 -mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -mdynamic-no-pic -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/build -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -o build/gencondmd.o build/gencondmd.c ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected '}' before ')' token ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: warning: excess elements in struct initializer ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: warning: (near initialization for 'insn_conditions[4]') ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected '}' before ')' token ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected ',' or ';' before ')' token ../../llvm-gcc.src/gcc/config/i386/mmx.md:927: error: expected identifier or '(' before ',' token ../../llvm-gcc.src/gcc/config/i386/sse.md:3458: error: expected identifier or '(' before ',' token ... llvm-svn: 62506
* Minor tweak to LowerUINT_TO_FP_i32. Bias (after scalar_to_vector) has two ↵Evan Cheng2009-01-191-2/+2
| | | | | | | | | | | | | | | | | | | uses so we should make it the second source operand of ISD::OR so 2-address pass won't have to be smart about commuting. %reg1024<def> = MOVSDrm %reg0, 1, %reg0, <cp#0>, Mem:LD(8,8) [ConstantPool + 0] %reg1025<def> = MOVSD2PDrr %reg1024 %reg1026<def> = MOVDI2PDIrm <fi#-1>, 1, %reg0, 0, Mem:LD(4,16) [FixedStack-1 + 0] %reg1027<def> = ORPSrr %reg1025<kill>, %reg1026<kill> %reg1028<def> = MOVPD2SDrr %reg1027<kill> %reg1029<def> = SUBSDrr %reg1028<kill>, %reg1024<kill> %reg1030<def> = CVTSD2SSrr %reg1029<kill> MOVSSmr <fi#0>, 1, %reg0, 0, %reg1030<kill>, Mem:ST(4,4) [FixedStack0 + 0] %reg1031<def> = LD_Fp32m80 <fi#0>, 1, %reg0, 0, Mem:LD(4,16) [FixedStack0 + 0] RET %reg1031<kill>, %ST0<imp-use,kill> The reason 2-addr pass isn't smart enough to commute the ORPSrr is because it can't look pass the MOVSD2PDrr instruction. llvm-svn: 62505
* Now not UINT_TO_FP is legal (it's marked custom), dag combiner won'tEvan Cheng2009-01-192-1/+9
| | | | | | optimize it to a SINT_TO_FP when the sign bit is known zero. X86 isel should perform the optimization itself. llvm-svn: 62504
* Fix PR3016, a bug which can occur do to an invalid assumption:Chris Lattner2009-01-192-2/+107
| | | | | | | | | we assumed a CFG structure that would be valid when all code in the function is reachable, but not all code is necessarily reachable. Do a simple, but horrible, CFG walk to check for this case. llvm-svn: 62487
* reduce indentation by using 'continue', no functionality change.Chris Lattner2009-01-191-20/+22
| | | | llvm-svn: 62477
* Fix some problems in SpeculativelyExecuteBB. Basically,Chris Lattner2009-01-191-5/+16
| | | | | | | | | | because of dead code, a phi could use the speculated instruction that was not in "BB2". Make this check explicit and tighten up some other corners. This fixes PR3292. No testcase becauase this depends entirely on visitation order of blocks and requires a sequence of 8 passes to repro. llvm-svn: 62476
* Make this a bit more explicit about which cases need the Chris Lattner2009-01-181-2/+6
| | | | | | check. No functionality change. llvm-svn: 62474
* Fix rdar://6505632, an llc crash on 483.xalancbmkChris Lattner2009-01-182-1/+38
| | | | llvm-svn: 62470
* Few targets like PIC16 wants libcall generation for illegal type i16.Sanjiv Gupta2009-01-183-4/+20
| | | | llvm-svn: 62467
* CMake: Add lib/Analysis/CaptureTracking.cppOscar Fuentes2009-01-181-0/+1
| | | | llvm-svn: 62462
* BasicAliasAnalysis and FunctionAttrs were bothDuncan Sands2009-01-184-133/+144
| | | | | | | | | doing very similar pointer capture analysis. Factor out the common logic. The new version is from FunctionAttrs since it does a better job than the version in BasicAliasAnalysis llvm-svn: 62461
* Simplify extract element based on comments from Duncan Sands.Mon P Wang2009-01-181-7/+3
| | | | llvm-svn: 62459
* Forgot this in the previous checkin: fopen now has nocapture, realloc isNick Lewycky2009-01-181-2/+2
| | | | | | supposed to take two arguments. llvm-svn: 62457
* Fix copy and pasted typos that prevented strtok_r, realloc, getenv, ungetc,Nick Lewycky2009-01-181-22/+152
| | | | | | | | | | | | | | | | | | | putc, puts, perror, vscanf and vsscanf from getting annotations. Add annotations for eight printf functions, memalign, pread and pwrite. On Linux, llvm-gcc sometimes renames strdup, getc, putc, strtok_r, scanf and sscanf. Match the alternate function names. Fix a crash annotating opendir. Don't mark fsetpos's second parameter as nocapture. It's supposed to be captured. Do mark fopen's path and mode strings as nocapture. Mark ferror as readonly, but not fileno which may set errno. llvm-svn: 62456
* add a commentGabor Greif2009-01-181-0/+1
| | | | llvm-svn: 62436
* switch over some other methods from indices to iteratorsGabor Greif2009-01-171-8/+8
| | | | llvm-svn: 62430
* make comparisons a bist fasterGabor Greif2009-01-171-5/+3
| | | | llvm-svn: 62428
* Remove tabs.Devang Patel2009-01-171-19/+19
| | | | llvm-svn: 62423
* Refactor codeDevang Patel2009-01-171-118/+73
| | | | llvm-svn: 62421
* Testcase for last commit.Bill Wendling2009-01-171-0/+31
| | | | llvm-svn: 62418
* Extend thiBill Wendling2009-01-171-11/+12
| | | | llvm-svn: 62415
* Fix MatchAddress bug that's preventing negative displacement from being ↵Evan Cheng2009-01-173-15/+32
| | | | | | folded in 64-bit mode. llvm-svn: 62413
* Assign argument type to appropriate DIE.Devang Patel2009-01-171-2/+2
| | | | llvm-svn: 62412
* Remove dead code.Devang Patel2009-01-171-14/+2
| | | | llvm-svn: 62410
* Disable composite type debug info for now.Devang Patel2009-01-171-0/+3
| | | | llvm-svn: 62406
* Temporarily revert my last change. It is causing a bootstrap failure.Bill Wendling2009-01-171-0/+4
| | | | llvm-svn: 62405
* Implement a special algorithm for converting uint_to_fp for i32 values onBill Wendling2009-01-172-49/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X86. This code: void f() { uint32_t x; float y = (float)x; } used to be: movl %eax, -8(%ebp) movl [2^52 double], -4(%ebp) movsd -8(%ebp), %xmm0 subsd [2^52 double], %xmm0 cvtsd2ss %xmm0, %xmm0 Is now: movsd [2^52 double], %xmm0 movsd %xmm0, %xmm1 movd %ecx, %xmm2 orps %xmm2, %xmm1 subsd %xmm0, %xmm1 cvtsd2ss %xmm1, %xmm0 This is faster on X86. Note that there's an extra load of %xmm0 into %xmm1. That will be fixed in a later coalescer fix. llvm-svn: 62404
* CMake: Add lib/Target/IA64/IA64Subtarget.cppOscar Fuentes2009-01-171-0/+1
| | | | llvm-svn: 62394
* speed up iterative loop by using iterators. changes direction, but ↵Gabor Greif2009-01-171-4/+4
| | | | | | | | functionally equivalent if this works out, I'll change the others next. llvm-svn: 62385
* introduce typedef for complicated vector, and use it tooGabor Greif2009-01-172-2/+3
| | | | llvm-svn: 62384
* Simplify extract element of a scalar to vector.Mon P Wang2009-01-172-5/+26
| | | | llvm-svn: 62383
* typoGabor Greif2009-01-161-1/+1
| | | | llvm-svn: 62377
* Fix PPC ISD::Declare isel and eliminate the need for ↵Evan Cheng2009-01-163-4/+40
| | | | | | PPCTargetLowering::LowerGlobalAddress to check if isVerifiedDebugInfoDesc() is true. Given the recent changes, it would falsely return true for a lot of GlobalAddressSDNode's. llvm-svn: 62373
* Support for multi-valued options in CommandLineMikhail Glushenkov2009-01-163-6/+72
| | | | | | | Makes possible to specify options that take multiple arguments (a-la -sectalign on Darwin). See documentation for details. llvm-svn: 62372
* Give IA64 a TargetSubtarget subclass, so that it canDan Gohman2009-01-163-0/+49
| | | | | | implement getSubtargetImpl. llvm-svn: 62369
* Instead of adding dependence edges between terminator instructionsDan Gohman2009-01-167-26/+70
| | | | | | | | | | | | | | and every other instruction in their blocks to keep the terminator instructions at the end, teach the post-RA scheduler how to operate on ranges of instructions, and exclude terminators from the range of instructions that get scheduled. Also, exclude mid-block labels, such as EH_LABEL instructions, and schedule code before them separately from code after them. This fixes problems with the post-RA scheduler moving code past EH_LABELs. llvm-svn: 62366
* If an anti-dependence uses a non-allocatable register, set AntiDepRegDan Gohman2009-01-161-1/+3
| | | | | | | to 0, to ensure that the subsequent code doesn't try to break the dependence. llvm-svn: 62365
* Use the getNode() accessor instead of accessing the NodeDan Gohman2009-01-161-1/+1
| | | | | | member directly, which is private as of r55504. llvm-svn: 62364
* Disable the post-RA scheduler on this test, since it uses aDan Gohman2009-01-161-1/+2
| | | | | | | simple %prcontext which doesn't find what it's looking for if the scheduler has rearranged the instructions. llvm-svn: 62363
OpenPOWER on IntegriCloud