#
4f3615de |
| 01-Jun-2012 |
Chris Lattner <sabre@nondot.org> |
rearrange some logic, no functionality change.
llvm-svn: 157796
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
f8bad080 |
| 10-Apr-2012 |
Evan Cheng <evan.cheng@apple.com> |
Fix a long standing tail call optimization bug. When a libcall is emitted legalizer always use the DAG entry node. This is wrong when the libcall is emitted as a tail call since it effectively folds
Fix a long standing tail call optimization bug. When a libcall is emitted legalizer always use the DAG entry node. This is wrong when the libcall is emitted as a tail call since it effectively folds the return node. If the return node's input chain is not the entry (i.e. call, load, or store) use that as the tail call input chain.
PR12419 rdar://9770785 rdar://11195178
llvm-svn: 154370
show more ...
|
#
46a9f016 |
| 20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code)
llvm-svn: 148578
|
#
a5054ad2 |
| 20-Jan-2012 |
Kostya Serebryany <kcc@google.com> |
Extend Attributes to 64 bits
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 ch
Extend Attributes to 64 bits
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
show more ...
|
#
75d7d5e9 |
| 14-Dec-2011 |
Dan Gohman <gohman@apple.com> |
Move Instruction::isSafeToSpeculativelyExecute out of VMCore and into Analysis as a standalone function, since there's no need for it to be in VMCore. Also, update it to use isKnownNonZero and other
Move Instruction::isSafeToSpeculativelyExecute out of VMCore and into Analysis as a standalone function, since there's no need for it to be in VMCore. Also, update it to use isKnownNonZero and other goodies available in Analysis, making it more precise, enabling more aggressive optimization.
llvm-svn: 146610
show more ...
|
#
50f02cb2 |
| 02-Dec-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Move global variables in TargetMachine into new TargetOptions class. As an API change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow.
One small functionality c
Move global variables in TargetMachine into new TargetOptions class. As an API change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow.
One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it.
llvm-svn: 145714
show more ...
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
#
229907cd |
| 18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks.
llvm-svn: 135375
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2 |
|
#
b1f3b498 |
| 19-Mar-2011 |
Evan Cheng <evan.cheng@apple.com> |
Minor code re-structuring.
llvm-svn: 127952
|
Revision tags: llvmorg-2.9.0-rc1 |
|
#
d4b0873c |
| 30-Nov-2010 |
Evan Cheng <evan.cheng@apple.com> |
Enable sibling call optimization of libcalls which are expanded during legalization time. Since at legalization time there is no mapping from SDNode back to the corresponding LLVM instruction and the
Enable sibling call optimization of libcalls which are expanded during legalization time. Since at legalization time there is no mapping from SDNode back to the corresponding LLVM instruction and the return SDNode is target specific, this requires a target hook to check for eligibility. Only x86 and ARM support this form of sibcall optimization right now. rdar://8707777
llvm-svn: 120501
show more ...
|
#
e8360b71 |
| 29-Oct-2010 |
John Thompson <John.Thompson.JTSoftware@gmail.com> |
Inline asm multiple alternative constraints development phase 2 - improved basic logic, added initial platform support.
llvm-svn: 117667
|
Revision tags: llvmorg-2.8.0 |
|
#
aadc5596 |
| 06-Oct-2010 |
Dan Gohman <gohman@apple.com> |
ComputeLinearIndex doesn't need its TLI argument.
llvm-svn: 115792
|
Revision tags: llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
fa60b0ee |
| 26-Jul-2010 |
Bill Wendling <isanbard@gmail.com> |
Using llvm.eh.catch.all.value instead of .llvm.eh.catch.all.value.
llvm-svn: 109462
|
#
55f0c6b9 |
| 15-Jul-2010 |
Evan Cheng <evan.cheng@apple.com> |
Split -enable-finite-only-fp-math to two options: -enable-no-nans-fp-math and -enable-no-infs-fp-math. All of the current codegen fp math optimizations only care whether the fp arithmetics arguments
Split -enable-finite-only-fp-math to two options: -enable-no-nans-fp-math and -enable-no-infs-fp-math. All of the current codegen fp math optimizations only care whether the fp arithmetics arguments and results can never be NaN.
llvm-svn: 108465
show more ...
|
Revision tags: llvmorg-2.7.0 |
|
#
450aa64f |
| 21-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Move several SelectionDAG-independent utility functions out of the SelectionDAG directory and into a new Analysis.cpp file.
llvm-svn: 101975
|